书到用时方恨少!
一直没有用VC做过什么开发,眼下遇上任何一件小事都得从头来过。下面就是一个例子,记下来留作参考。
【要求】
1. 窗体大小可调的特殊要求:不允许比原始窗体更小,而且宽度不允许拉伸,即只允许高度拉伸;
2. 窗体中有一个文本框还有两个按钮,高度变化后所属控件要进行相应的位置调整。
【实现手法】
1. 窗体设计。新建对话框的Border默认为Dialog Frame,需要修改为Resizing;
2. 在窗体类的头文件中增加两个私有变量;
CSize m_OldSize; //保存上一次窗体大小
CRect m_rectOrigi; //窗体的原始位置及大小
3. 变量初始化(构架函数中);
//init
m_rectOrigi = CRect(0, 0, 0, 0);
4. 获取窗体的初始大小(OnInitDialog中);
GetWindowRect(&m_rectOrigi);
5. 指定窗体的WM_SIZE消息事件的处理属性为OnSize;
6. OnSize方法代码;
void CTestDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
if(