|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.11.2008, 07:25 | #1 |
Форумчанин
Регистрация: 23.09.2007
Сообщений: 147
|
Косяки с правой кнопкой мыши
Ситуация такая. Есть форма, на форме ScrollBox, на ней лежит Image.
Image не совпадает по размерам со ScrollBox. Проект типа Paint на ООП (c классами инструментов в отдельном модуле). Проблема в том, что если выйти за область имейджа с зажатой правой кнопкой мыши и отпустить - дельфа не словит событие (вообще не вызывается обработчик). Проверял на 7-ой и на 2006-ой, с левой кнопкой все в порядке. Как сделать так, чтоб события правой кнопки мыши стала нормально обрабатываться. Я пытался с помощью SetCapture, но у Image, равно как и PaintBox нет хендла, поскольку TGraphicControl потомок TControl. А в случае c использование в качестве параметра SetCapture хендла скроллбокс или формы, все жутко тормозит и виснет.
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
|
09.11.2008, 09:24 | #2 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
У TImage есть свойство MouseCapture, только оно protected
Код:
|
11.11.2008, 10:54 | #3 |
Форумчанин
Регистрация: 23.09.2007
Сообщений: 147
|
Спасибо, работает. Вот только вопрос, почему при приведении к введенному классу, ничем не отличающимся от предка, становится доступным protected свойство?
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
|
11.11.2008, 17:26 | #4 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
Из help'а:
A protected member is visible anywhere in the module where its class is declared and from any descendant class, regardless of the module where the descendant class appears. |
12.11.2008, 13:25 | #5 |
Форумчанин
Регистрация: 23.09.2007
Сообщений: 147
|
Забавно, про то, что в модуле, где будет перегружен класс будут видны его protected св-ва не знал, я думал, если класс перегружен в другом модуле, то там уже вне класса нельзя обратиться к protected св-ву.
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
PopupMenu левой кнопкой мыши | Pinya | Компоненты Delphi | 3 | 22.08.2008 19:23 |
Работа с программируемой кнопкой мыши | DShiller | Общие вопросы Delphi | 6 | 23.04.2008 12:23 |
PopupMenu должно появляться только при нажатии на значок в трее правой кнопкой | AidarBik | Win Api | 14 | 08.03.2008 23:51 |
Как работать с правой кнопкой мыши? | ZeRRon | Помощь студентам | 4 | 28.12.2007 18:45 |
MouseDown: обращение к правой кнопке мыши | ZhekON | Общие вопросы Delphi | 2 | 11.05.2007 19:17 |