21. Dantes3000 - 02 Февраля, 2019 - 17:23:54 - перейти к сообщению
Ну конечно же это я туплю...как может быть иначе
22. Zireael - 02 Февраля, 2019 - 18:07:20 - перейти к сообщению
Пример как добавить Edit (Отобразить)
В первое поле edit можно вводить только цифры.
Во втором все вводимые символы заменяются на * (по умолчанию). Символ замены можно изменить. Сам текст не меняется, его можно получить GetWindowText.
В третьем можно вводить многострочный текст. Если текст не помещается станут доступны полосы прокрутки.
23. Kibor - 02 Февраля, 2019 - 19:00:09 - перейти к сообщению
Добавил функцию gethwnd
Возвращает HWND созданного диалогового окна с помощью createdialog, для использования в WinApi.
Преимущества получение HWND таким образом в том, что он получается в момент вызова сообщения WM_CREATE.
В обработчике этого сообщения надо создавать все нужные контролы.
Данную функцию можно вызывать и без создания обработчиков сообщений, сразу после createdialog. В этом случае не надо ждать создание окна и получение указателя с помощью window
Синтаксис:
Параметр - номер диалога (0 или 1 или 2)
Или без параметра. Возвращает HWND главного окна.
Пример использования и создание кнопки в обработчике WM_CREATE
Возвращает HWND созданного диалогового окна с помощью createdialog, для использования в WinApi.
Преимущества получение HWND таким образом в том, что он получается в момент вызова сообщения WM_CREATE.
В обработчике этого сообщения надо создавать все нужные контролы.
Данную функцию можно вызывать и без создания обработчиков сообщений, сразу после createdialog. В этом случае не надо ждать создание окна и получение указателя с помощью window
Синтаксис:
CODE:
gethwnd(0);
Параметр - номер диалога (0 или 1 или 2)
CODE:
gethwnd();
Или без параметра. Возвращает HWND главного окна.
Пример использования и создание кнопки в обработчике WM_CREATE
CODE:
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
int b;
//////////
createdialog(0);
showdialog(0, "Диалог", 258, 234, 250, 300, 1, 1);
//////////
loop() sleep(10);//Убрать после теста
function getmessage(0, WM_CREATE)
{
b=CreateWindow(0, "BUTTON", "Первая кнопка", 1342177280, 10, 10, 120, 30, gethwnd(0), 0, 0, 0);
}
function getmessage(0, WM_COMMAND)
{
if (message.lparam==b)messagebox ("Первая кнопка");
}
int b;
//////////
createdialog(0);
showdialog(0, "Диалог", 258, 234, 250, 300, 1, 1);
//////////
loop() sleep(10);//Убрать после теста
function getmessage(0, WM_CREATE)
{
b=CreateWindow(0, "BUTTON", "Первая кнопка", 1342177280, 10, 10, 120, 30, gethwnd(0), 0, 0, 0);
}
function getmessage(0, WM_COMMAND)
{
if (message.lparam==b)messagebox ("Первая кнопка");
}
24. Kibor - 02 Февраля, 2019 - 23:29:49 - перейти к сообщению
Обновил программу.
При загрузке скриптов на сервер использующих новые функции GetMessage необходимо сгенерировать новые запускные файлы.
При загрузке скриптов на сервер использующих новые функции GetMessage необходимо сгенерировать новые запускные файлы.
25. ivantu - 02 Февраля, 2019 - 23:53:40 - перейти к сообщению
Друзья, это просто бомба!!)))
26. Zireael - 03 Февраля, 2019 - 05:25:00 - перейти к сообщению
Пример как добавить combobox (Отобразить)
27. ivantu - 03 Февраля, 2019 - 08:29:02 - перейти к сообщению
Zireael , а интерфейс помаргивает это не исправить?
28. Kibor - 03 Февраля, 2019 - 08:32:47 - перейти к сообщению
ivantu пишет:
интерфейс помаргивает это не исправить?
Он подмаргивает из за включенного обновления в textout
К интерфейсу не относится.
29. Zireael - 03 Февраля, 2019 - 08:34:05 - перейти к сообщению
Цитата:
интерфейс помаргивает это не исправить?
Убрать textout или выводить его не над диалогом изменив последний параметр на 0 или 1.
30. ivantu - 03 Февраля, 2019 - 09:06:39 - перейти к сообщению
Спасибо.