mfc创建控件!!菜鸟求救!!

madisonj 2012-05-25 09:27:23

BOOL CButtonDlg::OnInitDialog()
{
CButton m_button;
m_button.Create(_T( "MYBUTTON "), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, CRect(100, 100, 100, 100), this, 12);
m_button.ShowWindow(SW_SHOW);

CDialogEx::OnInitDialog();

// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标

// TODO: 在此添加额外的初始化代码

return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}


我动态创建的按钮怎么创建不了呢 以上是代码!!!各位大侠指点一下啊
...全文
143 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
tixisong 2012-05-26
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

CButton *m_button = new CButton();
m_button->Create(_T( "MYBUTTON "), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, CRect(100, 100, 100, 100), this, 12);
m_button->ShowWindow(SW_SHOW);


CButton ……
[/Quote]


定义为全局变量,程序自动释放内存。若用其余申请,需要手动释放。
向立天 2012-05-26
  • 打赏
  • 举报
回复
首先m_button应该是类的成员变量
然后CRect的参数分别是左上角和右下角的坐标
zhoxier 2012-05-26
  • 打赏
  • 举报
回复
就是设置类变量的问题,用CButton *m_button = new CButton();吧
z8323664 2012-05-25
  • 打赏
  • 举报
回复
CButton *m_button = new CButton();
m_button->Create(_T( "MYBUTTON "), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, CRect(100, 100, 100, 100), this, 12);
m_button->ShowWindow(SW_SHOW);


CButton *m_button 最好定义为类成员变量
Eleven 2012-05-25
  • 打赏
  • 举报
回复
把你的m_button定义为类的成员变量吧
zth555888 2012-05-25
  • 打赏
  • 举报
回复
BOOL CButtonDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();

// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标

// TODO: 在此添加额外的初始化代码
CButton m_button;
m_button.Create(_T( "MYBUTTON "), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, CRect(100, 100, 200, 200), this, 12);
m_button.ShowWindow(SW_SHOW);
m_button.Detach();

return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}


这样试试
hurryboylqs 2012-05-25
  • 打赏
  • 举报
回复
CRect(100, 100, 100, 100) 这里你理解错了CRect最后两个参数不是宽度和高度,而是右下角的坐标值
CRect(100, 100, 200, 200) 你这样试试
madisonj 2012-05-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

到类里面 CButton *m_pButton;
pButton->Create(......);
[/Quote]

我在OnInitDialog里面用你这个方法也试过不行
sryteawrt 2012-05-25
  • 打赏
  • 举报
回复
到类里面 CButton *m_pButton;
pButton->Create(......);
madisonj 2012-05-25
  • 打赏
  • 举报
回复
那我该怎么做呢 才可以
hurryboylqs 2012-05-25
  • 打赏
  • 举报
回复
你这里的button是临时的变量

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