Zireael |
Отправлено: 13 Августа, 2019 - 01:44:37
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: edit1=CreateWindow(0, "EDIT", "", WS_VISIBLE | WS_CHILD | WS_BORDER, 10, 10, 100, 21, gethwnd(0), 0, 0, 0);
Есть ли возможность писать длинный текст в данном EDIT?
CODE:#define WS_CHILD 1073741824
#define WS_VISIBLE 268435456
#define WS_BORDER 8388608
#define ES_AUTOHSCROLL 128
#define ES_AUTOVSCROLL 64
#define ES_MULTILINE 4
#define ES_WANTRETURN 4096
#define WS_VSCROLL 2097152
#define WS_HSCROLL 1048576
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
int edit;
createdialog(0);
showdialog(0, "Диалог",100, 100, 300, 300, 1, 1);
loop()sleep(10);
function getmessage(0, WM_CREATE)
{
edit=CreateWindow(0, "EDIT", "", WS_VISIBLE | WS_CHILD | WS_BORDER | WS_VSCROLL | WS_HSCROLL |
ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_MULTILINE | ES_WANTRETURN, 10, 10, 150, 120, gethwnd(0), 0, 0, 0);
}
Не нужные флаги можно убрать. |
|
|
Budni |
Отправлено: 13 Августа, 2019 - 12:52:04
|
Специалист
Покинул форум
Сообщений всего: 419
Дата рег-ции: Март 2018
Репутация: 2
|
В чем ошибка? Как сделать когда галочку снимаешь исполнялся код после else
CODE:#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define BS_AUTOCHECKBOX 3
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
int b[5];
createdialog(0);
showdialog(0, "Диалог",100, 100, 300, 300, 1, 1);
win w=window (-1, "MozillaWindowClass", -1);
loop()sleep(1);
function getmessage(0, WM_COMMAND)
{
if (message.lparam==b[0])messagebox ("кнопка");
if (message.lparam==b[1]) {transparency (-1, w);}
else transparency (100, w);
}
function getmessage(0, WM_CREATE)
{
b[0]=CreateWindow(0, "BUTTON", "Кнопка", WS_VISIBLE | WS_CHILD, 10, 10, 120, 30, gethwnd(0), 0, 0, 0);
b[1]=CreateWindow(0, "BUTTON", "Галка", WS_VISIBLE | WS_CHILD | BS_AUTOCHECKBOX, 10, 50, 120, 30, gethwnd(0), 0, 0, 0);
} |
|
|
Kibor |
Отправлено: 13 Августа, 2019 - 13:04:01
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Budni пишет: Как сделать когда галочку снимаешь исполнялся код после else
CODE:#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define BS_AUTOCHECKBOX 3
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
int b[5];
createdialog(0);
showdialog(0, "Диалог",100, 100, 300, 300, 1, 1);
int flag=0;
win w=window (-1, "MozillaWindowClass", -1);
loop()sleep(1);
function getmessage(0, WM_COMMAND)
{
if (message.lparam==b[0])messagebox ("кнопка");
if (message.lparam==b[1])
{
if(flag){flag=0; transparency (100, w);}
else {flag=1; transparency (-1, w);}
}
}
function getmessage(0, WM_CREATE)
{
b[0]=CreateWindow(0, "BUTTON", "Кнопка", WS_VISIBLE | WS_CHILD, 10, 10, 120, 30, gethwnd(0), 0, 0, 0);
b[1]=CreateWindow(0, "BUTTON", "Галка", WS_VISIBLE | WS_CHILD | BS_AUTOCHECKBOX, 10, 50, 120, 30, gethwnd(0), 0, 0, 0);
} |
|
|
ivantu |
Отправлено: 25 Сентября, 2019 - 09:40:04
|
Эксперт
Покинул форум
Сообщений всего: 732
Дата рег-ции: Нояб. 2013
Репутация: 14
|
Друзья, подскажите пожалуйста как можно обрабатывать сообщения от окон, игнорируя паузы в скрипте, просто по логике в программе есть паузы от 1сек - 3 , и зачастую от этих пауз страдает визуальная составляющая, т.к. диалог начинает выжидать, а затем обрабатывать команды, вот пример:
CODE:
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
int btn;
createdialog(0);
showdialog(0, "Диалог",150, 200, 400, 300, 1, 0);
loop()pause(5000);
function getmessage (0, WM_CREATE)
{
btn=CreateWindow(0, "BUTTON", "Первая кнопка", 1342177280, 10, 10, 120, 30, gethwnd(0), 0, 0, 0);
}
function getmessage(0, WM_COMMAND)
{
if (message.lparam==btn)messagebox ("Первая кнопка");
}
|
|
|
Dantes3000 |
Отправлено: 25 Сентября, 2019 - 10:11:17
|
Эксперт
Покинул форум
Сообщений всего: 1489
Дата рег-ции: Июнь 2016
Репутация: 58
|
ivantu ,
CODE:external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
int btn;
createdialog(0);
showdialog(0, "Диалог",150, 200, 400, 300, 1, 0);
loop() pause_(5000);
function getmessage (0, WM_CREATE)
{
btn=CreateWindow(0, "BUTTON", "Первая кнопка", 1342177280, 10, 10, 120, 30, gethwnd(0), 0, 0, 0);
}
function getmessage(0, WM_COMMAND)
{
if (message.lparam==btn)messagebox ("Первая кнопка");
}
function pause_(int s)
{
looptime(s) sleep(100);
} |
|
|
ivantu |
Отправлено: 25 Сентября, 2019 - 10:28:04
|
Эксперт
Покинул форум
Сообщений всего: 732
Дата рег-ции: Нояб. 2013
Репутация: 14
|
Dantes3000 принципиально не использую sleep в коде, от него Диалог дергается при перемещении... вот и получается замкнутый круг, как всегда все бы вроде хорошо, бац... какая то фигня вылазит.
(Добавление)
Сорян, все работает, Спасибо, извиняюсь.
Код (Отобразить)CODE:external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
int btn;
createdialog(0);
showdialog(0, "Диалог",150, 200, 400, 300, 1, 0);
loop() {pause_(5000);
messagebox("Прошло 5 сек...");}
function getmessage (0, WM_CREATE)
{
btn=CreateWindow(0, "BUTTON", "Первая кнопка", 1342177280, 10, 10, 120, 30, gethwnd(0), 0, 0, 0);
}
function getmessage(0, WM_COMMAND)
{
if (message.lparam==btn)messagebox ("Первая кнопка");
}
function pause_(int s)
{
looptime(s) pause(100);
} (Отредактировано автором: 25 Сентября, 2019 - 10:41:05) |
|
|
Dantes3000 |
Отправлено: 25 Сентября, 2019 - 10:38:59
|
Эксперт
Покинул форум
Сообщений всего: 1489
Дата рег-ции: Июнь 2016
Репутация: 58
|
ivantu , так без проблем...
Спойлер (Отобразить)CODE:external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
int btn;
createdialog(0);
showdialog(0, "Диалог",150, 200, 400, 300, 1, 0);
loop() pause_(5000);
function getmessage (0, WM_CREATE)
{
btn=CreateWindow(0, "BUTTON", "Первая кнопка", 1342177280, 10, 10, 120, 30, gethwnd(0), 0, 0, 0);
}
function getmessage(0, WM_COMMAND)
{
if (message.lparam==btn)messagebox ("Первая кнопка");
}
function pause_(int s)
{
looptime(s) pause(100);
} |
|
|
ivantu |
Отправлено: 25 Сентября, 2019 - 10:51:18
|
Эксперт
Покинул форум
Сообщений всего: 732
Дата рег-ции: Нояб. 2013
Репутация: 14
|
Dantes3000 пишет: pause_(rand(1000, 5000)); //пауза от 1 до 5 сек
Благодарю(Отредактировано автором: 25 Сентября, 2019 - 11:05:33) |
|
|
|