konctantin777 |
Отправлено: 25 Сентября, 2022 - 14:05:19
|
Эксперт
Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017
Откуда: Архангельск
Репутация: 6
|
В виз редакторе кубик с диалогом, кубик клик esc, кубик мессаги. Если кибор активен (клик на диалог), то закрывается не доходя до сообщения. Так и должно быть ? В настройках только по 3м клавишам и др. информации нет.
CODE:createdialog(0);
showdialog(0, "Диалог", 835, 390, 250, 300, 1, 1);
//////////
Key(0, W_Kib, 5000, 27, "mail@mail.com - Почта", "Клик", 100);
messagebox("Текст");
(Отредактировано автором: 25 Сентября, 2022 - 14:07:38) |
|
|
konctantin777 |
Отправлено: 28 Сентября, 2022 - 21:04:39
|
Эксперт
Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017
Откуда: Архангельск
Репутация: 6
|
Zireael , не работает. Если меню изначально активно- не закрывается, а если кликнуть на раб. стол и потом на меню- закрывается.
CODE:win W_Kib;
int Size_Key_Char_Kib = -1;
int eX_Kib, eY_Kib;
eX_Kib=W_Kib.widthclient;
eY_Kib=W_Kib.heightclient;
external(INT, "SetFocus", "SetFocus", "User32.dll");
createdialog(0);
//////////
showdialog(0, "Диалог", 835, 390, 250, 300, 1, 1);
//////////
SetFocus(0);
В виз редакторе просто 2кубика зациклил нажатия esc с паузой 100(Отредактировано автором: 28 Сентября, 2022 - 21:05:18) |
|
|
konctantin777 |
Отправлено: 17 Октября, 2023 - 17:46:01
|
Эксперт
Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017
Откуда: Архангельск
Репутация: 6
|
В виз редакторе блок кода с меню, блок кода с SetFocus(0);, и два кубика нажать эск переходят друг на друга.
Если кликать окно- кибор, то он закрывается. Можно ли сделать, чтобы в любом случае не закрывался ?
CODE:win W_Kib;
int Size_Key_Char_Kib = -1;
int eCol_Kib, eX_Kib, eY_Kib;
getdisplay(eCol_Kib, eX_Kib, eY_Kib);
external(INT, "SetFocus", "SetFocus", "User32.dll");
int pos_size_button0[1][4];
string text_button0[1];
int flag_button0[1];
pos_size_button0[0][0]=11; pos_size_button0[0][1]=12; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
text_button0[0]="Запустить";
//////////
createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0]);
//////////
showdialog(0, "Диалог", 835, 390, 250, 300, 1, 1);
SetFocus(0);
KIB_3: Key(0, W_Kib, 100, 27, "mail@mail.com - Почта", "Клик", 100);
Key(0, W_Kib, 100, 27, "mail@mail.com - Почта", "Клик", 100);
goto KIB_3;
function Key(int ew, win w, int p1, int c, string text, string k, int p2)
{
pause(p1);
if (ew==0)
{
if (k=="Клик"){key(c); goto hy;}
if (k=="Нажать"){keydown(c); goto hy;}
if (k=="Отпустить"){keyup(c); goto hy;}
if (k=="Ввод текста"){key(text, 0, 1, getwindow()); goto hy;}
}
if (ew==1)
{
if (k=="Клик"){if ((c>191 && c<256) || c==168 || c==184) sendlanguage("00000419", formatiw(gethwnd())); sendmessage(WM_CHAR, c, 1, w); goto hy;}
if (k=="Нажать"){sendkeydown(c, w); goto hy;}
if (k=="Отпустить"){sendkeyup(c, w); goto hy;}
if (k=="Ввод текста")
{
if (Size_Key_Char_Kib==-1)
{
Size_Key_Char_Kib=100;
new char Key_CHAR[Size_Key_Char_Kib+1];
}
int size_key=size(text);
if (Size_Key_Char_Kib<size_key)
{
delete Key_CHAR;
Size_Key_Char_Kib=size_key;
new char Key_CHAR[Size_Key_Char_Kib+1];
}
strcpy(#Key_CHAR[0], text);
for (int n=0; n<size_key; n++)
{
if ((Key_CHAR[n]>191 && Key_CHAR[n]<256) || Key_CHAR[n]==168 || Key_CHAR[n]==184) sendlanguage("00000419", formatiw(gethwnd()));
sendmessage(WM_CHAR, Key_CHAR[n], 1, w);
sleep(20);
}
}
}
hy: pause (p2);
}
|
|
|
|