![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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 без картинки и без авто размераю И при клике на один происходит одно действие при попадании на другую другое |