Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: сделать это все с одной кнопкой
Пример1 (Отобразить)CODE:int pos_size_button0[1][4];
string text_button0[1];
int flag_button0[1];
pos_size_button0[0][0]=14; pos_size_button0[0][1]=25; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
text_button0[0]="Старт";
createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0]);
showdialog(0, "Диалог", 300, 300, 225, 150, 1, 1);
enabletimer(0);
metka_start:;
while(flag_button0[0]==0)sleep(10); // пока не нажата кнопка
loop()
{
// тут скрипт
textout(0, 550, 300, "Скрипт работает", 0);
sleep(1);
}
CREATE_TIMER(0, 200)
{
if(flag_button0[0]) // если нажата кнопка
{
if(text_button0[0]=="Старт") // если она называется 'Старт'
{
flag_button0[0]=0; // флага нажатия кнопки 0
text_button0[0]="Стоп"; // переименовать кнопку (если не меняется название перезапустить кибор)
}
else // иначе
{
flag_button0[0]=0;
text_button0[0]="Старт"; // переименовать в старт
resettextout(1);
goto metka_start; // переход к метке
}
}
}
Пример2 (Отобразить)CODE:#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "SetWindowText", "SetWindowTextA", "User32.dll" );
external(INT, "GetWindowText", "GetWindowTextA", "User32.dll" );
int button1, flag=0;
char buf[255];
createdialog(0);
showdialog(0, "Диалог", 300, 300, 225, 150, 1, 1);
metka_start:;
while(flag==0)sleep(10); // пока переменная flag равна 0
loop()
{
// тут скрипт
textout(0, 550, 300, "Скрипт работает", 0); // можно убрать
sleep(1);
}
function getmessage(0, WM_CREATE)
{
button1=CreateWindow(0, "BUTTON", "Старт", WS_CHILD | WS_VISIBLE, 20, 10, 100, 30, gethwnd(0), 0, 0, 0); // создать кнопку
}
function getmessage(0, WM_COMMAND)
{
if (message.lparam==button1) // если нажата кнопка
{
if(GetWindowText(button1, address(#buf[0]), sizearray(buf))) // получаем текст кнопки
{
if(format(#buf[0])=="Старт") // если 'Старт'
{
flag=1; // разрешаем скрипту продолжить работу
SetWindowText(button1, "Стоп"); // переименовать кнопку
}
else // иначе
{
flag=0; // запрещаем скрипту продолжить работу
resettextout(1); // убрать textout, можно убрать
SetWindowText(button1, "Старт"); // переименовать кнопку
goto global metka_start; // переход к метке
}
}
}
} |