+ -
当前位置:首页 → 问答吧 → 对话框上动态创建按钮的问题

对话框上动态创建按钮的问题

时间:2011-12-18

来源:互联网

为什么在OnInitDialog()函数中添加代码:
C/C++ code

m_hButton.Create("确认",
                 WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
                 CRect(10,10,120,43), this, ID_MYEDT);


能正常显示一个按钮控件.


参考
http://blog.csdn.net/green_rose/article/details/5465895
但是使用指针,换成以下代码,就不能显示出来呢?
C/C++ code

CButton *p_MyBut = new CButton();
p_MyBut->Create("确认",
                WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
                CRect(20,40,80,40), this, IDC_MYBUTTON );
p_MyBut->ShowWindow(SW_SHOW);
p_MyBut->SetFocus(); 


确不能将按钮控件显示出来?

作者: ryop43   发布时间: 2011-12-18

C/C++ code

p_MyBut->SetWindowPos(0,10,10,30,20,SWP_SHOWWINDOW); 
p_MyBut->ShowWindow(SW_SHOW);


需在ShowWindow之前调用如下函数,具体参数值可自行调整。
p_MyBut->SetWindowPos(0,10,10,30,20,SWP_SHOWWINDOW);

作者: fight_in_dl   发布时间: 2011-12-18

CRect(20,40,80,40), (左,上,右,下)无高!

作者: schlafenhamster   发布时间: 2011-12-18

引用 2 楼 schlafenhamster 的回复:
CRect(20,40,80,40), (左,上,右,下)无高!

是的,CRect的坐标没设置好,换成原来的那个CRect(10,10,120,43)就可以了,以为这样屏幕上会显示一个线

作者: ghj123h   发布时间: 2011-12-18

热门下载

更多