全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:826
推到 Plurk!
推到 Facebook!

os 訊息攔截

尚未結案
epard
一般會員


發表:23
回覆:18
積分:8
註冊:2004-01-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-08 17:47:46 IP:211.75.xxx.xxx 未訂閱
您好 一般像 mousedown 或 mousemove 的訊息 可以用 WM_MOUSEMOVE ...攔截到 如果在create 一個 form 時 要用什麼來攔截 或者 在showmessage 時 可以攔截到create window 的message 謝謝
seaturn99
版主


發表:69
回覆:427
積分:214
註冊:2003-08-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-09 10:13:02 IP:210.68.xxx.xxx 未訂閱
引言: 您好 一般像 mousedown 或 mousemove 的訊息 可以用 WM_MOUSEMOVE ...攔截到 如果在create 一個 form 時 要用什麼來攔截 或者 在showmessage 時 可以攔截到create window 的message 謝謝
epard 您好 : 如果您利用 TForm 產生出來的自製 Dialog 或視窗可以攔截 WM_CREATE message,小範例如下 : (利用 CreateWindow 或 CreateWindowEx API 創造的 Window 也有效)
unit Unit1;    interface    uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;    type
  TForm1 = class(TForm)
    Memo1 : TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
   procedure WndProc(var Message: TMessage);override;
  end;    var
  Form1: TForm1;    implementation    {$R *.dfm}
procedure TForm1.WndProc(var Message: TMessage);
begin
  case Message.Msg of
    WM_CREATE : ShowMessage('WM_CREATE');
    
    WM_ACTIVATE :
    begin
      memo1.Lines.Add('WM_ACTIVATE');
      memo1.Lines.Add('fActive  : '   IntToStr(LOWORD(Message.WParam)));
      memo1.Lines.Add('fMinimized :'   IntToStr(HIWORD(Message.WParam)));
      memo1.Lines.Add('hwndPrevious :' IntToStr(Message.LParam));      
    end;
    
  end;      inherited WndProc(Message);
end;    procedure TForm1.Button1Click(Sender: TObject);
var
  Form2: TForm1;
begin
  try
    Form2:= TForm1.Create(self);
    Form2.ShowModal;
  finally
    FreeAndNil(Form2);
  end;
end;    end.
上面紅色的地方是 Dialog 產生時會觸發的一個 Message ,不知道能不能幫到您,也許利用 Dialog 的 Handle 值可以做一些判斷的變化... 暴力法可以參考一下,下面這篇文章 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=45156 ---- 我只會兩件事,這也不會,那也不會 眼見不一定為真 ---- 發表人 - SouthWind 於 2004/07/09 10:55:16 發表人 - SouthWind 於 2004/07/09 10:56:44
系統時間:2024-05-18 22:56:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!