Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.07.2010, 16:51   #1
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
Восклицание Нажатие мышки

Здравствуйте, вот появился такой вопрос. Есть форма, на которой расположено несколько компонентов Image. Нужно проверить событие MouseDown на этой форме, но компоненты расположены так, что полностью ее перекрывают. Существует ли какое-либо свойство, которое показывает, какая кнопка у мышки в данный момент нажата?
ZotaC вне форума Ответить с цитированием
Старый 29.07.2010, 17:04   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

функция GetKeyState по-моему может показывать нажатие клавиш мышки.
Но ты вполне можешь описать OnMouseDown для всех Image так же как и для формы, или банальнее:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 ShowMessage('');
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 self.MouseDown(Button,Shift,x,y);
end;

end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.07.2010, 16:55   #3
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Только, если я не ошибаюсь, нужно изменить координаты, прибавив left и top объекта. Если точка нажатия имеет значение.
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
События мышки liljon Общие вопросы C/C++ 4 24.04.2010 01:23
Долгое нажатие клавиши в KeyDown как одно нажатие marina15056 Общие вопросы Delphi 7 16.08.2009 00:22
Программирование мышки Vistar Паскаль, Turbo Pascal, PascalABC.NET 1 26.04.2009 18:06
2 курсорчика мышки Zeraim Общие вопросы Delphi 9 04.04.2009 00:45
Отключение мышки Yuran Win Api 2 23.06.2008 13:08