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

Вниз

Как словить 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.017 c
1-21564
BofA
2002-10-29 20:37
2002.11.07
Передача локальной процедуры в функцию в качестве параметра


1-21588
Tornado
2002-10-29 21:34
2002.11.07
Ничего не понимаю....


14-21782
Anatoly Podgoretsky
2002-10-19 11:26
2002.11.07
Именинники 19 октября


14-21744
AlexandrChup
2002-10-16 17:48
2002.11.07
Поиск


1-21544
BIN
2002-10-28 17:14
2002.11.07
Одноэкземплярное прилрожение