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

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

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

> Описание: внутри...
ivantu
Отправлено: 30 Августа, 2019 - 14:46:01
Post Id



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


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




не могу правильную последовательность выбрать.

CODE:

int win_id;

createdialog(0);
createdialog(1);
createdialog(2);
showdialog(0, "bot", 100, 100, 500, 750, 3, 0);
//showdialog(1, "bot", 100, 100, 500, 750, 3, 0);

function showdialog_(int id, string w_name) {
destroydialog(id);createdialog(id);
showdialog(id, w_name, 100, 100, 500, 750, 3, 0);
win_id=id;
//Пробовал return , не знаю уместно ли...
//return win_id;
}

messagebox(format(win_id));


function getmessage(0, WM_COMMAND)
{
// Вызываю Диалог по нажатию на кнопку
if (message.lparam==tab[0][0]){showdialog_(1, "Тестовый");}
}

// Дальше по моей логики должен создаться диалог с ID переданным из функции с содержимым из WM_CREATE
function getmessage(0, WM_CREATE)
{
if(win_id==0){messagebox("Кнопка1"); return;} // если flag 0, то выполнить эту часть
if(win_id==1){messagebox("Кнопка2"); return;} // если 1, то выполнить эту часть
}



Где то в последовательности накосячил я по ходу, подскажите как исправить.

(Отредактировано автором: 30 Августа, 2019 - 14:51:38)

 
 Top
Zireael
Отправлено: 30 Августа, 2019 - 15:20:40
Post Id



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


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




Выкладывать надо запускаемый код. tab[0][0] не объявлена, кнопка не создана.
 
 Top
ivantu
Отправлено: 30 Августа, 2019 - 15:33:48
Post Id



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


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




Zireael

CODE:
#define WS_VISIBLE 268435456 // Видимый контрл
#define WS_CHILD 1073741824 // Дочернее окно

external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );

int win_id;
int win_btn;
createdialog(0);
createdialog(1);

showdialog(0, "bot", 100, 100, 500, 750, 3, 0);

function showdialog_(int id, string w_name) {
destroydialog(id);createdialog(id);
showdialog(id, w_name, 100, 100, 500, 750, 3, 0);
win_id=id;
//Пробовал return , не знаю уместно ли...
//return win_id;
}

//messagebox(format(win_id));


function getmessage(0, WM_COMMAND)
{
// Вызываю Диалог по нажатию на кнопку
if (message.lparam==win_btn){showdialog_(1, "Тестовый");}
}

// Дальше по моей логике должен создаться диалог с ID переданным из функции с содержимым из WM_CREATE

function getmessage(1, WM_CREATE)
{
win_btn=CreateWindow(0, "BUTTON", "тыц", WS_VISIBLE | WS_CHILD, 50, 50, 89, 29, gethwnd(0), 0, 0, 0);
if(win_id==0){messagebox("Кнопка1"); return;} // если flag 0, то выполнить эту часть
if(win_id==1){messagebox("Кнопка2"); return;} // если 1, то выполнить эту часть
}

loop(){pause(100);}

(Отредактировано автором: 30 Августа, 2019 - 15:49:30)

 
 Top
007wan
Отправлено: 30 Августа, 2019 - 15:36:57
Post Id



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


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




Так чё надо то?
 
 Top
ivantu
Отправлено: 30 Августа, 2019 - 22:47:16
Post Id



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


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




понял почему не получается, передается id диалога для создания, а вот эта чтуковина имеет статический ID и не может принимать переменную в первом параметре:
function getmessage(1, WM_CREATE)
из этого вывод... нифига у меня не получится создать разные диалоги с разным содержимым на лету... наверное
(Добавление)
Подскажите пожалуйста, почему win_id, не передается из функции после первого нажатия на кнопку, а только после второго?

CODE:

#define WS_VISIBLE 268435456 // Видимый контрл
#define WS_CHILD 1073741824 // Дочернее окно

external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );

int win_id;
int win_btn, win_btn2;
createdialog(0);

showdialog(0, "bot", 100, 100, 500, 750, 3, 0);

function showdialog_(int id, string w_name) {
createdialog(1);
sleep(100);
showdialog(1, w_name, 100, 100, 500, 750, 0, 1);
win_id=id;
}

//messagebox(format(win_id));
function getmessage(0, WM_CREATE)
{
win_btn=CreateWindow(0, "BUTTON", "тыц", WS_VISIBLE | WS_CHILD, 50, 50, 89, 29, gethwnd(0), 0, 0, 0);
}

function getmessage(0, WM_COMMAND)
{
// Вызываю Диалог по нажатию на кнопку
if (message.lparam==win_btn){showdialog_(1, "Тестовый");
}
}

// Дальше по моей логике должен создаться диалог с ID переданным из функции с содержимым из WM_CREATE

function getmessage(1, WM_CREATE)
{
win_btn2=CreateWindow(0, "BUTTON", "тыц", WS_VISIBLE | WS_CHILD, 50, 50, 89, 29, gethwnd(1), 0, 0, 0);
if(win_id==1){messagebox("Кнопка2");
messagebox(format(win_id));
}
}


loop(){
pause(100);
}
 
 Top
Zireael
Отправлено: 31 Августа, 2019 - 02:09:32
Post Id



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


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




 Цитата:
Подскажите пожалуйста, почему win_id, не передается из функции после первого нажатия на кнопку, а только после второго?

Потому что сначала вызывается createdialog(1), а только потом переменной присваивается значение win_id=id.
Несколько диалогов с разным количеством контролов (Отобразить)
 
 Top
ivantu
Отправлено: 31 Августа, 2019 - 07:44:38
Post Id



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


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




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


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




Powered by