Форум: "WinAPI";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];
Внизкак запретить комбобоксу реагировать на колесо мыши Найти похожие ветки
← →
olden (2002-12-12 13:00) [0]и кусочек кода плиз :)
← →
Гарик (2002-12-12 14:10) [1]Можно через ловушки.
mHook := SetWindowsHookEx(WH_MOUSE, @HookProc, 0, GetCurrentThreadID);
function HookProc(code: Integer; wParam, lParam: DWord): Longint; stdcall;
var wm: TMOUSEHOOKSTRUCT;
begin
if wParam = WM_MOUSEWHEEL then
if (Мыша_над_компонентом и компонент активен) // это напишешь сам
then Result := 1 // сообщение обработано и дальше обрабатываться не будет
else Result := 0 // передаем на обработку приложению
end;
Получить абсолютные координаты мыши можно так:
wm := TMOUSEHOOKSTRUCT(Pointer(lParam)^);
wm.pt : TPoint; - здесь координаты
на OnCreate формы пишешьmHook := SetWindowsHookEx(WH_MOUSE, @HookProc, 0, GetCurrentThreadID);
на OnDestroy -UnhookWindowsHookEx(mHook);
← →
olden (2002-12-12 14:14) [2]спасибо, попробую
← →
Гарик (2002-12-12 14:32) [3]точнее:
begin
...SKIP...
if ((GetCaptureControl.handle = _Блокируемый_комбобокс_.Handle)
and (wParam = WM_MOUSEWHEEL)) then Result := 1
else Result := 0
← →
Гарик (2002-12-12 14:42) [4]конечно не Handle, а Name, (и TControl"а нет хендла :) )
← →
Matolch (2002-12-12 15:08) [5]А не проще свой комбо сделать?
← →
olden (2002-12-13 13:49) [6]2 Matolch
>А не проще свой комбо сделать?
Может быть и проще
т.к. тут вот еще в чем загвоздка
у меня на форме есть три элемента: TComboBox, TEdit, TfrPreview (превью-компонент генератора отчетов FastReport)
Так вот если выбрать что-то в комбо а затем щелкнуть на frPreiew, то фокус с комбо не снимается и на прокрутку мышиного колеса реагируют одновременно и комбо и превью.
Если мышой кликнуть на TEdit, то фокус перемещается на оный
и комбо на колесо уже не реагирует.
Пытался програмно перенести фокус на TEdit после выбора пункта в комбо (SetFocus(),SetFocusedControl()). И ничего...
Фокус остается на комбо и опять комбо и превью одновременно реагируют на колесо
Я уже и с PERFORM() повозился, а все равно результата нет.
← →
Song (2002-12-13 14:00) [7]Нагородили... да просто через TApplication.onMessage
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c