Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.27;
Скачать: CL | DM;

Вниз

Как Запретить сообщение ?   Найти похожие ветки 

 
Nikk   (2005-11-01 15:49) [0]

Нужно заблокировать событие клика мыши, что бы оно не дошло до компонента. Как можно это сделать?
Исходников компонента нету, по этому такая проблема.


 
BFG9k ©   (2005-11-01 16:06) [1]

Обработай сообщение до того, как оно придет в компонент.


var M:TMessage;

...

M.Result:=0;



 
Leonid Troyanovsky ©   (2005-11-01 16:06) [2]


> Nikk   (01.11.05 15:49)


> Нужно заблокировать событие клика мыши, что бы оно не дошло
> до компонента. Как можно это сделать?

TControl - procedure Click; override

> Исходников компонента нету, по этому такая проблема.

Безразлично.

--
Regards, LVT.


 
wicked ©   (2005-11-01 21:19) [3]

имхо, лучше использовать св-во WindowProc.... подробности - в справке....


 
evvcom ©   (2005-11-02 09:30) [4]

Возможно, достаточно будет из ControlState исключить csClickEvents


 
Lexer ©   (2005-11-02 11:54) [5]

Поддерживаю [3], переопределяешь WndProc и игнорируешь ненужные сообщения

FLastButtonWndProc: TWndMethod;
procedure ButtonWndProc(var Message: TMessage);

FLastButtonWndProc := Button1.WindowProc;  
Button1.WindowProc := ButtonWndProc;

procedure TForm1.ButtonWndProc(var Message: TMessage);
begin
 if not(Message.Msg = WM_LBUTTONDOWN or Message.Msg = WM_RBUTTONDOWN) then  FLastButtonWndProc(Message);
end;


 
umbra ©   (2005-11-02 12:49) [6]

можно вот так


unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   Button1: TButton;
   ApplicationEvents1: TApplicationEvents;
   procedure ApplicationEvents1Message(var Msg: tagMSG;
     var Handled: Boolean);
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
 var Handled: Boolean);
begin
   if msg.hwnd = Button1.Handle then
     if (Msg.message = WM_LBUTTONDOWN) or (Msg.message = WM_LBUTTONUP)
         or (msg.message = WM_LBUTTONDBLCLK) then
     begin
       Handled := True;
     end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 ShowMessage("!!!");
end;

end.



Страницы: 1 вся ветка

Текущий архив: 2005.11.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.057 c
5-1113173273
Бывший студент
2005-04-11 02:47
2005.11.27
Колонки TStringGrid


2-1131365116
Wolferio
2005-11-07 15:05
2005.11.27
ShellTreeView


2-1130952630
12next
2005-11-02 20:30
2005.11.27
добвить свою процедуру, в событие..


9-1121621915
DR0N
2005-07-17 21:38
2005.11.27
Как посмотреть дефолтовые значения источника света в OpenGl?


3-1129360635
Иванов__
2005-10-15 11:17
2005.11.27
Ош. "Could not convert variant of type (NULL) into type (String)"