Главная страница
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.018 c
1-21533
Whippi
2002-10-29 11:32
2002.11.07
Вставить текст в Edit


1-21559
_Saha_
2002-10-29 10:55
2002.11.07
ламерский вопрос


3-21357
FLiz
2002-10-18 15:35
2002.11.07
Как из программы на Дельфи сжать базу данных Аксеса-97?


14-21758
Карлсон
2002-10-18 19:37
2002.11.07
винт запорот или еще можно восстановить?


8-21688
farhad
2002-07-11 16:28
2002.11.07
Multimedia