MFC中手工创建控件

本文以创建按钮为例       在VC中创建一个对话框工程,本例中为“手工创建控件”,为方便起见,我们在对话框中先画一个按钮,并将按钮ID设置为:IDC_CREATE_BUTTON,标题为:“创建”,然后在Dlg对话框类下面创建一个CButton *pButton的指针变量,在OnInitDialog中把pButton指向NULL,完成初始化之后,开始编写创建按钮代码,在IDC_CREATE_BUTTON按钮上双击,进入到:    void CMyDlg::OnCreateButton() 代码编写中,编写如下代码:

void CMyDlg::OnCreateButton()
 { 
   // TODO: Add your control notification handler code here 
   if(pButton == NULL)  
         pButton = new CButton; 
  static BOOL bCreate = FALSE; 
  if( !bCreate ) 
   { 
       TCHAR szCaption[] = TEXT("手工创建按钮");  
       DWORD dwStyle = WS_CHILD| WS_GROUP | WS_VISIBLE | WS_TABSTOP ; 
       CRect r ;  
       GetClientRect(&r);  
       r.left = r.left +100;  
       r.right = r.left + lstrlen(szCaption)*10;  //一个字约10个像素大小
       r.bottom = r.top + 20;  
       pButton->Create(szCaption,dwStyle,r,this,IDC_CREATE_BUTTON+1); 
       bCreate = TRUE; 
  }
}

然后编写创建按钮测试代码,在CMyDlg中编写 
  afx_msg void OnPress();
在消息宏处理中编写
  ON_BN_CLICKED(IDC_CREATE_BUTTON, OnPress)
然后在类定义中编写
  void MyDlg::OnPress()
{
      AfxMessageBox("按钮被按下");     //用一个消息框提示按钮创建成功
}

之后编译运行,点击创建按钮,将在对话框顶端创建一个标题为:“手工创建按钮”的按钮,点击后将抛出一个“按钮被按下”的消息框。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值