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

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

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

> Описание: внутри...
ivantu
Отправлено: 30 Марта, 2021 - 10:49:48
Post Id



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


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




Есть ComboBox , хочу сделать сохранение и загрузку настроек для него, пытаюсь получить номер строки при нажатии в выпадающем списке, раньше работало вот так:

создавалось:

CODE:

function getmessage(0, WM_CREATE){
char c_map_id[255];char c_stage_id[255];
//TAb2 вкладка 1
tab2_ctrl[0][0]=CreateWindow(0, "COMBOBOX", "", WS_VISIBLE | WS_CHILD | WS_VSCROLL | CBS_DROPDOWN | CBS_SIMPLE, tab2_cord[0]+10, tab2_cord[1]+40, 115, 180, gethwnd(0), 0, 0, 0);
tab2_ctrl[0][1]=CreateWindow(0, "COMBOBOX", "", WS_VISIBLE | WS_CHILD | WS_VSCROLL | CBS_DROPDOWN | CBS_SIMPLE, tab2_cord[0]+130, tab2_cord[1]+40, 85, 180, gethwnd(0), 0, 0, 0);
// добавление строк в combo1 из массива combo1_text
for(int i_map_id=0; i_map_id<12; i_map_id++){
strcpy(#c_map_id[0], cbs_map_id_text[i_map_id]);
sendmessage(CB_ADDSTRING, 0, address(#c_map_id[0]), formatiw(tab2_ctrl[0][0]));
}
for(int i_stage_id=0; i_stage_id<12; i_stage_id++){
strcpy(#c_stage_id[0], cbs_stage_text[i_stage_id]);
sendmessage(CB_ADDSTRING, 0, address(#c_stage_id[0]), formatiw(tab2_ctrl[0][1]));
}
}



отлавливал нажатия так:

CODE:
function getmessage(0, WM_COMMAND){
if(hiword(message.wparam) == CBN_SELENDOK && message.lparam==tab2_ctrl[0][1]){
tmp=sendmessage(CB_GETCURSEL, 1, 0, formatiw(tab2_ctrl[0][1])); // узнаём
WritePrivateProfileString ("Tabs", "_stage", format(tmp), path_to_ini); //Записали в ini значение
return;
}
}


Подскажите, почему не отрабатывает WM_COMMAND ?
(Добавление)
P/S если каких то переменных тут не написал, они есть, я брал просто значимые для этого участки кода. Прошу не ругать на это Не понял и огорчён
 
 Top
Zireael
Отправлено: 30 Марта, 2021 - 11:24:31
Post Id



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


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




 Цитата:
if(hiword(message.wparam) == CBN_SELENDOK && message.lparam==tab2_ctrl[0][1])

CODE:
if(message.lparam==tab2_ctrl[0][1])
 
 Top
ivantu
Отправлено: 30 Марта, 2021 - 11:30:17
Post Id



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


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




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


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




Powered by