OnSize() 与 OnInitDialog()[设置控件大小]
2011-06-25 16:29
381 查看
今天写了这样的一些代码:
但是每次运行都有ASSERT()错误。
本以为是变量与控件的关系没有关联好,就测试了一下,发现并没有问题。
于是在OnInitDialog()于OnSize() 中分别插入了断点,发现程序首先运行到OnSize() ,才到OnInitDialog()。并且在程序运行到OnSize()的时候,m_Calendar还没有被初始化,其hWnd = 0.
于是对程序做了一下这样的改动:
就好了。
//使控件的大小跟随窗口的大小而变化 ////////////////////////////////////////////////////// void CPlannerDlg::OnSize(UINT nType, int cx, int cy) { CDialog::OnSize(nType, cx, cy); m_Calendar.MoveWindow(100,100,200,200,0); }
但是每次运行都有ASSERT()错误。
本以为是变量与控件的关系没有关联好,就测试了一下,发现并没有问题。
于是在OnInitDialog()于OnSize() 中分别插入了断点,发现程序首先运行到OnSize() ,才到OnInitDialog()。并且在程序运行到OnSize()的时候,m_Calendar还没有被初始化,其hWnd = 0.
于是对程序做了一下这样的改动:
//使控件的大小跟随窗口的大小而变化 ////////////////////////////////////////////////////// void CPlannerDlg::OnSize(UINT nType, int cx, int cy) { CDialog::OnSize(nType, cx, cy); static int i = 0; if(i++) { m_Calendar.MoveWindow(100,100,200,200,0); //m_Calendar是在OnInitDialog()中被初始化的。而程序先调用了OnSize(). } }
就好了。
相关文章推荐
- C++创建控件并响应三部曲、设置窗口全屏、OnSize实现控件大小改变、跟踪调试顺序
- 注意mfc下oninitdialog()和onsize()的调用顺序
- MFC的OnCreate/OnSize/OnInitDialog哪个先执行?
- 在CDialog::OnInitDialog设置DEFAULT-BUTTON的注意事项
- 直接继承View来自定义控件时,需要重写onMeasure()方法并设置wrap_content时的大小 原理分析
- VC中使用OnSize函数,设置控件位置的注意事项
- MFC中OnInitDialog与OnSize函数谁先调用
- OnInitDialog与OnSize的执行顺序
- #320 – StackPanel默认如何设置子控件的大小(Default Size of StackPanel Child Controls)
- vs2008给子对话框添加初始化函数OnInitDialog()函数
- delphi代码中对窗体进行设置+控件大小随窗体该表
- jlable setsize和setbackground无法设置背景和大小
- Android Dialog 设置字体大小
- Builder模式设置AlertDialog字体大小、颜色等属性
- Echarts之Chrome不兼容fontSize小于12的字体大小设置&解决办法
- 控件大小改变消息 WM_SIZE
- Android 开发,JAVA动态设置控件大小
- java -Xms -Xmx设置java应用程序运行的内存大小,Xms Xmx PermSize MaxPermSize 区别
- BorderLayout控件大小的设置
- EditText 中的hint(提示消息的字体大小设置) 单独设置 与textsize没有关系