• MFC工控项目实例一主菜单制作


    1、本项目用在WIN10下安装的vc6.0兼容版实现。创建项目名为SEAL_PRESSURE的MFC对话框。在项目res文件下添加相关256色ico格式图片。
    2、项目名称:密封压力试验机
    主菜单名称:
    系统参数 SYS_DATA
    系统测试 SYS_TEST
    选择型号 TYP_CHOICE
    开始试验 TES_START
    试验报告 TES_REPORT
    系统介绍 SYS__INTRODUCE
    退出系统 SYS_EXIT
    3、主要用到CButtonST类具体参见本人写的《MFC用CButtonST类实现图片透明按钮(免费源码下载)》
    这里给出相关项目截图及主要代码。
    在这里插入图片描述
    4、SEAL_PRESSUREDlg.h中相关代码

    class CSEAL_PRESSUREDlg : public CDialog
    {
    // Construction
    public:
      CSEAL_PRESSUREDlg(CWnd* pParent = NULL);	// standard constructor
      CFont m_bFont,m_lFont,m_sFont,m_mFont,m_smFont,m_slFont,m_lhFont;
    
    // Dialog Data
      //{{AFX_DATA(CSEAL_PRESSUREDlg)
      enum { IDD = IDD_SEAL_PRESSURE_DIALOG };
      CButtonST	m_TYP_CHOICE;
      CButtonST	m_TES_START;
      CButtonST	m_SYS_TEST;
      CButtonST	m_SYS_EXIT;
      CButtonST	m_SYS_DATA;
      CButtonST	m_SYS__INTRODUCE;
      CButtonST   m_TES_REPORT;
      //}}AFX_DATA
    
      ...
    };
    

    5、SEAL_PRESSUREDlg.cpp中相关代码

    
    CSEAL_PRESSUREDlg::CSEAL_PRESSUREDlg(CWnd* pParent /*=NULL*/)
    	: CDialog(CSEAL_PRESSUREDlg::IDD, pParent)
    {
    	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
    	m_lFont.CreateFont(-40,0,0,0,700,FALSE,FALSE,
    						0,134,OUT_DEFAULT_PRECIS,
    						CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
    						FF_SWISS,"楷体_GB2312");在这里插入代码片
    ...
    }
    
    
    
    void CSEAL_PRESSUREDlg::DoDataExchange(CDataExchange* pDX)
    {
    	CDialog::DoDataExchange(pDX);
    	//{{AFX_DATA_MAP(CSEAL_PRESSUREDlg)
    	DDX_Control(pDX, IDC_TYP_CHOICE, m_TYP_CHOICE);
    	DDX_Control(pDX, IDC_TES_START, m_TES_START);
    	DDX_Control(pDX, IDC_SYS_TEST, m_SYS_TEST);
    	DDX_Control(pDX, IDC_SYS_EXIT, m_SYS_EXIT);
    	DDX_Control(pDX, IDC_SYS_DATA, m_SYS_DATA);
    	DDX_Control(pDX, IDC_SYS__INTRODUCE, m_SYS__INTRODUCE);
    	DDX_Control(pDX, IDC_TES_REPORT, m_TES_REPORT);
    	//}}AFX_DATA_MAP
    }
    
    
    
    BOOL CSEAL_PRESSUREDlg::OnInitDialog()
    {
    	CDialog::OnInitDialog();
    	...	
    GetDlgItem(IDC_STATIC_TITLE)->SetFont(&m_lFont);
       m_SYS_DATA.SetIcon(IDI_SYS_DATA); 
      m_SYS_DATA.SetAlign(CButtonST::ST_ALIGN_VERT);
       m_SYS_TEST.SetIcon(IDI_SYS_TEST); 
      m_SYS_TEST.SetAlign(CButtonST::ST_ALIGN_VERT);
       m_SYS__INTRODUCE.SetIcon(IDI_SYS__INTRODUCE); 
      m_SYS__INTRODUCE.SetAlign(CButtonST::ST_ALIGN_VERT);
       m_SYS_EXIT.SetIcon(IDI_SYS_EXIT); 
      m_SYS_EXIT.SetAlign(CButtonST::ST_ALIGN_VERT);
       m_TES_REPORT.SetIcon(IDI_TES_REPORT); 
      m_TES_REPORT.SetAlign(CButtonST::ST_ALIGN_VERT);
       m_TYP_CHOICE.SetIcon(IDI_TYP_CHOICE); 
      m_TYP_CHOICE.SetAlign(CButtonST::ST_ALIGN_VERT);
       m_TES_START.SetIcon(IDI_TES_START); 
      m_TES_START.SetAlign(CButtonST::ST_ALIGN_VERT);
    
    	return TRUE;  // return TRUE  unless you set the focus to a control
    }						
    

    运行程序
    在这里插入图片描述

  • 相关阅读:
    42、Spring AMQP DirectExchange
    图解快速排序算法
    Uniapp 应用开机自启插件 Ba-Autoboot
    Vue常见面试题 - 03
    快讯:华为启动鸿蒙开发者大赛;腾讯会议发布“万室如意”计划
    大话STL第十期终章——算法
    类和对象续
    思科设备BGP配置命令
    无需更换vue-cli 脚手架 uniapp-搭建项目-H5-低版本安卓IOS兼容问题(白屏)(接口请求异常)
    当PBlaze6 6920 Raid阵列遇到FC SAN
  • 原文地址:https://blog.csdn.net/weixin_42350092/article/details/139306119