zoukankan      html  css  js  c++  java
  • 基于对话框的编程之静态文本控件(Static Text)的使用

    一、效果图

    二、具体步骤

    (1)设置内容和获取内容

    1、新建一个MFC应用程序,命名为02 CStaticText,应用程序类型选择基于对话框,其他默认设置

    2、修改静态文本控件的显示内容

    新增一个静态文本控件,右键属性修改Caption,即可修改可显示内容

    3、新增两个按钮,一个用于设置静态文本控件的内容,另一个用于获取内容,效果如下:

    4、为静态文本控件添加变量

    右键选择Add Variable..

     此时,会提示以下错误,这是由于以STATIC为结尾的ID不可以添加变量,需要修改ID

    右键属性,修改ID为ID_TEXT

    重新添加变量,设置访问权限为private,变量名称为m_text,点击Finish

    找到DoDataExchange函数,我们可以看到控件名已经和一个变量名相绑定

    5、为第一个按钮添加点击事件,设置静态文本控件的内容

    //点击按钮,让哈哈变呵呵
    void CMy02CStaticTextDlg::OnBnClickedButton1()
    {
        // TODO: Add your control notification handler code here
        //设置文本内容
        m_text.SetWindowTextW(TEXT("呵呵"));
    }

    6、为第二个按钮添加点击事件,获取文本中的内容

    //点击按钮,获取文本中的内容,并且弹出
    void CMy02CStaticTextDlg::OnBnClickedButton2()
    {
        // TODO: Add your control notification handler code here
        CString str;
        m_text.GetWindowTextW(str);
        MessageBox(str);
    }

    运行程序,此时点击第一个按钮,可将哈哈设为呵呵,再点击第二个按钮,会弹出呵呵

    (2)利用静态文本控件显示一个位图

    1、新建一个静态文本控件,修改ID为ID_PIC,添加变量,设置访问权限和变量名称

    2、将要显示的图片放到目录下

    2、在OnInitDialog初始化函数中添加显示代码

        // TODO: Add extra initialization here
        //用static_Text显示图片
        //设置静态控件窗口风格为位图居中显示
        m_pic.ModifyStyle(0xf, SS_BITMAP | SS_CENTERIMAGE);
    
        //通过路径获取bitmap句柄
    #define HBMP(filepath,width,height) (HBITMAP)LoadImage(AfxGetInstanceHandle(),filepath,IMAGE_BITMAP,width,height,LR_LOADFROMFILE|LR_CREATEDIBSECTION)
        
        //宽高设置应该按照控件的大小去设置
        CRect rect;
        m_pic.GetWindowRect(rect);
    
        //静态控件设置bitmap
        m_pic.SetBitmap(HBMP(TEXT("./1.bmp"), rect.Width(), rect.Height()));

     (3)禁用按钮

    1、新增一个按钮,修改显示内容为^_^

    2、为按钮添加变量,设置访问权限和变量名称

    3、添加点击事件,编辑代码如下

    void CMy02CStaticTextDlg::OnBnClickedButton3()
    {
        // TODO: Add your control notification handler code here
        //点击按钮,修改显示内容
        m_btn.SetWindowTextW(TEXT("O(∩_∩"));
    
        //获取内容
        CString str;
        m_btn.GetWindowTextW(str);
        MessageBox(str);
    
        //设置点击状态
        m_btn.EnableWindow(FALSE);
    }

    4、效果如下

  • 相关阅读:
    极域电子教室 e-Learning Class V4 2010专业版 学生机 卸载方法
    浅谈IT员工管理
    apacheserver下载、安装、配置
    Android BLE开发之Android手机搜索iBeacon基站
    Qt编程18:Qt调色板QPalette的使用
    二叉树的操作
    Android应用开发多语言drawable目录
    Mybatis文档阅读笔记(明日继续更新...)
    《Spark快速大数据分析》—— 第六章 Spark编程进阶
    Java程序员的日常——SpringMVC+Mybatis开发流程、推荐系统
  • 原文地址:https://www.cnblogs.com/yanchaoyi/p/12658818.html
Copyright © 2011-2022 走看看