![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Мастаки! Как отключить заблокировать мышь над компонентом? [D5, Win95/98]
novill © (2002-07-26 15:16:00)Собственно говоря SUBJ
novill (2002-07-29 09:01:00) [1]Огромное спасибо! Очень выручил.
Eugene Lachinov (2002-07-26 21:49:00) [2]Еще вариант
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
StringGrid1: TStringGrid;
private
{ Private declarations }
public
{ Public declarations }
procedure WMMouseActivate(var Message : TWMMouseActivate); message WM_MouseActivate;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.WMMouseActivate(var Message : TWMMouseActivate);
var
Window : HWnd;
begin
Window := WindowFromPoint(Mouse.CursorPos);
if (Window = Memo1.Handle) or (Window = StringGrid1.Handle) then begin
Message.Result := MA_ACTIVATEANDEAT;
Windows.SetFocus(Window)
end else
inherited;
end;
end.
novill (2002-07-26 16:58:00) [3]Попробовал. Скнопкой не получилось. Поставил на форму. На самой форме отрабатывает, на компонентах - нет.
Прошу прощения за ламерство, но как это применить к моей ситуации. На форме грид и мемо,несколько кнопок и эдитов.
Надо чтобы только над гридом и мемо нажатия мышкой и перетаскивания не работали.
Eugene Lachinov (2002-07-26 16:04:00) [4]type
TMyButton = class(TButton)
protected
procedure WMNCHitTest(var Message: TWMNCHitTest); message WM_NCHITTEST;
end;
procedure TMyButton.WMNCHitTest(var Message: TCMHitTest);
begin
Message.Result := 0
end;
novill (2002-07-26 15:43:00) [5]:)
Логично, но должна оставаться возможность работы с клавиатуры.
Я бы с удовольствием "Enabled := False" у мыши но такого свойсва нет.
Eugene Lachinov (2002-07-26 15:38:00) [6]Enabled := False
novill (2002-07-26 15:34:00) [7]Чтобы компоент не реагировал на действия мыши: нажатие клавиш и движение.
Eugene Lachinov (2002-07-26 15:32:00) [8]А что значит заблокировать ?