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

Вниз

Как у TPanel открыть события колеса мыши и клавиш?   Найти похожие ветки 

 
Bell   (2007-06-17 04:13) [0]

Пытаюсь сделать так:

 TMyPanel = class (TPanel)
 public
   function DoMouseWheel(Shift: TShiftState; WheelDelta: Integer;
     MousePos: TPoint): Boolean; overload;
 protected
   function DoKeyDown(var Message: TWMKey): Boolean; override;
   function DoKeyPress(var Message: TWMKey): Boolean; override;
   function DoKeyUp(var Message: TWMKey): Boolean; override;
   ..
 end;


В результате функция колеса мыши получается, но на повороты колеса не реагирует. А на функции клавиш Дельфи ругается. Как сделать правильно?

Каких статей можно почитать по вопросу открытия/закрытия/перекрытия событий?


 
Юрий Зотов ©   (2007-06-17 12:43) [1]

По поводу колеса - override, а не overload.

По поводу клавиатуры - для начала нужно сделать, чтобы Ваша панель вообще начала получать сообщения клавиатуры. См. WM_GETDLGCODE.


 
Bell   (2007-06-18 01:27) [2]


> Юрий Зотов ©   (17.06.07 12:43) [1]
>
> По поводу клавиатуры - для начала нужно сделать, чтобы Ваша
> панель вообще начала получать сообщения клавиатуры.

Так, я этого и хочу.


> См. WM_GETDLGCODE.

И что?


 
Юрий Зотов ©   (2007-06-18 08:32) [3]

> Bell   (18.06.07 01:27) [2]

> И что?

Можно предположить, что это сообщение надо обработать. А прочитав его описание, можно предположить, как именно его надо обработать.


 
Bell   (2007-06-19 01:49) [4]

Я в общем хочу компонент или класс чтобы была линейка прокрутки, и мои данные отрисовывались в зависимости от её положения. Это я в общем уже сделал.

Но тут выяснилось, что панель плохо подходит потому, что у неё нет событий мыши и клавиш. А какой компонент в качестве родителя тогда лучше выбрать?


 
Германн ©   (2007-06-19 01:57) [5]


> Bell   (19.06.07 01:49) [4]
>
> Я в общем хочу компонент или класс чтобы была линейка прокрутки,
>  и мои данные отрисовывались в зависимости от её положения.
>  Это я в общем уже сделал.
>

А TScrollBox чем не устраивает?


 
Bell   (2007-06-20 01:32) [6]

Тем, что линейка не отображается. Событий клавиш нет. Когда нажимаешь средней кнопкой мыши, то не появляется кружочек, чтобы можно было прокручивать вверх-вниз.


 
Германн ©   (2007-06-20 01:46) [7]


> Bell   (20.06.07 01:32) [6]
>
> Тем, что линейка не отображается.

Как это не отображается? Прекрасно отображается. Нужно только правильно использовать его (TScrollBox) свойства.

> Когда нажимаешь средней кнопкой мыши, то не появляется кружочек,
>  чтобы можно было прокручивать вверх-вниз.
>

А это вообще имхо не является стандартом, посему в любом случае придётся делать ручками.


 
Bell   (2007-06-20 01:56) [8]


> Как это не отображается? Прекрасно отображается. Нужно только
> правильно использовать его (TScrollBox) свойства.

Как именно?


> А это вообще имхо не является стандартом

Для TMemo, например, является.


 
Германн ©   (2007-06-20 02:11) [9]


> Bell   (20.06.07 01:56) [8]
>
>
> > Как это не отображается? Прекрасно отображается. Нужно
> только
> > правильно использовать его (TScrollBox) свойства.
>
> Как именно?
>

Цитата из справки:
property AutoScroll: Boolean;

Description

If AutoScroll is True the scroll bars appear automatically when necessary. For example, if the user resizes the control so that some of its controls are partially obscured, scroll bars appear.

If AutoScroll is False, scroll bars don’t appear automatically. In this case, use the HorzScrollBar and VertScrollBar properties to make scroll bars appear.


 
Bell   (2007-06-23 04:57) [10]


> Германн ©   (20.06.07 02:11) [9]
> property AutoScroll: Boolean;
>
> Description
>
> If AutoScroll is True the scroll bars appear automatically
> when necessary. For example, if the user resizes the control
> so that some of its controls are partially obscured, scroll
> bars appear.
>
> If AutoScroll is False, scroll bars don’t appear automatically.
>  In this case, use the HorzScrollBar and VertScrollBar properties
> to make scroll bars appear.


Короче английского ты не знаешь, поэтому сказать что там написано не можешь.

Другим

Кто-нибудь может посоветовать нормальную статью по сабжу? На русском.


 
Bell   (2007-07-06 01:59) [11]


> Кто-нибудь может посоветовать нормальную статью по сабжу?
>  На русском.

А?


 
Германн ©   (2007-07-06 02:07) [12]


> Bell   (06.07.07 01:59) [11]
>
>
> > Кто-нибудь может посоветовать нормальную статью по сабжу?
>
> >  На русском.
>
> А?
>

За прошедшие 2 недели можно было купить словарь и перевести то, что в [9]!
Нормальные статьи на русском по всем аспектам программирования появятся не ранее 22 века.
Если в 22 веке всё ещё будет программирование. :-)



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

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

Наверх





Память: 0.48 MB
Время: 0.047 c
2-1183799620
oleguslu
2007-07-07 13:13
2007.08.05
Currency


3-1177490026
zero
2007-04-25 12:33
2007.08.05
Долго выполняеться запрос


2-1183965039
Giperon
2007-07-09 11:10
2007.08.05
Работа с дочерними MDI-формами


2-1184057373
koha
2007-07-10 12:49
2007.08.05
Помогите разобраться с ошибкой


2-1183727842
koha
2007-07-06 17:17
2007.08.05
Можно ли создать событие для не визуального класса?





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