請問如何得知Form移動多少? |
答題得分者是:aftcast
|
kirei6989
一般會員 發表:16 回覆:13 積分:5 註冊:2011-04-14 發送簡訊給我 |
|
老大仔
尊榮會員 發表:78 回覆:837 積分:1088 註冊:2006-07-06 發送簡訊給我 |
想寫簡單點的話,就用個Timer去偵測吧~
噢~我有找到一個另解 不過~是用Delphi寫的... 請注意procedure的部份即可~ [code delphi] unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private declarations } public { Public declarations } procedure OnMove(var Msg: TWMMove); message WM_MOVE; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.OnMove(var Msg: TWMMove); begin Caption := IntToStr(Form1.Left) ', ' IntToStr(Form1.Top); inherited; end; end. [/code] ===================引 用 kirei6989 文 章=================== 當程式執行時螢幕上會出現2個Form(TForm), 假設主要視窗為Form1,當Form1被移動時,Form2也要跟著移動。 我本來是想使用MouseDown和MouseUp取得Form1移動的距離。 可是Form能移動是要滑鼠點在標題列上,但這樣就偵測不到MouseDown和MouseUp的事件了。 請問大家有人知道該怎麼做才能讓Form1移動時Form2也跟著移動呢?
編輯記錄
老大仔 重新編輯於 2011-05-04 03:53:21, 註解 無‧
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
作者: 蕭沖
[code cpp] class TForm1 : public TForm { __published: // IDE-managed Components void __fastcall FormShow(TObject *Sender); private: // User declarations void __fastcall OnMoving(TMessage &msg); public: // User declarations __fastcall TForm1(TComponent* Owner); protected: BEGIN_MESSAGE_MAP VCL_MESSAGE_HANDLER(WM_MOVING, TMessage, OnMoving) END_MESSAGE_MAP(TForm) }; [/code] [code cpp] //--------------------------------------------------------------------------- void __fastcall TForm1::OnMoving(TMessage &msg) { // RECT *pRect = 0; // pRect = (RECT*)msg.LParam; // TRect rect(*pRect); Form2->Left = Left Width 50; Form2->Top = Top Height 20; } //--------------------------------------------------------------------------- void __fastcall TForm1::FormShow(TObject *Sender) { Form2->Show(); } //-------------------------------------------------------------- [/code]
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
kirei6989
一般會員 發表:16 回覆:13 積分:5 註冊:2011-04-14 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |