zoukankan      html  css  js  c++  java
  • 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("按钮被按下");     //用一个消息框提示按钮创建成功
    }

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

    /*
    *
    * Copyright (c) 2011 Ubunoon.
    * All rights reserved.
    *
    * email: netubu#gmail.com replace '#' to '@'
    * http://www.cnblogs.com/ubunoon
    * 欢迎来邮件定制各类验证码识别,条码识别,图像处理等软件
    * 推荐不错的珍珠饰品,欢迎订购 * 宜臣珍珠(淡水好珍珠) */
  • 相关阅读:
    Pandas 学习记录(一)
    python 列表常用操作
    pandas 基本操作
    Numpy np.array 相关常用操作学习笔记
    JS控制背景音乐 没有界面
    Linux Awk使用案例总结
    Yii2 定时任务创建(Console 任务)
    YII2项目常用技能知识总结
    /etc/fstab readyonly 解决办法
    Redis 排行榜 自己简单练习
  • 原文地址:https://www.cnblogs.com/ubunoon/p/2058912.html
Copyright © 2011-2022 走看看