Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.01.2010, 17:03
Аватар для SerginhoLD
SerginhoLD SerginhoLD вне форума
Новичок
 
Регистрация: 19.11.2009
Сообщения: 73
Репутация: 12
По умолчанию Разные действия при щелчке на разных половинах компонента

вообщем есть любой компонент, задание такое при щелчке на левой половине - одно действие, на правой - другое. Как это сделать я никак понять не могу. Мне надо это на paintbox сделать, но на каком компоненте вы мне пример покажете мне всеравно
Ответить с цитированием
  #2  
Старый 20.01.2010, 17:47
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Вычисляй координаты мыши при клике, песчитывай, узнавай половинку и все тут...
Код:
procedure TForm1.MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: integer);
Cобытие нажатия мыши где
Button правая/левая кнопка
Shift нажатие на Shift/Alt/Ctrl
X, Y координаты мыши
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #3  
Старый 20.01.2010, 17:47
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,097
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Первый способ:
Код:
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  
Старый 20.01.2010, 23:28
Аватар для CTAJLUH
CTAJLUH CTAJLUH вне форума
Прохожий
 
Регистрация: 02.01.2010
Адрес: г. Нижний Новгород
Сообщения: 20
Репутация: 10
По умолчанию

Я тож сталкивался с таким заданием я сделал тупо но в тоже время умно
Грубо говоря я создал два компонента типа TImage без картинки и без авто размераю

И при клике на один происходит одно действие при попадании на другую другое
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:32.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025