Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];

Вниз

COMBOBOX   Найти похожие ветки 

 
MJH   (2002-02-03 13:44) [0]

Кто-нибудь работал с сабжем через винАПИ?????
уже крышу рвёт :(((((
а все из-за колбэк функции....
если кто-нить разбирался то плиз скиньте на мыло mail_666mrt@mailru.com


 
Иван Шихалев   (2002-02-03 14:31) [1]

В чем проблема? Какая, нафиг, callback-функция?


 
MJH   (2002-02-03 17:45) [2]

для обработки событий дочерних окон - выпадающий список, эдит


 
Иван Шихалев   (2002-02-03 17:50) [3]

Не понял... Ты для него обертку что ли пишешь?


 
MJH   (2002-02-03 18:19) [4]

ты внатуре не понял. Я СОЗДАЛ КОМБОБОКС
CreateWindow("COMBOBOX","",CBS_DROPDOWN or WS_CHILD or WS_BORDER or WS_VSCROLL or CBS_HASSTRINGS or CBS_AUTOHSCROLL, и т.д.)
затем чтоб это уродство работало, нужно задать его ребёночку обработчик путём
SetWindowLong(f_list_hnd, GWL_WNDPROC, cardinal(@listproc));
где f_list_hnd:=GetWindow(f_handle, GW_CHILD);
ВНИМАНИЕ - ВОПРОС:
мы в ListProc пишем свой обработчик для каждого события (WM_KEYUP WM_MOUSEUP и т.д.) и передаём результат главному окну или что?

зы: Иван Шихалев, если ты про компоненты мне рассказываешь - то не надо смешить меня


 
Иван Шихалев   (2002-02-03 18:40) [5]

Вот ты как... Оригинально. А про компоненты я и не пытался рассказывать.

Ну да, обрабатываешь все сообщения и передаешь родительскому окну сообщения от ComboBox"а. А также обеспечиваешь прорисовку и прочие прелести. В целом - то же самое, что написать новый оконный класс, полностью эквивалентный стандартному. Вот только в чем у тебя проблема (и зачем тебе такие фокусы), я так и не понял.

Вообще-то проще, наверное, сделать subclassing. Там CallWindowProc есть.


 
Suntechnic   (2002-02-03 18:41) [6]

Во время подмены оконной процедуры Combobox-а ( ф-ция SetWindowLong) сохрани адрес старой процедуры обработки. Затем в новой процедуре обрабатывай сообщения, что тебе нужны и вызывай старую процедур путём CallWindowProc.


 
MJH   (2002-02-04 01:43) [7]

разбираемся пока с этим...
ещё вопрос: список выпадает на высоту комбобокса - хоть это 100, хоть скажем 14 - выпадает только одна полоска. как с этим бороться?



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
14-9618
Suntechnic
2002-02-21 20:47
2002.04.04
Загадки, которые в этой конференции по-моему всё актуальнее и актуальнее :)))


1-9464
Ravil
2002-03-22 16:50
2002.04.04
Подвисание при заходе в папку с программой


3-9378
sergey_2
2002-03-12 12:07
2002.04.04
DOA


1-9488
Илья
2002-03-25 14:39
2002.04.04
Вывод на печать


14-9598
SV
2002-02-20 23:30
2002.04.04
Клюква ;)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский