Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Без описания
Geoteh
Отправлено: 17 Ноября, 2023 - 13:42:21
Post Id



Пользователь
Участник


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




с помощью DialogEditor создал 2 диалога, и теперь не совсем понимаю как сделать правильно переходы с одного на другой
есть кнопка (тест) она вызывает другой диалог в котором есть 2 кнопки ( назад и старт), не могу понять как сделать чтоб при нажатие кнопки (назад) или нажать на крестик вернуться в первое окно и можно было вызвать другой диалог с другой кнопки?

сам код что сделал
CODE:
#define WS_VISIBLE 0x10000000
#define WS_CHILD 0x40000000
#define WS_BORDER 0x00800000
#define BS_MULTILINE 0x00002000
#define TRUE 1
#define WM_SETFONT 0x0030
#define RUSSIAN_CHARSET 204

external(INT, "CreateWindow", "CreateWindowExA", "User32.dll");
external(INT, "GetWindowText", "GetWindowTextA", "User32.dll");
external(INT, "SetWindowText", "SetWindowTextA", "User32.dll");
external(INT, "CreateFont", "CreateFontA", "Gdi32.dll");
external(INT, "GetWindowRect", "GetWindowRect", "User32.dll");
external(INT, "DeleteObject", "DeleteObject", "Gdi32.dll");
external(INT, "DeleteFile", "DeleteFileA", "kernel32.dll");
int h_font;
string rn = formatic(13)+formatic(10);
int dialogPosX_0 = 843, dialogPosY_0 = 353;
int button0[5];
int flag_button0[5] = { 0, 0, 0, 0, 0 };

createdialog(0);
showdialog(0, "Диалог0", dialogPosX_0, dialogPosY_0, 261, 192, 4, 1);

loop()
{
if (flag_button0[0]>0)
{
flag_button0[0]=0;//обнулить флаг нажатия кнопки..
//Визуализируем диалог 1
createdialog(1);
showdialog(1, "Диалог1", dialogPosX_1, dialogPosY_1, 393, 287, 4, 1);
goto global end_0;

}
sleep(10);
}
end_0:;

function getmessage(0, WM_CREATE)
{
int i;
h_font = CreateFont(-12, 0, 0, 0, 400, 0, 0, 0, RUSSIAN_CHARSET, 0, 0, 0, 0, "Arial");
button0[0] = CreateWindow(0, "BUTTON", "тест", WS_VISIBLE | WS_CHILD, 32, 32, 80, 20, gethwnd(0), 0, 0, 0);
button0[1] = CreateWindow(0, "BUTTON", "Button1", WS_VISIBLE | WS_CHILD, 128, 32, 80, 20, gethwnd(0), 0, 0, 0);
button0[2] = CreateWindow(0, "BUTTON", "Button2", WS_VISIBLE | WS_CHILD, 32, 64, 80, 20, gethwnd(0), 0, 0, 0);
button0[3] = CreateWindow(0, "BUTTON", "Button3", WS_VISIBLE | WS_CHILD, 128, 64, 80, 20, gethwnd(0), 0, 0, 0);
button0[4] = CreateWindow(0, "BUTTON", "закрыть", WS_VISIBLE | WS_CHILD, 128, 104, 80, 20, gethwnd(0), 0, 0, 0);
for(i=0; i<5; i++)sendmessage(WM_SETFONT, h_font, TRUE, formatiw(button0[i]));
}

function getmessage(0, WM_COMMAND)
{
int i;
for(i=0; i<5; i++) // обработка нажатий кнопок
{
if(message.lparam == button0[i])
{
if(flag_button0[i])flag_button0[i] = 0;
else flag_button0[i] = 1;
return;
}
}
}

function getmessage(0, WM_CLOSE)
{
DeleteObject(h_font);
goto global end_0; // переход в метке
// close(); // закрыть кибор
}


int dialogPosX_1 = 910, dialogPosY_1 = 285;
int button1[2];
int flag_button1[2] = { 0, 0 };

createdialog(1);
showdialog(1, "Диалог1", dialogPosX_1, dialogPosY_1, 326, 178, 4, 1);

loop()
{
// тут нужный код
sleep(10);
}
end_1:;

function getmessage(1, WM_CREATE)
{
int i;
h_font = CreateFont(-12, 0, 0, 0, 400, 0, 0, 0, RUSSIAN_CHARSET, 0, 0, 0, 0, "Arial");
button1[0] = CreateWindow(0, "BUTTON", "назад", WS_VISIBLE | WS_CHILD, 32, 48, 104, 40, gethwnd(1), 0, 0, 0);
button1[1] = CreateWindow(0, "BUTTON", "старт", WS_VISIBLE | WS_CHILD, 152, 48, 104, 40, gethwnd(1), 0, 0, 0);
for(i=0; i<2; i++)sendmessage(WM_SETFONT, h_font, TRUE, formatiw(button1[i]));
}

function getmessage(1, WM_COMMAND)
{
int i;
for(i=0; i<2; i++) // обработка нажатий кнопок
{
if(message.lparam == button1[i])
{
if(flag_button1[i])flag_button1[i] = 0;
else flag_button1[i] = 1;
return;
}
}
}

