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

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

 Страниц (1): [1]   

> Описание: внутри...
ivantu
Отправлено: 31 Марта, 2021 - 16:49:16
Post Id



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


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




Друзья подскажите пожалуйста, как отловить от что мы нажали на эдит , затем вышли из него , как бы фокус с него пропал, нужно вызвать в этот момент событие,

Задумка после ввода пользователем текста передать его в переменную.
 
 Top
Kibor
Отправлено: 31 Марта, 2021 - 19:16:09
Post Id



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


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




CODE:
#define WS_MINIMIZEBOX 131072
#define WS_MAXIMIZEBOX 65536
#define WS_VISIBLE 268435456
#define WS_CAPTION 12582912
#define WS_SYSMENU 524288
#define WS_CHILD 1073741824
#define WS_BORDER 8388608

#define COLOR_APPWORKSPACE 12

#define WM_LBUTTONDOWN 513
#define WM_COMMAND 273
#define WM_CREATE 1
#define WM_LBUTTONDOWN 513

external(INT, "RegisterClass", "RegisterClassA", "User32.dll" );
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "UnregisterClass", "UnregisterClassA", "User32.dll");

////////////////////
int edit1;

int WinProc=address("WindowProc");
char Class[8]={'m', 'y', 'c', 'l', 'a', 's', 's', 0};
int PWNDCLASS[10];//Структура WNDCLASS
int CLASS=address(#PWNDCLASS[0]);//Указатель на структуру класа
initialarray(#PWNDCLASS[0], 0);//Обнуляем структуру

writeaddress(WinProc, address(#PWNDCLASS[1]));//Указываем адрес функции WindowProc
writeaddress(COLOR_APPWORKSPACE, address(#PWNDCLASS[7]));//Указываем цвет диалога
writeaddress(address(#Class[0]), address(#PWNDCLASS[9]));//Указываем указатель на название класа

if (RegisterClass(CLASS)==0){messagebox("Не удалось зарегистрировать клас"); goto er;}

int Win=CreateWindow(0, address(#Class[0]), "Основное окно",
WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU,
10, 10, 500, 500, 0, 0, 0, 0);

/////////////////////

loop()sleep(10);

er:;


//Тут можно создавать контролы для окна, поскольку оно одно и мы можем указать родительским окном для контролов message.hwnd
function getmessage(WM_CREATE)
{
edit1=CreateWindow(0, "EDIT", "", WS_VISIBLE | WS_CHILD | WS_BORDER, 10, 10, 100, 21, message.hwnd, 0, 0, 0);
}




function getmessage(WM_COMMAND)
{
if(message.lparam == edit1)
{
beep(1000, 100);//Сигнал когда что то вводим или передаем фокус
}
}

function getmessage(WM_CLOSE)
{
UnregisterClass(address(#Class[0]), 0);
goto global er;
}
 
 Top
ivantu
Отправлено: 31 Марта, 2021 - 22:02:22
Post Id



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


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




спасибо, сначала испугался , много букв, потом глянул по моей теме одна строка ))
(Добавление)
Следом по теме Edit , можно ограничить минимальное число 0, максимальное где то видел как делается а вот с минимальным не попадалось.
 
 Top
ivantu
Отправлено: 01 Апреля, 2021 - 07:12:19
Post Id



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


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




Все разобрался.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by