線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1052
推到 Plurk!
推到 Facebook!

如何發出自訂的message讓自己的程式接收

尚未結案
danielx2000
一般會員


發表:29
回覆:33
積分:22
註冊:2002-09-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-17 17:26:20 IP:61.218.xxx.xxx 未訂閱
請教各位:    我在一form中放上一button用來發出一個MESSAGE ,並用一個timer來接收是否有message進來並改變form上某個checkbox的狀態, (我最終是要把button 替換成由Thread上送出message的功能,以改變主form上checkbox的狀態). 我試做了一下沒有成功,卻找不出問題點 程式碼如下;    請問是哪裡有問題    謝謝    
const
   WM_SPECIAL_RELEASE_KB          = WM_USER   0;
   WM_SPECIAL_ID_STATUS_CHANGE    = WM_USER   1;    procedure TForm1.Button2Click(Sender: TObject);
var
  Msg:Tmsg;
begin
   postMessage(Self.handle,WM_SPECIAL_RELEASE_KB,1,0);
end;    procedure TForm1.Timer1Timer(Sender: TObject);
var
  Msg:TMsg;
begin
  waitMessage;
  if peekMessage(Msg,0,0,0,PM_REMOVE) then
    begin
      listBox1.Items.Add(format('%d', [Msg.message] ) );
      while listbox1.Items.Count > 40 do
        listbox1.items.Delete(0);
      
      case Msg.message of
        WM_SPECIAL_RELEASE_KB:
          begin
             if btnOptKm.Enabled then
               btnOptKm.Checked  := not btnOptKm.Checked;
          end;
        else
          begin
            TranslateMessage(Msg);
            DispatchMessage(Msg);
          end;
      end;
    end;    end;    
aquarius
資深會員


發表:3
回覆:347
積分:330
註冊:2003-05-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-17 18:14:50 IP:211.23.xxx.xxx 未訂閱
    參考下頭的程式碼吧!!    
const
  UM_TEST=WM_USER 1 ;    type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    procedure UMTEST(var msg:TMessage) ; message UM_TEST ;
  public
    { Public declarations }
  end;    var
  Form1: TForm1;    implementation    {$R *.DFM}    procedure TForm1.UMTEST(var msg:TMessage) ;
begin
  ShowMessage(format('WParam=%X, LParam=%X',[msg.wParam,msg.lParam])) ;
end ;    procedure TForm1.Button1Click(Sender: TObject);
begin
  PostMessage(self.handle,UM_TEST,0,255) ;
end;    end.  
...Aquarius
------
水瓶男的blog: http://791909.blogspot.com
danielx2000
一般會員


發表:29
回覆:33
積分:22
註冊:2002-09-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-18 09:08:34 IP:61.218.xxx.xxx 未訂閱
哈 原來這樣就可以啦 我想的太複雜了 感謝
系統時間:2024-06-02 12:27:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!