Форум: "WinAPI";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];
ВнизКак словить WM_WINDOWPOSCHANGING и кильнуть его. Без хука? Найти похожие ветки
← →
NeyroSpace (2002-09-25 16:05) [0]Извиняюсь уже было, но память...
← →
Song (2002-09-25 16:10) [1]А где ловить? В проге или в системе?
← →
NeyroSpace (2002-09-25 16:23) [2]Проблема отчасти решена... Но все-таки интересно, впоймать и кильнуть, чтобы дальше оно не пошло.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
AppEvnts, StdCtrls;
type
TForm1 = class(TForm)
ApplicationEvents1: TApplicationEvents;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Memo1: TMemo;
procedure ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
private
procedure WMWindowPosChanging(var Message: TWMWindowPosChanging); message WM_WINDOWPOSCHANGING;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WMWindowPosChanging(var Message: TWMWindowPosChanging);
begin
Edit1.Text := "Message.x=" + inttostr(Message.WindowPos.x);
Edit2.Text := "Message.y=" + inttostr(Message.WindowPos.y);
Edit3.Text := "Message.cx=" + inttostr(Message.WindowPos.cx);
Edit4.Text := "Message.cy=" + inttostr(Message.WindowPos.cy);
Message.WindowPos.x := 0;
//inherited;
end;
← →
Song (2002-09-25 16:35) [3]Message.Result:=...
А за место точек число, которое описано в хэлпе.
← →
NeyroSpace (2002-09-25 18:03) [4]Не сработало. Как сделать так, чтобы это сообщение дальше не пошло? (т.е. окно с места не сдвинулось?)
← →
Song (2002-09-25 18:19) [5]А чего возвращали-то?
← →
Almaz (2002-09-26 02:00) [6]
> Song © (25.09.02 18:19)
> А чего возвращали-то?
Это уведомительное сообщение - что кроме нуля можно возвратить ?
> NeyroSpace © (25.09.02 18:03)
> Не сработало. Как сделать так, чтобы это сообщение дальше
> не пошло? (т.е. окно с места не сдвинулось?)
Вот так:
procedure TForm1.WMWindowPosChanging(var Message: TWMWindowPosChanging);
begin
Message.WindowPos.flags := Message.WindowPos.flags or SWP_NOMOVE;
end;
Чтобы размер не изменялся - SWP_NOSIZE и т.п.
Удачи.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c