Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.19;
Скачать: CL | DM;

Вниз

Обработка события ComboboxDropDown   Найти похожие ветки 

 
chum   (2005-07-20 15:17) [0]

Столкнулся с такой проблемой:
Обрабатываю событие OnDropDown при этом в Combobox добавляются строки. так вот когда отрисовывется выпадающий список в нём отрисовывается только одна строка. Происходит это потому что событие fOnDropDown вызывается в самим конце функции OnDropDown:

procedure ComboboxDropDown( Sender: PObj );
var
 CB: PControl;
 IC: Integer;
begin
 CB := PControl( Sender );
 IC := CB.Count;
 if IC > 8 then IC := 8;
 if IC < 1 then IC := 1;

 SetWindowPos( CB.Handle, 0, 0, 0, CB.Width, CB.Height * (IC + 1) + 2,
               SWP_NOMOVE + SWP_NOZORDER + SWP_NOACTIVATE + SWP_NOREDRAW +
               SWP_HIDEWINDOW);

 SetWindowPos( CB.Handle, 0, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE
               + SWP_NOZORDER + SWP_NOACTIVATE
               + SWP_NOREDRAW + SWP_SHOWWINDOW);

 if assigned( CB.fOnDropDown ) then
   CB.fOnDropDown( CB );

end;


Мне кажется, что стоит так


procedure ComboboxDropDown( Sender: PObj );
var
 CB: PControl;
 IC: Integer;
begin


 if assigned( CB.fOnDropDown ) then
   CB.fOnDropDown( CB );

 CB := PControl( Sender );
 IC := CB.Count;
 if IC > 8 then IC := 8;
 if IC < 1 then IC := 1;

 SetWindowPos( CB.Handle, 0, 0, 0, CB.Width, CB.Height * (IC + 1) + 2,
               SWP_NOMOVE + SWP_NOZORDER + SWP_NOACTIVATE + SWP_NOREDRAW +
               SWP_HIDEWINDOW);

 SetWindowPos( CB.Handle, 0, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE
               + SWP_NOZORDER + SWP_NOACTIVATE
               + SWP_NOREDRAW + SWP_SHOWWINDOW);

end;


 
chum   (2005-07-21 16:00) [1]

Жду ответа от разработчика!!!


 
Vladimir Kladov   (2005-07-22 13:55) [2]

разработчик оттягивается на даче, аж до 1 августа, и читает форум раз в три дня со своего ноутбука... Так что подождите до конца моего отпуска, все равно делами я сейчас занимаюсь другими.


 
chum   (2006-02-02 12:15) [3]

Вспомнил про сей вопрос. Может Владимир испарвит.



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

Текущий архив: 2006.11.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.044 c
15-1162000406
ProV
2006-10-28 05:53
2006.11.19
Можно ли изменить параметр FVisible в привате класса другого юнит


6-1149692838
RainKM
2006-06-07 19:07
2006.11.19
Сканер сети


8-1141656784
Belorus
2006-03-06 17:53
2006.11.19
Медиа плеер.


1-1160567344
YOjik
2006-10-11 15:49
2006.11.19
Несрабатывает передача параметра с 1-го раза , почему?


15-1162199860
artemiy
2006-10-30 12:17
2006.11.19
Внимание! Все на выборы!!! :)