Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Создавать контрол используя winapi.
Пример, переименовать контрол (Отобразить)CODE:#define WS_VISIBLE 0x10000000
#define WS_CHILD 0x40000000
#define BS_AUTOCHECKBOX 0x00000003
#define BM_GETSTATE 0x00F2
#define WM_GETFONT 0x0031
#define TRUE 1
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll");
external(INT, "CreateFont", "CreateFontA", "Gdi32.dll");
external(INT, "SetWindowText", "SetWindowTextA", "User32.dll");
int check0;
createdialog(0);
showdialog(0, "Dialog",500, 400, 300, 300, 1, 1);
loop()
{
pause(1000);
SetWindowText(check0, "Гал---ка 0"); // переименовать галку
pause(1000);
SetWindowText(check0, "Галка 0"); // переименовать галку
}
// вызов функции при создании окна
function getmessage(0, WM_CREATE)
{
int h_font = CreateFont(-12, 0, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, "Times New Roman"); // создать шрифт
check0=CreateWindow(0, "BUTTON", "Галка 0", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE , 30, 60, 100, 20, gethwnd(0), 0, 0, 0); // создать кнопку
sendmessage(WM_SETFONT, h_font, TRUE, formatiw(check0)); // установить шрифт
}
// обработка сообщений
function getmessage(0, WM_COMMAND)
{
if(message.lparam==check0) // если нажата галка
{
// тут нужный код
messagebox("Натажа галка");
return;
}
}
|