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

利用DockManager儲存Docking位置與大小的問題

尚未結案
OpenGL
一般會員


發表:2
回覆:0
積分:0
註冊:2005-04-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-13 07:05:13 IP:218.168.xxx.xxx 未訂閱
各位前輩:          請問一個有關DockManager的問題 我想將兩個TForm Dock在一個TPanel上面 然後在關閉程式時記錄這兩個Form的位置與大小 (為的是下一次開啟程式時,會自動回復上一次donking的位置)    所以我寫了以下的程式碼: 在FormShow時把2個FormA與FormB放到Panel1上面, 然後在FormClose時利用DockManager->SaveToStream儲存資訊到檔案中 下一次開啟程式時,按下Button1利用DockManager->LoadFromStream讀取docking的資訊(位置與大小)    當我使用2個TForm時,執行DockManager->LoadFromStream後並不會回復到之前的docking位置與大小 而且在Panel1中的FormA與FormB會變成無法拉動改變大小    如果將2個TForm改成用2個TPanel就可以正常執行 為什麼用Panel就可以用Form就不行呢? (因為特殊需求所以我必須使用TForm而不能使用TPanel)    謝謝先~    程式碼如下:
    void __fastcall TForm1::FormShow(TObject *Sender)
{
        FormA->ManualDock(Panel1,Panel1,alNone);
        FormB->ManualDock(Panel1,Panel1,alNone);
        FormA->Show();
        FormB->Show();
}    void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{            TFileStream *FileStr;
        FileStr = new TFileStream("C:\\dockposition.dck",fmCreate|fmOpenWrite);
        Panel1->DockManager->SaveToStream(FileStr);
        delete FileStr;     }
void __fastcall TForm1::Button1Click(TObject *Sender)
{            TFileStream *FileStr;
        FileStr = new TFileStream("C:\\dockposition.dck",fmOpenRead);
        Panel1->DockManager->LoadFromStream(FileStr);
        delete FileStr;            Panel1->DockManager->ResetBounds(true);
}←
發表人 - taishyang 於 2005/04/13 12:43:21
系統時間:2024-11-23 16:09:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!