Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Мастаки! Как отключить заблокировать мышь над компонентом? [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]

А что значит заблокировать ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо