Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (16): В начало « 5 6 7 8 [9] 10 11 12 13 » В конец    

> Описание: Продолжение
007wan
Отправлено: 25 Мая, 2019 - 15:19:30
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1838
Дата рег-ции: Март 2017  
Репутация: -2




Как узнать, что окно находится поверх над всеми окнами или нет? Так же узнать где находится окно в z-последовательности.
 
 Top
007wan
Отправлено: 27 Мая, 2019 - 11:17:26
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1838
Дата рег-ции: Март 2017  
Репутация: -2




Я замучился искать константы в браузере. Не могу найти уже.
Ссылка из первой темы external на 6 странице. Не нашел. В поиске "#define ES_NUMBER 0" не помогло.
(Добавление)
И где найти стили Edit? я нашел стили только "функциональные" вот А мне надо стили "красоты" для контрола. Именно изменить рамку эдита
(Добавление)
Что бы рамка была "впуклая"
(Добавление)
Утопленной рамкой эдит.
(Добавление)
А вообще можно ли для эдита прикрепить стрелочки вверх и вниз треугольные, я видел такой контрол где-то
(Добавление)
А можно ли и как-то модифицировать это? А то показывает не точно. Сравнивал с гаджетом винды.
Узнать ЦП (Отобразить)
 
 Top
007wan
Отправлено: 27 Мая, 2019 - 14:12:45
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1838
Дата рег-ции: Март 2017  
Репутация: -2




Код (Отобразить)
Как отдельный эдит сделать из этого примера с утопленной рамкой? где combo1
 
 Top
Zireael
Отправлено: 27 Мая, 2019 - 14:28:42
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4397
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
Утопленной рамкой эдит.

CODE:
#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define WS_BORDER 8388608
#define WS_EX_CLIENTEDGE 512
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );

int edit;

createdialog(0);
showdialog(0, "Диалог", 100, 100, 300, 300, 1, 1);

loop()sleep(1);

function getmessage(0, WM_CREATE)
{
edit=CreateWindow(WS_EX_CLIENTEDGE, "EDIT", "", WS_VISIBLE | WS_CHILD | WS_BORDER, 10, 10, 100, 25, gethwnd(0), 0, 0, 0);
}
 
 Top
007wan
Отправлено: 27 Мая, 2019 - 14:42:33
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1838
Дата рег-ции: Март 2017  
Репутация: -2




Zireael , Спасибо. Буду изучать...
Я по параметру WS_EX_CLIENTEDGE нашел статью одну хорошую . Я пока в этом не шарю, но быть может эти параметры помогут создать Tab? там есть что-то типа "окно является многослойным"

(Отредактировано автором: 27 Мая, 2019 - 14:43:01)

 
 Top
007wan
Отправлено: 28 Мая, 2019 - 10:26:04
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1838
Дата рег-ции: Март 2017  
Репутация: -2




Как сделать: Какая функция получает, когда эдит редактируется? Как сделать, что бы при редактировании если число больше 100, то либо 4 символ не введется, либо число в эдите изменится на 100. Если можно, то с каким-нибудь всплывающим окном.
 
 Top
Zireael
Отправлено: 28 Мая, 2019 - 11:38:32
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4397
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
Как сделать, что бы при редактировании если число больше 100, то либо 4 символ не введется, либо число в эдите изменится на 100.

code (Отобразить)
 
 Top
007wan
Отправлено: 28 Мая, 2019 - 11:41:21
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1838
Дата рег-ции: Март 2017  
Репутация: -2




Zireael , Спасибо. Но текст нужно, что бы редактировался до появления в эдите. Как вот пример с "редактирование эдита: ввод только чисел функция"
 
 Top
Kibor
Отправлено: 28 Мая, 2019 - 11:56:49
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 007wan пишет:
Но текст нужно, что бы редактировался до появления в эдите


CODE:
#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define WS_BORDER 8388608
#define ES_NUMBER 8192
#define EM_SETSEL 177
#define EM_LIMITTEXT 197

external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "GetWindowText", "GetWindowTextA", "User32.dll" );
external(INT, "SetWindowText", "SetWindowTextA", "User32.dll" );
external(INT, "SendMessage", "SendMessageA", "User32.dll" );
int edit1;
char buf[99];

createdialog(0);
showdialog(0, "Диалог", 100, 100, 300, 300, 1, 1);


loop()sleep(10);

function getmessage(0, WM_CREATE)
{
edit1=CreateWindow(0, "EDIT", "", WS_VISIBLE | WS_CHILD | WS_BORDER | ES_NUMBER, 10, 10, 100, 20, gethwnd(0), 0, 0, 0);
SendMessage(edit1, EM_LIMITTEXT, 3, 0);
}


function getmessage(0, WM_COMMAND)
{
if(message.lparam==edit1) // если edit редактируется
{
if(GetWindowText(edit1, address(#buf[0]), sizearray(buf))) // получаем текст edit'а'
{
textout(0, 300, 300, format(#buf[0]), 1);
if(formatsn(format(#buf[0]))>100) // если больше 100
{
SetWindowText(edit1, "100"); // меняем текст на 100
sendmessage(EM_SETSEL, size(format(#buf[0])), size(format(#buf[0])), formatiw(edit1)); // ставим курсор в конец текста
}
}
}
}
 
 Top
007wan
Отправлено: 28 Мая, 2019 - 12:07:54
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1838
Дата рег-ции: Март 2017  
Репутация: -2




Kibor , Спасибо. Нашел функцию GetFocus и Set-
CODE:
SetFocus(Hwnd);

Как убрать фокус со всего? Тоесть значение 0 должно стоять по сути, но там пишут, что значения в виде null не принимаются. Я хочу убрать фокус со всего, но боюсь этого невозможно.
(Добавление)
В принципе это не обязательно, но вместо
Код1 (Отобразить)
Можно было бы
Код2 (Отобразить)
 
 Top
Страниц (16): В начало « 5 6 7 8 [9] 10 11 12 13 » В конец
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by