Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выбор нескольких элементов типа панель


Страницы:   1 2 3

mnj ©   (2009-04-22 15:26:00) 

Добрый день всем
Скажите пожалуйста, можно ли выбрать мышкой несколько панелей, лежащих на форме? Какое событие нужно при этом отлавливать?


Юрий Зотов   (2009-04-23 13:31:00) [21]

А можно и ничего не рисовать, а выбирать панели кликом (с зажатой Ctrl) и выделять их цветом.


StriderMan   (2009-04-23 12:32:00) [22]

Можно положить прозрачный контрол с канвой и отслеживать чтобы он всегда был поверх всех и чтобы мессаджи сам не принимал. Рисовать рамку на нем.


brother   (2009-04-23 12:26:00) [23]

может Bevel поможет?


brother   (2009-04-23 12:23:00) [24]

а панели обязательно использовать?


StriderMan   (2009-04-23 12:16:00) [25]


> рамку рисовать вокруг панели, а не на ней самой, компрене ву ?

топикстартер хотел отрисовывать рамку при выделении мышкой. В процессе выделения она частично будет проходить над(под) лежащими на форме панельками, а не только вокруг, нес па? ;)


Игорь Шевченко   (2009-04-23 11:14:00) [26]

StriderMan   (23.04.09 11:05) [15]


> потому что панели с точки зрения ОС - тоже окна, со своей
> канвой.


рамку рисовать вокруг панели, а не на ней самой, компрене ву ?


StriderMan   (2009-04-23 11:05:00) [27]


> Игорь Шевченко ©   (22.04.09 23:35) [13]
> почему ?

потому что панели с точки зрения ОС - тоже окна, со своей канвой.


Германн   (2009-04-23 00:15:00) [28]


> mnj   (22.04.09 23:18) [12]
>
> А если на другой панели? Можно ли добраться до Canvas так:

Можно. Но не нужно.
Всё гораздо проще:
type
 THackPanel = class(TPanel); // Имя класса (с) Юрий Зотов о)
...
 with THackPanel(Panel1).Canvas do
...


Игорь Шевченко   (2009-04-22 23:35:00) [29]


> все это рисование под панельками окажется


почему ?


mnj   (2009-04-22 23:18:00) [30]

А если на другой панели? Можно ли добраться до Canvas так:

TMyPanel = class(TPanel)
.....
private
.....
public
Canvas;
......
end;

TMyForm = class(TForm)
....
MyPanel: TMyPanel;
....
end;


StriderMan   (2009-04-22 23:14:00) [31]


> если панели на форме, то рисовать на форме, у нее canvas
> есть и на событии FormPaint доступен

все это рисование под панельками окажется


Игорь Шевченко   (2009-04-22 23:04:00) [32]


> Но как - я пока не знаю


если панели на форме, то рисовать на форме, у нее canvas есть и на событии FormPaint доступен


mnj   (2009-04-22 22:39:00) [33]

Рисовать надо поверх выделяемых панелей. Но как - я пока не знаю.


clickmaker   (2009-04-22 18:01:00) [34]

> а как нарисовать прямоугольник выделения, если у панели
> нет свойства Canvas?

а рисовать разве надо не поверх всех выделяемых панелей?


Германн   (2009-04-22 17:56:00) [35]


> mnj   (22.04.09 17:25) [6]
>
> Еще вопрос - а как нарисовать прямоугольник выделения, если
> у панели нет свойства Canvas?
>

У панели есть канва, только она protected. Обманув компилятор можно получить к ней доступ.


mnj   (2009-04-22 17:25:00) [36]

Еще вопрос - а как нарисовать прямоугольник выделения, если у панели нет свойства Canvas?


mnj   (2009-04-22 17:19:00) [37]

Спасибо 12, попробую


12   (2009-04-22 17:10:00) [38]

onMouseDown координаты, Up координаты
и считать какие панели перекрываются прямоугольником с этими координатами


mnj   (2009-04-22 17:07:00) [39]

Выбрать - это выделить мышкой как фрагмент изображения набор панелей, находящихся на форме или другой панели. OnClick выдаст мне только одну, насколько я понимаю


Сергей М.   (2009-04-22 16:22:00) [40]

"выбрать" - это как ?


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо