Form2無法同時跟隨Form1動 |
尚未結案
|
apc
一般會員 發表:29 回覆:36 積分:13 註冊:2005-01-10 發送簡訊給我 |
|
blk5743
高階會員 發表:34 回覆:371 積分:236 註冊:2003-11-17 發送簡訊給我 |
|
m8815010
版主 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
引言: 在同一個Project內的2個Form各自 #include "Unit1.h" #include "Unit2.h" 之後用 Form2->Top=Form1->Top 50; Form2->Left=Form1->Left 100; 當拖移Form1時Form2應該也會移動才對. 請高手指點.apc你好: 嗯,你應該是沒有寫在事件內吧!所以一定是無法總是同步的! 好像沒有直接對應的事件,直接找那個訊息比較快! class="code"> In .h ~~ class TForm1 : public TForm { __published: // IDE-managed Components TButton *Button1; void __fastcall Button1Click(TObject *Sender); private: // User declarations TWndMethod OldFormWndProc; //add this line void __fastcall FormWndProc(TMessage& Message); //add this line public: // User declarations __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; ~~ In .cpp ~~ TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { OldFormWndProc=this->WindowProc; this->WindowProc=FormWndProc; } //--------------------------------------------------------------------------- void __fastcall TForm1::FormWndProc(TMessage& Message) { OldFormWndProc(Message); if (Message.Msg==WM_MOVING) { Form2->Top=Form1->Top 50; Form2->Left=Form1->Left 100; } } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { Form2->Show(); } ~~ Try if it works! |
apc
一般會員 發表:29 回覆:36 積分:13 註冊:2005-01-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |