Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: 2. Можно ли как-то в онлайн режиме скрывать и добавлять элементы в это окно?
Можно. Версия 5.50 Получение и обработка сообщений в немодальных окнах Кибор
Пример (Отобразить)CODE:#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define WS_BORDER 8388608
#define SW_SHOW 5
#define SW_HIDE 0
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll");
external(INT, "ShowWindow", "ShowWindow", "User32.dll");
external(INT, "SetWindowText", "SetWindowTextA", "User32.dll");
int button0[2];
int flag_button0[2]={0, 0};
createdialog(0);
showdialog(0, "Диалог",100, 100, 300, 150, 1, 1);
loop()
{
// тут скрипт
if(flag_button0[1]==1)
{
flag_button0[1]=0;
messagebox("Нажата кнопка");
}
sleep(10);
}
function getmessage(0, WM_CREATE)
{
// создать нужные контролы
button0[0]=CreateWindow(0, "BUTTON", "Скрыть кнопку", WS_BORDER | WS_CHILD | WS_VISIBLE, 20, 10, 130, 24, gethwnd(0), 0, 0, 0);
button0[1]=CreateWindow(0, "BUTTON", "Кнопка", WS_BORDER | WS_CHILD | WS_VISIBLE, 20, 40, 70, 24, gethwnd(0), 0, 0, 0);
}
function getmessage(0, WM_COMMAND)
{
if (message.lparam==button0[0]) // если нажата кнопка
{
if(flag_button0[0])
{
flag_button0[0]=0;
SetWindowText(button0[0], "Скрыть кнопку"); // изменить текст кнопки
ShowWindow(button0[1], SW_SHOW); // показать вторую кнопку
}
else
{
flag_button0[0]=1;
SetWindowText(button0[0], "Показать кнопку");
ShowWindow(button0[1], SW_HIDE);
}
return;
}
if (message.lparam==button0[1]) // если нажата кнопка
{
flag_button0[1]=1;
return;
}
} |