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

Вниз

Не могу перехватить CM_CANCELMODE...   Найти похожие ветки 

 
NAlexey ©   (2003-08-22 15:34) [0]

Никак не могу перехватить CM_CANCELMODE. Задача такая:
Выкидывать под InplaceEditor в сетке свой контрол например ListBox, короче сделать из ячейки Combobox. Я не пишу новой компоненты а просто переопределяю WndProc InplaceEditor на свой и ловлю WM_KillFocus и CM_CANCELMODE как делается если пишется обычный ComboBox. Так вот CancelMode не ловится и открытый лист не закрывается:

FOldWnd: Pointer;
FNewWnd: Pointer;
procedure InplaceHook(var AMsg: TMessage);

дальше -

FOldWnd := Pointer(GetWindowLong(InplaceEditor.Handle, GWL_WNDPROC));
Pop.Show(100, 100); //Для примера.
FNewWnd := MakeObjectInstance(InplaceHook);
SetWindowLong(InplaceEditor.Handle, GWL_WNDPROC, Longint(FNewWnd));

дальше -


procedure TMyGrid.InplaceHook(var AMsg: TMessage);
begin
with AMsg do case Msg of
WM_CANCELMODE,
WM_KILLFOCUS:
begin
SetWindowLong(InplaceEditor.Handle, GWL_WNDPROC, Longint(FOldWnd));
FreeObjectInstance(FNewWndProc);
end else
Result := CallWindowProc(FOldWnd, InplaceEditor.Handle, Msg, WParam, LParam);
end;
end;

Не прячется всплывшее окно и все тут, wm_killfocus ловит а cancelmode нет...


 
Игорь Шевченко ©   (2003-08-22 15:43) [1]

http://delphi.vitpc.com/helloworld/nogrid.htm если о ComboBox"е речь


 
NAlexey ©   (2003-08-22 15:57) [2]

Вот я и говорю, интересно, как этот пример справиться вот с этим-1) Кладем на форму Grid делаем доступным для редактирования.
2) Кладем на форму Combobox делаем невидимым и добавляем айтемов.
3) В нужный момент показываем в нужном месте открывая лист комбобокса.
Вопрос - если щелкнуть по заголовку формы то фокус не уйтет из ячейки, тащим форму а ComboBox остается на месте.



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
1-89254
P0tia
2003-10-14 17:32
2003.10.27
Variable DataModule1 might not have been initialized


6-89426
Pavel Oliynik
2003-09-01 15:59
2003.10.27
как показывать прогресс закачки почты в IdPOP3


3-89127
leonidus
2003-10-06 16:44
2003.10.27
Вопрос по связи таблиц


7-89610
IGORYOK
2003-08-12 21:39
2003.10.27
Чем отличается PostMessage от SendMessage.


1-89274
prorok2
2003-10-13 14:44
2003.10.27
RichEdit и таблица