亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

MFC控件大小隨窗體大小而改變

2020-01-26 15:05:20
字體:
來源:轉載
供稿:網友

一。大小和位置都改變

1.首先為窗體類添加CRect m_rect,該成員變量用來記錄窗體的當前大小。

2.在類向導里面(Ctrl+W),為窗體添加消息WM_SIZE的響應函數OnSize();

注意if(nType==1) return;這一句必須添加,否則最小化恢復的時候會出錯。

void CPaperManagementDlg::OnSize(UINT nType, int cx, int cy)  {   CDialog::OnSize(nType, cx, cy);   if(nType==1) return;//最小化則什么都不做   // TODO: Add your message handler code here   CWnd *pWnd;    pWnd = GetDlgItem(IDC_STATIC);   ChangeSize(pWnd, cx, cy);   pWnd = GetDlgItem(IDC_FILE_TREE);   ChangeSize(pWnd, cx, cy);   pWnd = GetDlgItem(IDC_EDIT_NAME);   ChangeSize(pWnd, cx, cy);   pWnd = GetDlgItem(IDC_EDIT_REFERENCE);   ChangeSize(pWnd, cx, cy);   pWnd = GetDlgItem(IDC_EDIT_SUMMARY);   ChangeSize(pWnd, cx, cy);   pWnd = GetDlgItem(IDC_EDIT_REMARK);   ChangeSize(pWnd, cx, cy);   pWnd = GetDlgItem(IDC_BUTTON_UPDATE);   ChangeSize(pWnd, cx, cy);   pWnd = GetDlgItem(IDC_BUTTON_SAVE);   ChangeSize(pWnd, cx, cy);   pWnd = GetDlgItem(IDC_STATIC_1);   ChangeSize(pWnd, cx, cy);   pWnd = GetDlgItem(IDC_STATIC_2);   ChangeSize(pWnd, cx, cy);   pWnd = GetDlgItem(IDC_STATIC_3);   ChangeSize(pWnd, cx, cy);   pWnd = GetDlgItem(IDC_STATIC_4);   ChangeSize(pWnd, cx, cy);   GetClientRect(&m_rect);// 將變化后的對話框大小設為舊大小   } 

其中函數ChangeSize是手動添加的用戶函數,步驟如下

3.添加一個改變控件大小的用戶函數,void ChangeSize(CWnd *pWnd, int cx, int cy),并編寫代碼

void CPaperManagementDlg::ChangeSize(CWnd *pWnd, int cx, int cy) {   if(pWnd) //判斷是否為空,因為對話框創建時會調用此函數,而當時控件還未創建    {     CRect rect;  //獲取控件變化前的大小      pWnd->GetWindowRect(&rect);     ScreenToClient(&rect);//將控件大小轉換為在對話框中的區域坐標       //  cx/m_rect.Width()為對話框在橫向的變化比例     rect.left=rect.left*cx/m_rect.Width();//調整控件大小     rect.right=rect.right*cx/m_rect.Width();     rect.top=rect.top*cy/m_rect.Height();     rect.bottom=rect.bottom*cy/m_rect.Height();     pWnd->MoveWindow(rect);//設置控件大小   } } 

真正改變控件大小的函數是ChangeSize函數,在OnSize中不斷調用ChangeSize函數從而改變窗體中所有控件的大小。

――――――――――――――――――――――――――――――――――――――――――――――――――――――

以下內容來自網絡:

二、 VC++之根據對話框大小僅調整控件位置

    1、在對話框類中加入成員變量CRect m_rect;用于保存對話框大小變化前的大?。?br />    2、在對話框的OnInitDialog()函數中獲取對話框創建時的大小:
    GetClientRect(&m_rect);
    3、在WM_SIZE的響應函數OnSize()中加入以下代碼:

  CWnd *pWnd;   pWnd = GetDlgItem(IDC_BUTTON1);   //獲取控件句柄  if(nType==1) return;  //如果是窗體最小化則什么都不做  if(pWnd)//判斷是否為空,因為對話框創建時會調用此函數,而當時控件還未創建  {   CRect rect;  //獲取控件變化前大小   LONG cWidth,cHeight; //記錄控件的右部到窗體右部的距離,記錄控件的底部到窗體底部的距離   pWnd->GetWindowRect(&rect);   ScreenToClient(&rect);//將控件大小轉換為在對話框中的區域坐標   cWidth=m_rect.Width()-rect.right;   cHeight=m_rect.Height()-rect.bottom;   rect.left=cx-rect.Width()-cWidth;   rect.right=cx-cWidth;     rect.top=cy-rect.Height()-cHeight;   rect.bottom=cy-cHeight;   pWnd->MoveWindow(rect);//設置控件大小  }  GetClientRect(&m_rect);//將變化后的對話框大小設為舊大小

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色中色综合影院手机版在线观看| 午夜精品久久久久久久久久久久久| 中文字幕免费精品一区| 成人免费网站在线看| 亚洲男人的天堂在线| 97久久精品人搡人人玩| 久久久久五月天| 国产成人啪精品视频免费网| 亚洲精品国产精品国自产观看浪潮| 91精品视频专区| 97视频免费在线看| 国产精品久久久久久久电影| 在线播放精品一区二区三区| 青青青国产精品一区二区| 欧美第一黄网免费网站| 2019中文字幕全在线观看| 亚洲第一区中文99精品| 欧美亚洲另类制服自拍| 色系列之999| 国产免费成人av| 精品一区二区三区三区| 国产精品www网站| 亚洲在线视频观看| 久久婷婷国产麻豆91天堂| 九九久久久久99精品| 激情av一区二区| 秋霞成人午夜鲁丝一区二区三区| 久久精品国产久精国产思思| 国产一区二区在线免费| 国产精品丝袜一区二区三区| 久久精品国产2020观看福利| 91国产高清在线| 亚洲另类xxxx| 国内精久久久久久久久久人| 精品久久久久久中文字幕大豆网| 欧美另类极品videosbest最新版本| 欧美成人免费播放| 国产女人18毛片水18精品| 久久精品成人动漫| 久久激情视频久久| 日本精品免费观看| 国产精品电影在线观看| 国产免费久久av| 91精品国产综合久久男男| 日韩欧美aⅴ综合网站发布| 国内精品久久久久久久久| 国产精品久久久久久久久久免费| 欧美一区二区三区精品电影| 国产精品91久久| 午夜精品福利在线观看| 日韩av免费看网站| 国产精品扒开腿做| 中文字幕久热精品视频在线| 日韩av电影手机在线观看| 91色p视频在线| 日韩有码在线电影| 日韩一区二区av| 在线观看日韩欧美| 国产深夜精品福利| 热久久免费国产视频| 少妇激情综合网| 亚洲成年网站在线观看| 欧美第一黄网免费网站| 亚洲a成v人在线观看| 成人免费看吃奶视频网站| 中文字幕国产亚洲| 国产精品jizz在线观看麻豆| 久久精品99久久久久久久久| 欧美老女人www| 亚洲欧美另类国产| 精品日韩视频在线观看| 久久久噜噜噜久噜久久| 亚洲精品国偷自产在线99热| 欧美中文在线字幕| 精品综合久久久久久97| 国内精品久久久久久中文字幕| 欧美大片免费观看在线观看网站推荐| 黑人巨大精品欧美一区二区三区| 欧美激情视频网址| 亚洲老头同性xxxxx| 欧美激情精品久久久久久蜜臀| 欧美亚洲日本网站| 国产综合香蕉五月婷在线| 国产一区二区动漫| 日本伊人精品一区二区三区介绍| 日韩电影免费观看在线| 亚洲无限av看| 亚洲欧美国产视频| 久久精品视频在线观看| 亚洲专区国产精品| 国产精品r级在线| 久久69精品久久久久久国产越南| 一区二区三区精品99久久| 亚洲国产精品小视频| 日韩在线欧美在线| 亚洲国产精品久久久久久| 亚洲欧美中文日韩v在线观看| 91九色视频导航| 中文字幕欧美精品在线| 日韩一区二区三区国产| 国产精品极品美女粉嫩高清在线| 国产一区二区在线播放| 亚洲女人天堂视频| 国产欧美精品一区二区| 日韩中文字幕不卡视频| 日韩精品一区二区三区第95| 91av在线精品| 91精品久久久久| 亚洲国产天堂久久综合| 在线看福利67194| 久久综合免费视频影院| 国产精品美女主播在线观看纯欲| 成人精品一区二区三区电影免费| 欧美成人午夜剧场免费观看| 国产深夜精品福利| 欧美视频专区一二在线观看| 精品久久久精品| 57pao国产成人免费| 亚洲一区美女视频在线观看免费| 97国产真实伦对白精彩视频8| 91在线看www| 国产日产亚洲精品| 欧美激情精品久久久久久黑人| 中文字幕亚洲无线码在线一区| 国产精品久久久久秋霞鲁丝| 一区二区三欧美| 一区二区三区国产在线观看| 国产精品劲爆视频| 丝袜亚洲另类欧美重口| 亚洲精品一区av在线播放| 欧美亚洲激情视频| 91黄色8090| 日韩av在线网| 中文日韩在线观看| 亚洲爱爱爱爱爱| 久久国产精品久久久久| 亚洲国产精品va在线观看黑人| 久久天堂av综合合色| 成人444kkkk在线观看| 亚洲人线精品午夜| 国产亚洲精品高潮| 91禁外国网站| 国产亚洲精品一区二区| 成人午夜在线视频一区| 亚洲自拍高清视频网站| 国产91网红主播在线观看| 亚洲国模精品私拍| 国产情人节一区| 久久久国产精品x99av| 国产精品video| 欧美日韩裸体免费视频| 亚洲精品视频中文字幕| 欧美日韩综合视频| 97视频色精品| 91亚洲精品在线| 精品久久久久久久中文字幕| 日韩一区二区三区xxxx| 国产精品激情av电影在线观看| 国内精品久久久久久中文字幕| 亚洲性无码av在线| 国产69精品99久久久久久宅男| 最好看的2019年中文视频| 久久69精品久久久久久国产越南| 久久97久久97精品免视看|