亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? bcb028.txt

?? c++ builder 的一些txt文檔
?? TXT
字號:

C++ Builder中保持控件的位置及大小
  
    C++ Builder中保持控件的位置及大小
    
C++ Builder/Delphi是Inprise(原Borland)公司廣受歡迎的可視化C++/Pascal開發(fā)工具,利用它可極大地加快應(yīng)用程序的開發(fā)速度。但是,也正因為其是可視化編程工具,將控件拖放到Form后,控件的位置就固定死了。隨著Form的大小或屏幕分辨率的改變,控件和Form本身的位置往往變得非常混亂。本文將介紹一些正確定位控件及Form的方法。
    利用OnResize事件改變控件位置及大小
    C++ Builder/Delphi中的Form控件有一個OnResize事件,F(xiàn)orm的所有與大小變化有關(guān)的動作可以觸發(fā)這個事件,包括Form的創(chuàng)建、最大化/最小化/還原、用鼠標(biāo)拖動改變大小等。因此,在此事件中動態(tài)地改變各個控件的位置可以確保其在Form中的相對位置正確。因為CBuilder與Delphi的程序有很多共同之處,所以這里只列出CBuilder的代碼。
    下面的代碼將確保控件在任何情況下都居中。
    程序一:
    void __fastcall TForm1::FofmResize(TObject*Sender)
    {
    int midLoc=Width/2; //取Form的中點
    Label1->Left=midLoc-Label1->Width/2; //設(shè)置Label1的位置為Form居中
    Button1->Left=midLoc-Button1->Width/2; //設(shè)置Button1的位置為Form居中
    }
    稍微修改這段代碼,可以使控件保持在任何想要的位置。同樣,也可以利用OnResize事件改變控件的大小。當(dāng)Form中控件很多時,分別對每一個控件單獨調(diào)整位置是件非常麻煩的事,在TFrom類中有一個Controls數(shù)組維護所有From中的控件,利用它可方便地對所有控件進行操作。下面是其源代碼:
    程序二:
    void __fastcall TForm1::FormResize(TObject*Sender)
    {
    int midLoc=Width/2;
    TControl * ChildControl;
    fof(int i=0; i<ControlCount; i++)
    {//遍歷Controls數(shù)組,ControlCount是數(shù)組元素個數(shù)
    ChildControl = Controls[i];
    ChildCotrol->Left = midLoc-ChildControl->Width/2;
    }
    }
    利用“容器”控制成組控件位置
    上面的代碼對維持所有控制到統(tǒng)一位置非常方便,但不利于對成組控件進行操作。
    在C++Builder中提供了一些能安放其它控件的“容器”控件,如TPanel、TGroupBox等,可以將控件放在“容器”控件中:然后對“容器”控件進行操作,從而達到成組控制控件的目的。利用“容器”控件控制控件位置的結(jié)果,所有控件都自動居中,但是在GroupBox1控件中的子控件卻沒有居中,這是因為Controls數(shù)組只維護Form的直接子控件,對Form中控件的子控件則無能為力。因此,GroupBox1控件中的子控件仍然在初始位置,必須編寫相應(yīng)代碼動態(tài)控制其位置及大小。這種技術(shù)非常重要,特別是在動態(tài)改變“容器”控件大小時。其實,“容器”控件與From一樣有Controls數(shù)組,只要對其進行與程序2類似的操作即可。代碼見程序3
    程序三
    void __fastcall TForm1::FormResize(TObject*Sender)
    {
    int midLoc=Width/2;
    TControl * ChildControl;
    for(int i=0;i<ControlConnt; i++)
    {//遍歷Controls數(shù)組,ControlCount是數(shù)組元素個數(shù)
    ChildControl = Controls[i];
    ChildControl->Left = midLoc-ChildControl->Width/2;
    if (ChildControl ==GroupBox1)
    {//若控件是GroupBox,對其子控件進行操作
    int SubMidLoc=GroupBox1->Width/2;
    for(int j=0;j<GroupBox1->ControlCount;j++)
    {//遍歷GroupBox1的Controls數(shù)組。ControlCount是數(shù)組元素個數(shù)
    ChildControl=GroupBox1->Controls[j];
    ChildContro1->Left=SubMidLoc-ChildControl->Width/2;
    }
    }
    }
    }
    在不同分辨率下維護窗體位置及大小
    商業(yè)程序一般要在各種分辨率下運行,正確判斷當(dāng)前分辨率就顯得很重要。Windows函數(shù)GetDeviceCaps可以返回任意設(shè)備描述表中設(shè)備大小。
    GetDeviceCaps有兩個參數(shù),第一個是要查詢的設(shè)備描述表句柄,第二個是要查詢參數(shù)的類型,其中HORZRES,VERTRES分別代表屏幕水平和垂直分辨率。程序4是獲得當(dāng)前屏幕分辨率的代碼。一般可將這段代碼放在“工程文件”(如Project1.cpp)中,并將i、j定義為全局變量,然后可以利用前面介紹的技術(shù)控制各種屏幕元素的大小及位置。
    程序四:
    HDC hdc=GetDC(NULL); //獲得屏幕設(shè)備描述表句柄
    int i=GetDeviceCaps(hdc,HORZRES); //查詢屏幕水平分辨率,并返回在變量i中
    int j=GetDeviceCaps(hdc,VERTRES); //查詢屏幕水平分辨率,并返回在變量j中
    ReleaseDC(NULL,hdc); //釋放屏幕設(shè)備描述表
    用同樣的方法,可以對不同大小紙張的打印進行控制,在這里不再贅述,有興趣的朋友可查看GetDevice
    Caps幫助及打印幫助。 
  
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

