![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
![]() вообщем есть любой компонент, задание такое при щелчке на левой половине - одно действие, на правой - другое. Как это сделать я никак понять не могу. Мне надо это на paintbox сделать, но на каком компоненте вы мне пример покажете мне всеравно
![]() |
#2
|
||||
|
||||
![]() Вычисляй координаты мыши при клике, песчитывай, узнавай половинку и все тут...
Код:
procedure TForm1.MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: integer); Button правая/левая кнопка Shift нажатие на Shift/Alt/Ctrl X, Y координаты мыши В начале был Бит, потом Байт и только потом появилось Слово... |
#3
|
|||
|
|||
![]() Первый способ:
Код:
procedure TForm1.PaintBox1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin If X < PaintBox1.Width / 2 Then ShowMessage('Left') Else ShowMessage('Right'); end; Второй способ: Код:
procedure TForm1.PaintBox1Click(Sender: TObject); var P : TPoint; begin P := Mouse.CursorPos; P := PaintBox1.ScreenToClient(P); If P.X < PaintBox1.Width / 2 Then ShowMessage('Left') Else ShowMessage('Right') end; |
#4
|
||||
|
||||
![]() Я тож сталкивался с таким заданием я сделал тупо но в тоже время умно
Грубо говоря я создал два компонента типа TImage без картинки и без авто размераю И при клике на один происходит одно действие при попадании на другую другое |