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

決定元件的尺寸

尚未結案
piemomoka
一般會員


發表:8
回覆:10
積分:3
註冊:2003-12-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-24 15:51:31 IP:157.16.xxx.xxx 未訂閱
請問各位前輩 要指定Form上面各元件(Component)的尺寸與排列 除了以Form1->ClientHeight(ClientWidth)的比例來決定之外 有什麼其他的方式嗎? 發表人 - taishyang 於 2003/12/24 17:26:50
enu
中階會員


發表:36
回覆:93
積分:55
註冊:2003-10-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-24 16:42:30 IP:163.27.xxx.xxx 未訂閱
可否再將您的問題說明清楚? 下列的回應看是不是您要的: http://delphi.ktop.com.tw/topic.php?topic_id=26525
piemomoka
一般會員


發表:8
回覆:10
積分:3
註冊:2003-12-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-24 18:10:03 IP:157.16.xxx.xxx 未訂閱
謝謝enu!我的做法如下 ScrollBox1->Height=Form1->ClientHeight*95/100; ScrollBox1->Width=Form1->ClientWidth*82/100; ScrollBox1->Top=(Form1->ClientHeight - ScrollBox1->Height)/8; ScrollBox1->Left=(Form1->ClientWidth - ScrollBox1->Width)/9; 我想跟版主所說的方法類似,只是我沒有把它定義而直接用 我想看看是不是有其他的方法,能把介面做到像一般市販的程式一樣美觀 還有,請教一下版主所說的window stateu該如何確認 我是用WindowState=wsMaximized;讓form直接最大化,再用Break執行程式之後去看ClientHeight(Width)的值 不好意思,我是自學的,問的問題可能有點~ 請多包含
CuteBabyBoy
初階會員


發表:18
回覆:97
積分:48
註冊:2003-07-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-12-24 18:55:57 IP:218.167.xxx.xxx 未訂閱
Dear piemomoka 您可以參考 Form1->SetBounds(0,0,800,600); Edit1->SetBounds(0,0,400,300); 希望沒誤解您的意思
CuteBabyBoy
初階會員


發表:18
回覆:97
積分:48
註冊:2003-07-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-12-24 19:01:09 IP:218.167.xxx.xxx 未訂閱
Dear piemomoka     您直接去確認應該就好啦...^^    
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        if(WindowState == wsMaximized )
                ShowMessage("wsMaximized");
        else if(WindowState == wsNormal )
                ShowMessage("wsNormal");
        else if(WindowState == wsMinimized )
                ShowMessage("wsMinimized");
}
//---------------------------------------------------------------------------
 
piemomoka
一般會員


發表:8
回覆:10
積分:3
註冊:2003-12-18

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-12-25 08:56:44 IP:157.16.xxx.xxx 未訂閱
謝謝CuteBabyBoy! 看一下說明大概知道SetBounds可以設定元件的上下左右邊界 可是還是不會用ㄟ 我要做上面這個圖,例如下面這樣 Form1->SetBounds(0,0,800,700); PaintBox1->SetBounds(10,10,610,510); Button1->SetBounds(750,650,775,665); BitBtn1->SetBounds(700,650,725,665); GroupBox1->SetBounds(300,600,500,650); RadioButton1->SetBounds(310,610,365,640); RadioButton2->SetBounds(370,610,425,640); RadioButton3->SetBounds(430,610,485,640); 設定各元件的邊界嗎? 我想要讓PaintBox1隨著Form的Resize改變大小 並讓那些Button保持相對位置,有什麼容易的方式嗎? 麻煩你指導一下,謝謝
CuteBabyBoy
初階會員


發表:18
回覆:97
積分:48
註冊:2003-07-11

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-12-25 13:14:08 IP:218.167.xxx.xxx 未訂閱
Dear piemomoka     您可以參考下面做法... 如果是 Object(Button) 上的字 ,可能還要再處理    
     __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
        Form1->SetBounds(0,0,640,480);
        ObjectResize();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormResize(TObject *Sender)
{
        ObjectResize();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ObjectResize(void)
{
        Button1->SetBounds(Form1->Width / 3,(Form1->Height / 5)*1,Form1->Width / 3,  Form1->Height / 5);
        Button2->SetBounds(Form1->Width / 3,(Form1->Height / 5)*3,Form1->Width / 3,  Form1->Height / 5);
}
//---------------------------------------------------------------------------    
系統時間:2024-06-25 14:24:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!