激情综合色播五月| 精品国产91乱码一区二区三区| 久久蜜桃av一区精品变态类天堂| 日本亚洲电影天堂| 日韩丝袜情趣美女图片| 奇米一区二区三区| 精品久久久久久久人人人人传媒| 麻豆国产精品一区二区三区| 日韩欧美在线综合网| 蜜桃精品视频在线| 亚洲精品在线电影| 岛国av在线一区| 亚洲免费大片在线观看| 欧美怡红院视频| 捆绑变态av一区二区三区| 欧美本精品男人aⅴ天堂| 国产成人在线电影| 亚洲免费在线观看| 91精品国产综合久久久久久久久久| 奇米精品一区二区三区在线观看一| 日韩欧美久久久| 高清不卡在线观看| 亚洲综合在线观看视频| 欧美一区二区在线免费观看| 美女一区二区三区在线观看| 国产丝袜美腿一区二区三区| av在线不卡电影| 亚洲18影院在线观看| 久久你懂得1024| 91久久精品一区二区三| 全国精品久久少妇| 国产精品国产馆在线真实露脸| 在线视频一区二区三区| 激情欧美一区二区| 亚洲另类一区二区| 久久天堂av综合合色蜜桃网 | 国产精品色婷婷| 色婷婷av一区二区三区软件| 首页亚洲欧美制服丝腿| 日韩三级精品电影久久久| 久久精品噜噜噜成人88aⅴ | 精品欧美一区二区在线观看| 国产成人免费av在线| 亚洲成人综合视频| 国产日韩视频一区二区三区| 欧美色区777第一页| 国产福利视频一区二区三区| 午夜久久福利影院| 国产精品乱人伦一区二区| 日韩一区国产二区欧美三区| a4yy欧美一区二区三区| 精品影院一区二区久久久| 亚洲一区中文在线| 最新久久zyz资源站| 久久影院视频免费| 日韩色在线观看| 欧美午夜精品一区二区蜜桃| 成人蜜臀av电影| 国产乱子伦视频一区二区三区| 亚洲高清免费观看高清完整版在线观看| 久久久久国产精品厨房| 91精品国产综合久久久久久久| 91网站视频在线观看| 粉嫩av一区二区三区粉嫩| 欧美a一区二区| 天天色综合天天| 亚洲一区在线观看免费观看电影高清 | 久久精品视频一区二区| 欧美一区日本一区韩国一区| 色婷婷久久久综合中文字幕| 成人激情免费电影网址| 国产乱子轮精品视频| 久久精品国产亚洲a| 天堂精品中文字幕在线| 亚洲风情在线资源站| 依依成人综合视频| 一区二区三区四区蜜桃| 最好看的中文字幕久久| 亚洲码国产岛国毛片在线| 一区精品在线播放| 中文无字幕一区二区三区 | 亚洲少妇中出一区| 国产精品久久久久三级| 国产日韩影视精品| 亚洲国产精品精华液2区45| 国产目拍亚洲精品99久久精品| 久久免费电影网| 国产亚洲欧洲997久久综合| 久久久亚洲高清| 亚洲国产精品成人综合| 国产精品视频一二| 亚洲色图欧洲色图| 尤物在线观看一区| 视频一区视频二区中文| 免费成人性网站| 国产伦精品一区二区三区免费迷| 色激情天天射综合网| 精品视频123区在线观看| 国产精品私房写真福利视频| 91精品国产欧美一区二区18| 日本高清不卡视频| 成人国产精品免费观看动漫| 99久久精品国产一区二区三区| 日本精品一级二级| 欧美性一区二区| 久久日一线二线三线suv| 国产性天天综合网| 日韩av网站在线观看| 91精品国产91综合久久蜜臀| 欧美成人精品高清在线播放| 日韩女优av电影| 91精品国产一区二区三区香蕉| 91麻豆精品国产综合久久久久久| 久久综合九色欧美综合狠狠| 亚洲一区二区中文在线| 国产精品538一区二区在线| 亚洲另类色综合网站| 中文字幕在线不卡视频| 国产精品国产三级国产a| 一本大道av一区二区在线播放 | 久久午夜羞羞影院免费观看| 久久激情综合网| 成人免费在线播放视频| 91精品国产欧美一区二区18| 国产乱码精品一区二区三区av | 亚洲六月丁香色婷婷综合久久 | 国产精品资源在线看| 日韩成人午夜精品| 欧美卡1卡2卡| 日韩激情在线观看| 97se亚洲国产综合自在线不卡| 欧美日韩在线免费视频| 日韩av在线发布| 国产色综合久久| 亚洲成人动漫av| 国产精品一区二区久久不卡| 久久久久久电影| 成人免费视频视频| 午夜欧美电影在线观看| 欧美一区二区精品在线| 麻豆精品一区二区| 欧美久久久久久蜜桃| 亚洲天堂a在线| 日韩av电影免费观看高清完整版在线观看| 一本到高清视频免费精品| 亚洲一级在线观看| 日韩一区二区在线观看视频| 亚洲一级二级在线| 一本大道久久精品懂色aⅴ | 色综合天天综合网国产成人综合天| 粉嫩欧美一区二区三区高清影视| 日韩欧美一区二区久久婷婷| 欧美国产一区二区| 成人动漫精品一区二区| 国产精品乱子久久久久| 色综合久久中文综合久久97| 国产欧美日韩综合精品一区二区| 天天综合天天综合色| 91在线无精精品入口| 亚洲欧美激情视频在线观看一区二区三区| 国产真实乱子伦精品视频| 国产欧美日韩三级| 欧美成人猛片aaaaaaa| 6080国产精品一区二区| 色激情天天射综合网| 欧美人牲a欧美精品| 免费人成网站在线观看欧美高清| 久久99精品久久只有精品| 免费欧美在线视频| 国产麻豆精品theporn| 国内成人免费视频| 色欧美乱欧美15图片| 精品av综合导航| 亚洲人成网站精品片在线观看| 午夜精品久久久久久久99水蜜桃| 免费成人在线视频观看| 久久se精品一区精品二区| 久久电影国产免费久久电影| 天天影视涩香欲综合网| 亚洲成人免费视| 五月婷婷另类国产| 韩国一区二区视频| 天天操天天干天天综合网| 国产午夜亚洲精品午夜鲁丝片| 国产三区在线成人av| 国产精品久久毛片av大全日韩| 亚洲一区二区三区四区的| 男人的j进女人的j一区| 亚洲va欧美va天堂v国产综合| 午夜电影网一区| 欧日韩精品视频| 欧美美女一区二区三区| 成人免费毛片嘿嘿连载视频| 国产精品99久久久久久有的能看| 老司机精品视频线观看86| 久久精品99国产国产精| 北条麻妃一区二区三区| 欧美群妇大交群的观看方式| 欧美激情综合五月色丁香小说| 亚洲综合在线视频|