VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1102|回复: 0

[交流] MFC编程入门之二(接各种按钮详解)

[复制链接]
13_avatar_middle
最佳答案
1 
在线会员 发表于 2021-4-1 18:33:26 | 显示全部楼层 |阅读模式
本帖最后由 小白学编程 于 2021-4-1 18:37 编辑

我整理出来的,练习阶段 没教程


MFC编程入门之一   (对话框:消息对话框)MessageBox()函数和AfxMessageBox()函数
CWnd::MessageBox()函数

       CWnd::MessageBox()的函数原型如下:
           int MessageBox(
           LPCTSTR lpszText,
           LPCTSTR lpszCaption = NULL,
           UINT nType = MB_OK
       );
       参数说明:
       lpszText:需要显示的消息字符串。
       lpszCaption:消息对话框的标题字符串。默认值为NULL。取值为NULL时使用默认标题。
       nType:消息对话框的风格和属性。默认为MB_OK风格,即只有“确定”按钮。
       nType的取值可以是下面两个表中任取一个值,也可以是各取一个值的任意组合。即可以指定一个对话框类型,也可以指定一个对话框图标,还可以两者都设定。
    MessageBox(_T("www.ccty.com"), _T("vc驿站"), MB_OKCANCEL | MB_ICONQUESTION); //mb_OK默认即可,详见msdn
  AfxMessageBox(_T("www.ccty.com"), MB_OKCANCEL | MB_ICONQUESTION);
这两个很简单

MFC编程入门之二    (对话框:文件对话框)CFileDialog
https://www.cctry.com/thread-300852-1-1.html  详见这篇
MFC编程入门之三    (对话框:字体对话框)CFontDialog
https://www.cctry.com/thread-300856-1-1.html  详见这篇
MFC编程入门之四    (对话框:颜色对话框)CColorDialog
CColorDialog dlg;
        // 显示颜色对话框,并判断是否点击了确定
        if (dlg.DoModal()==IDOK)
        {
                //取得所选颜色
                COLORREF pcolor = dlg.GetColor();
                //获取编辑框的颜色
                this->r = GetRValue(pcolor);
                this->g = GetGValue(pcolor);
                this->b = GetBValue(pcolor);
                //更新至窗体
                this->UpdateData(false);
                //使其无效,重绘窗体色彩
                this->Invalidate(); CColorDialog dlg;
        // 显示颜色对话框,并判断是否点击了确定
        if (dlg.DoModal()==IDOK)
        {
                //取得所选颜色
                COLORREF pcolor = dlg.GetColor();
                //获取编辑框的颜色
                this->r = GetRValue(pcolor);
                this->g = GetGValue(pcolor);
                this->b = GetBValue(pcolor);
                //更新至窗体
                this->UpdateData(false);
                //使其无效,重绘窗体色彩
                this->Invalidate();
在void ClesssdemoDlg::OnPaint()添加代码
            //定义绘制窗口区域
                CClientDC dc(this);
                //定义新的画刷
                CBrush brush;
                //用于保存旧的画刷
                CBrush* poldBrush;
                brush.CreateSolidBrush(RGB(this->r, this->g, this - b));
                poldBrush = dc.SelectObject(&brush);
                //指定的区域来绘制区域
                dc.Rectangle(&ColorShowRect);
                //还原旧的画刷
                dc.SelectObject(poldBrush);
                //删除画刷
                brush.DeleteObject();
给r,g,b编辑框添加变量,类型:数值,BYTE  字节0到255(256)就可以表示
初始化添加
this->r = this->g = this->b = 255;
        this->UpdateData(false);
        this->ColorShowRect.left = 450;
        this->ColorShowRect.top = 40;
        this->ColorShowRect.right = 300;
        this->ColorShowRect.bottom = 200;

2222.jpg

评分

参与人数 2驿站币 +17 热心值 +5 收起 理由
58_avatar_small thzzl + 2 + 2 很给力!
75_avatar_small wl1383838438 + 15 + 3 赞一个!

查看全部评分





上一篇:C++编程入门--MFC各种控件详解
下一篇:MFC编程入门三(按钮(Button)单选按钮(Radio Button)复选框(Check Box)
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2023-3-23 13:39

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表