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

Вниз

Скролинг мышью   Найти похожие ветки 

 
Kealon ©   (2007-03-13 15:00) [0]

У меня вопрос по известной баге

передача сообщения скролинга мыши активному окну а не окну над которым располагается мыш
для VCL я видел исправление
как сделать подправку с использованием KOL


 
Dimaxx ©   (2007-03-15 13:15) [1]

Ну я не считаю это багом. Сколлинг активного окна - все верно. Вот только если мышь увели за границу активного окна, тогда скроллинг должен выключиться, а не скроллить неактивное окно под курсором или скроллить активное окно.

PS: И вообще, как ты себе это представляешь - например, ты же не можешь открывать дверцы шкафа, закрытого другим. Грубо говоря, шкаф "неактивен" как и окно без фокуса. Открыть дверцу можно, но для этого нужно "активировать" его как и окно.


 
homm ©   (2007-03-15 13:21) [2]

> У меня вопрос по известной баге
>
> передача сообщения скролинга мыши активному окну а не окну
> над которым располагается мыш
> для VCL я видел исправление
> как сделать подправку с использованием KOL

Это вообще-то винда сообщения отсылает только активному окну. Не нравится- ставь дрйвер, который перехватывает и шлет окну под курсором. Мне тоже не нравится, и у меня драйвер такой стоит. Еще от мыши А4Tech остался, работал с Genius счас на Logotech трудится. КОЛ вообще непричем.

> для VCL я видел исправление
Нахрена это исправлять на уровне конкретного приложения, если это ло гика поведения системы?


 
Galkov ©   (2007-03-15 15:27) [3]


> Это вообще-то винда сообщения отсылает только активному
> окну

Мне казалось, что окну, обладающему фокусом ввода

А MSDN пишет такое:

> The WM_MOUSEWHEEL message is sent to the focus window when
> the mouse wheel is rotated. The DefWindowProc function propagates
> the message to the window"s parent. There should be no internal
> forwarding of the message, since DefWindowProc propagates
> it up the parent chain until it finds a window that processes
> it.


И, как мне кажется, KOL не предоставляет возможности НЕ ВЫЗВАТЬ DefWindowProc (другой вопрос - почему?), поэтому до самого верхнего парента должно дойти.
Там и ставишь ловушку, в которой отправляешь уже свое сообщение окну под мышой, к примеру...
ИМХО


 
homm ©   (2007-03-15 15:37) [4]

> > Это вообще-то винда сообщения отсылает только активному окну
> Мне казалось, что окну, обладающему фокусом ввода

Может быть. В любом случае окно обладающее фокусом ввода будет активнм. Или есть исключения?


 
kealon ©   (2007-03-16 06:50) [5]

я конечно понимаю что это логика работы системы
но вот у меня окно(в понятии Windows) которое никогда не получает фокуса
и скролить его мышью не получается, а надо

я сделал компонент, скролинг он обрабатывает сам
я так понимаю из этого

> The WM_MOUSEWHEEL message is sent to the focus window when
> the mouse wheel is rotated. The DefWindowProc function propagates
> the message to the window"s parent. There should be no internal
> forwarding of the message, since DefWindowProc propagates
> it up the parent chain until it finds a window that processes
> it.

следует что главному окну сообщение не дойдёт


 
kealon ©   (2007-03-16 06:52) [6]

там два "окна", одно всегда должно быть под фокусом(один из его )
но скролить нужно оба
вот сайт проекта что бы было понятно
mudclient.narod.ru


 
homm ©   (2007-03-16 07:12) [7]

> вот сайт проекта что бы было понятно
> mudclient.narod.ru

Ужас, а не гамма.
Дава объясняй почему там 2 окна? Я так понял нижнее должно скрлоится вместа с средним? Зачем тогда их разделять?

А вобще-то
procedure TForm1.Edit2MouseWheel(Sender: PControl;
 var Mouse: TMouseEventData);
begin
  SendMessagr(Edit3.Handle, WM_MouseWheel, ....);
end;


 
kealon ©   (2007-03-16 12:48) [8]

1. Оба окна служат для вывода текста
2. Текст в обоих друг от друга не зависит
3. Рабочее окно всегда нижнее и курсор всегда должен стоять на строке ввода
4. В нижнем окне текст пролистывается очень быстро(для заметки особенностей и служит верхнее окно, вот его тоже необходимо скролить)

на данный момент скролинг перехватывается EditBox-e
хотя самое идеальное должен перехватываться в панели просмотра
нижнее окно унаследовано от верхнего и в него как раз и добавлена строка ввода


 
Савиатар   (2007-03-16 12:53) [9]


> Ужас, а не гамма.


Не шаришь, чувак :)



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

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

Наверх





Память: 0.47 MB
Время: 0.041 c
2-1190331893
NickEr
2007-09-21 03:44
2007.10.14
Проверка числа на симметричность


15-1189579588
DVM
2007-09-12 10:46
2007.10.14
Подскажите программу для PINGA


2-1190037815
F@T@L_Err0r
2007-09-17 18:03
2007.10.14
Регулятор громкости


15-1189725749
delphiForever
2007-09-14 03:22
2007.10.14
и все таки я ее нашел...


15-1189831668
Aller
2007-09-15 08:47
2007.10.14
порты в freebsd





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский