Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Узнать номер строки в ComboBox

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

1. ivantu - 30 Марта, 2021 - 02:49:48 - перейти к сообщению
Есть 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 если каких то переменных тут не написал, они есть, я брал просто значимые для этого участки кода. Прошу не ругать на это Не понял и огорчён
2. Zireael - 30 Марта, 2021 - 03:24:31 - перейти к сообщению
 Цитата:
if(hiword(message.wparam) == CBN_SELENDOK && message.lparam==tab2_ctrl[0][1])

CODE:
if(message.lparam==tab2_ctrl[0][1])
3. ivantu - 30 Марта, 2021 - 03:30:17 - перейти к сообщению
Так оно работает, я просто для проверки messagebox в обработчик событий поставил, он вылетал при нажатии в любое место Диалога, меня это немного смутило просто.

Powered by ExBB FM 1.0 Final