Zireael |
Отправлено: 18 Декабря, 2024 - 12:09:16
|


Эксперт

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

|
Цитата: Что бы была активная только одна галка, а при активации любой другой предыдущая автоматически выключалась.
Разбирайтесь с этим: Получение и обработка сообщений в немодальных окнах Кибор
CODE:#define WS_VISIBLE 0x10000000
#define WS_CHILD 0x40000000
#define BS_AUTORADIOBUTTON 9
#define BM_SETCHECK 241
#define BST_CHECKED 1
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll");
int b[3];
int flag_radiobutton = 1;
createdialog(0);
showdialog(0, "Диалог", 100, 100, 300, 200, 1, 1);
textbkcolor(0, rgb(0, 255, 0));
loop()
{
textout(0, 0, 0, "Выбрана галка: "+format(flag_radiobutton), 0);
sleep(100);
}
function getmessage(0, WM_COMMAND)
{
if (message.lparam==b[0])flag_radiobutton=0;
if (message.lparam==b[1])flag_radiobutton=1;
if (message.lparam==b[2])flag_radiobutton=2;
}
function getmessage(0, WM_CREATE)
{
b[0]=CreateWindow(0, "BUTTON", "Check0", WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON, 20, 10, 70, 20, gethwnd(0), 0, 0, 0);
b[1]=CreateWindow(0, "BUTTON", "Check1", WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON, 20, 35, 70, 20, gethwnd(0), 0, 0, 0);
b[2]=CreateWindow(0, "BUTTON", "Check2", WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON, 20, 60, 70, 20, gethwnd(0), 0, 0, 0);
sendmessage(BM_SETCHECK, BST_CHECKED, 0, formatiw(b[flag_radiobutton]));
} |
|
|
Evgeniy-39rus |
Отправлено: 18 Декабря, 2024 - 20:53:12
|


Участник

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

|
konctantin777 , отличная идея, почему я сам не догадался. А где почитать как сделать управление в когику от комбо?
(Добавление)
Zireael , спасибо
CODE:int pos_size_combo0[1][4];
string text_combo0[1][3];
int strok_combo0[1];
int flag_combo0[1];
pos_size_combo0[0][0]=8; pos_size_combo0[0][1]=30; pos_size_combo0[0][2]=131; pos_size_combo0[0][3]=80;
strok_combo0[0]=3;
text_combo0[0][0]="АРЕНА"; text_combo0[0][1]="ТЕМНЫЙ СОБОР"; text_combo0[0][2]="ПОДЗЕМЕЛЬЕ";
flag_combo0[0]=0;
//////////
int pos_size_static0[3][4];
string text_static0[3];
pos_size_static0[0][0]=9; pos_size_static0[0][1]=7; pos_size_static0[0][2]=138; pos_size_static0[0][3]=17;
pos_size_static0[1][0]=8; pos_size_static0[1][1]=90; pos_size_static0[1][2]=123; pos_size_static0[1][3]=20;
pos_size_static0[2][0]=8; pos_size_static0[2][1]=108; pos_size_static0[2][2]=133; pos_size_static0[2][3]=213;
text_static0[0]="Выбери режим из списка"; text_static0[1]="Кнопка Z Старт\Стоп"; text_static0[2]="Кнопка Х Закрыть бота";
//////////
createdialog(0, COMBO, #pos_size_combo0[0][0], #text_combo0[0][0], #strok_combo0[0], #flag_combo0[0] |
STATIC, #pos_size_static0[0][0], #text_static0[0]);
//////////
showdialog(0, "
БОТ", 3, 427, 150, 162, 2, 1);
//////////
loop() sleep(10);//Убрать после теста
после выбора в списке должна пойти команда в свою из трёх логик. Как это реализовать. Там далее в логиках идут блоки findimage. Надо логику вставить в функцию и уже в коде управления списком комбо отправлять к своей функции?
Или можно использовать переходы goto mark? |
|
|
Zireael |
Отправлено: 19 Декабря, 2024 - 11:50:42
|


Эксперт

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

|
Цитата: после выбора в списке должна пойти команда в свою из трёх логик. Как это реализовать.
CODE:int pos_size_combo0[1][4];
string text_combo0[1][3];
int strok_combo0[1];
int flag_combo0[1];
pos_size_combo0[0][0]=8; pos_size_combo0[0][1]=30; pos_size_combo0[0][2]=131; pos_size_combo0[0][3]=80;
strok_combo0[0]=3;
text_combo0[0][0]="АРЕНА"; text_combo0[0][1]="ТЕМНЫЙ СОБОР"; text_combo0[0][2]="ПОДЗЕМЕЛЬЕ";
flag_combo0[0]=0;
int pos_size_static0[3][4];
string text_static0[3];
pos_size_static0[0][0]=9; pos_size_static0[0][1]=7; pos_size_static0[0][2]=138; pos_size_static0[0][3]=17;
pos_size_static0[1][0]=8; pos_size_static0[1][1]=90; pos_size_static0[1][2]=123; pos_size_static0[1][3]=20;
pos_size_static0[2][0]=8; pos_size_static0[2][1]=108; pos_size_static0[2][2]=133; pos_size_static0[2][3]=213;
text_static0[0]="Выбери режим из списка"; text_static0[1]="Кнопка Z Старт\Стоп"; text_static0[2]="Кнопка Х Закрыть бота";
createdialog(0, COMBO, #pos_size_combo0[0][0], #text_combo0[0][0], #strok_combo0[0], #flag_combo0[0] |
STATIC, #pos_size_static0[0][0], #text_static0[0]);
showdialog(0, "БОТ", 3, 427, 150, 162, 2, 1);
// ждём нажатия клавиши Z
while(getkeystate(90)==0)sleep(10);
while(getkeystate(90)==1)sleep(10);
// вместо messgagebox можно сделать переход goto к нужной метке
if(flag_combo0[0]==0)messagebox(text_combo0[0][0]);
if(flag_combo0[0]==1)messagebox(text_combo0[0][1]);
if(flag_combo0[0]==2)messagebox(text_combo0[0][2]); |
|
|
|