Цитата:
Что бы была активная только одна галка, а при активации любой другой предыдущая автоматически выключалась.
Разбирайтесь с этим: Получение и обработка сообщений в немодальных окнах Кибор
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]));
}
#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]));
}