Главная страница
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.013 c
3-21365
Карелин Артем
2002-10-17 12:34
2002.11.07
Пишу картинку в Blob, записываю из базы на диск, жму ctrl-f2 в D.


6-21729
Mufta
2002-09-07 18:11
2002.11.07
Мастера а как программно менять прокси через реестр


14-21764
Anatoly Podgoretsky
2002-10-17 16:25
2002.11.07
Именинники 17 октября


14-21755
RV
2002-10-18 16:25
2002.11.07
Единица измерения возлияния - Лигрыл (Литр*градус/рыло)


14-21792
Beginner-Designer
2002-10-18 21:20
2002.11.07
Вопрос к тем, кто знает и Delphi и Visual C++