第一步:在類中加入成員函式和成員變數
[cpp]view plain
copy
public
: void
setcontrolinfo(
word
ctrlid);
protected
: int
m_old_cx,m_old_cy;
cdwordarray m_control_info;
第二步 在類的建構函式中初始化變數
[cpp]view plain
copy
cgdidlg::cgdidlg(cwnd* pparent
/*=null*/
) : cdialog(cgdidlg::idd, pparent)
注意: 是在類的建構函式中初始化,不是在類的init函式中進行初始化
第三步 定義實現成員函式setcontrolinfo(word ctrlid)
[cpp]view plain
copy
void
cgdidlg::setcontrolinfo(
word
ctrlid)
第四步 修改onsize訊息函式
[cpp]view plain
copy
void
cgdidlg::onsize(
uint
ntype,
intcx,
intcy)
cdialog::onsize(ntype, cx, cy);
float
dx_percent = (m_old_cx ==0)? 1 : (
float
)((float
)cx/(
float
)m_old_cx);
float
dy_percent = (m_old_cy ==0)? 1 : (
float
)((float
)cy/(
float
)m_old_cy);
if(m_old_cx)
pwnd-> getwindowrect(&wndrect);
screentoclient(&wndrect);
wndrect.left = (int
)(wndrect.left*dx_percent);
wndrect.right = (int
)(wndrect.right* dx_percent);
wndrect.bottom = (int
)(wndrect.bottom*dy_percent);
wndrect.top = (int
)(wndrect.top*dy_percent);
pwnd-> movewindow(&wndrect);
}
}
m_old_cx = cx;
m_old_cy = cy;
} 《第五步 在oninitdialog初始化函式中 加入控制項id
setcontrolinfo(idc_button1);
設定控制項隨視窗大小而改變
第一步 在類中加入成員函式和成員變數 public void setcontrolinfo word ctrlid protected int m old cx,m old cy cdwordarray m control info 第二步 在類的建構函式中初始化變數 cgdidlg cgdidlg...
wpf 控制項大小隨窗體大小改變而改變
wpf可以直接通過設定圖形類控制項的水平和垂直alighment為stretch實現 用乙個viewbox裝上所有的window內容然後當window縮放時就可以一起放大縮小了 viewbox的顯示機制是,先在記憶體中把按照邏輯大小把子控制項顯示出來,然後等比例的縮放顯示到viewbox的客戶區 例...
wpf 控制項大小隨窗體大小改變而改變
wpf可以直接通過設定圖形類控制項的水平和垂直alighment為stretch實現 用乙個viewbox裝上所有的window內容然後當window縮放時就可以一起放大縮小了 viewbox的顯示機制是,先在記憶體中把按照邏輯大小把子控制項顯示出來,然後等比例的縮放顯示到viewbox的客戶區 例...