function getmessage(1, WM_CLOSE)
{
DeleteObject(h_font);
goto global end_1; // переход в метке
// close(); // закрыть кибор
}

 
 Top
Zireael
Отправлено: 17 Ноября, 2023 - 13:56:20
Post Id



Пользователь
Эксперт


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




CODE:
#define WS_VISIBLE 0x10000000
#define WS_CHILD 0x40000000
#define WS_BORDER 0x00800000
#define BS_MULTILINE 0x00002000
#define TRUE 1
#define WM_SETFONT 0x0030
#define RUSSIAN_CHARSET 204

external(INT, "CreateWindow", "CreateWindowExA", "User32.dll");
external(INT, "GetWindowText", "GetWindowTextA", "User32.dll");
external(INT, "SetWindowText", "SetWindowTextA", "User32.dll");
external(INT, "CreateFont", "CreateFontA", "Gdi32.dll");
external(INT, "GetWindowRect", "GetWindowRect", "User32.dll");
external(INT, "DeleteObject", "DeleteObject", "Gdi32.dll");
external(INT, "DeleteFile", "DeleteFileA", "kernel32.dll");
int h_font;
string rn = formatic(13)+formatic(10);
int dialogPosX_0 = 843, dialogPosY_0 = 353;
int button0[5];
int flag_button0[5] = { 0, 0, 0, 0, 0 };

int dialogPosX_1 = 910, dialogPosY_1 = 285;
int button1[2];
int flag_button1[2] = { 0, 0 };

createdialog(0);
createdialog(1);
showdialog(0, "Диалог0", dialogPosX_0, dialogPosY_0, 261, 192, 4, 1);


loop()
{
if (flag_button0[0]>0)
{
flag_button0[0]=0;//обнулить флаг нажатия кнопки
//Визуализируем диалог 1

showdialog(1, "Диалог1", dialogPosX_1, dialogPosY_1, 393, 287, 0, 1);
}

if (flag_button1[0]) // если нажата кнопка назад
{
flag_button1[0]=0;//обнулить флаг нажатия кнопки
hidedialog(1); // скрыть диалог
}


sleep(10);
}
end_0:;

function getmessage(0, WM_CREATE)
{
int i;
h_font = CreateFont(-12, 0, 0, 0, 400, 0, 0, 0, RUSSIAN_CHARSET, 0, 0, 0, 0, "Arial");
button0[0] = CreateWindow(0, "BUTTON", "тест", WS_VISIBLE | WS_CHILD, 32, 32, 80, 20, gethwnd(0), 0, 0, 0);
button0[1] = CreateWindow(0, "BUTTON", "Button1", WS_VISIBLE | WS_CHILD, 128, 32, 80, 20, gethwnd(0), 0, 0, 0);
button0[2] = CreateWindow(0, "BUTTON", "Button2", WS_VISIBLE | WS_CHILD, 32, 64, 80, 20, gethwnd(0), 0, 0, 0);
button0[3] = CreateWindow(0, "BUTTON", "Button3", WS_VISIBLE | WS_CHILD, 128, 64, 80, 20, gethwnd(0), 0, 0, 0);
button0[4] = CreateWindow(0, "BUTTON", "закрыть", WS_VISIBLE | WS_CHILD, 128, 104, 80, 20, gethwnd(0), 0, 0, 0);
for(i=0; i<5; i++)sendmessage(WM_SETFONT, h_font, TRUE, formatiw(button0[i]));
}

function getmessage(0, WM_COMMAND)
{
int i;
for(i=0; i<5; i++) // обработка нажатий кнопок
{
if(message.lparam == button0[i])
{
if(flag_button0[i])flag_button0[i] = 0;
else flag_button0[i] = 1;
return;
}
}
}

function getmessage(0, WM_CLOSE)
{
DeleteObject(h_font);
goto global end_0; // переход в метке
// close(); // закрыть кибор
}


function getmessage(1, WM_CREATE)
{
int i;
h_font = CreateFont(-12, 0, 0, 0, 400, 0, 0, 0, RUSSIAN_CHARSET, 0, 0, 0, 0, "Arial");
button1[0] = CreateWindow(0, "BUTTON", "назад", WS_VISIBLE | WS_CHILD, 32, 48, 104, 40, gethwnd(1), 0, 0, 0);
button1[1] = CreateWindow(0, "BUTTON", "старт", WS_VISIBLE | WS_CHILD, 152, 48, 104, 40, gethwnd(1), 0, 0, 0);
for(i=0; i<2; i++)sendmessage(WM_SETFONT, h_font, TRUE, formatiw(button1[i]));
}

function getmessage(1, WM_COMMAND)
{
int i;
for(i=0; i<2; i++) // обработка нажатий кнопок
{
if(message.lparam == button1[i])
{
if(flag_button1[i])flag_button1[i] = 0;
else flag_button1[i] = 1;
return;
}
}
}
 
 Top
Geoteh
Отправлено: 17 Ноября, 2023 - 14:20:25
Post Id



Пользователь
Участник


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




теперь все понял спасибо Радость Радость Радость
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by