MFC编程之简单的窗口设计相关的方法

MFC中注册WNDCLASS样式并建立窗口 2010年4月10日记:如果程序主窗口不是由CframeWnd派生而来,而是由CWnd派生而来,那么在创建窗口的时候,必须注册自己的WNDCLASS,因为CWnd::CreateEX不接受NULL WNDCLASS名称。这种情况下,注册WNDCLASS样式半建立窗口有两种方式。方式一,定义一个WNDCLASS结构实例,并对每个字段进行初始化,然后调用::RegisterClass或者M 阅读详情

MFC编程之简单的窗口设计相关的方法

 

/************************************************************************************
* 本文为作者原创,转载请注明出处,未经本人允许请勿用于商业用途!
* Author:于海平
* 邮箱:linux_fish@126.com
* 本文链接:http://blog.youkuaiyun.com/drivelinux/article/details/8512925

*************************************************************************************/

一、消息提示框

1.AfxMessageBox()

int AfxMessageBox( 
   LPCTSTR lpszText, 	//提示信息字符串的指针
   UINT nType = MB_OK, 	//MessageBox的类型
   UINT nIDHelp = 0  	//帮助文本的ID,0为采用默认的帮助文本
); 

2.MessageBox()

int MessageBox(
   LPCTSTR lpszText,
   LPCTSTR lpszCaption = NULL,	//MessageBox的标题
   UINT nType = MB_OK 
);

这两个函数的功能基本相同。但是AfxMessageBox()为全局的函数,可在任意位置调用。MessageBox()只能在基类是CWnd的类里面直接调用。

其中,nType参数的取值如下:

A.MessageBox的类型设置
•MB_ABORTRETRYIGNORE   包含三个按钮:Abort, Retry, and Ignore.
•MB_OK   包含一个按钮: OK.
•MB_OKCANCEL   包含两个按钮: OK and Cancel.
•MB_RETRYCANCEL   包含两个按钮: Retry and Cancel.
•MB_YESNO   包含两个按钮: Yes and No.
•MB_YESNOCANCEL   包含三个按钮: Yes, No, and Cancel.

B.MessageBox的模式设置
•MB_APPLMODAL     应用模态	
•MB_SYSTEMMODAL   系统模态
•MB_TASKMODAL     任务模态

C.MessageBox的图标设置
•MB_ICONEXCLAMATION   An exclamation-point icon appears in the message box.
•MB_ICONINFORMATION   An icon consisting of an i in a circle appears in the message box.
•MB_ICONQUESTION   A question-mark icon appears in the message box.
•MB_ICONSTOP   A stop-sign icon appears in the message box.

D.缺省的按钮
•MB_DEFBUTTON1   
•MB_DEFBUTTON2   
•MB_DEFBUTTON3   

使用实例如下:

AfxMessageBox("账号不能为空");
MessageBox("密码不能为空","提示",MB_YESNO|MB_ICONSTOP);


二、CString类的使用

1.定义和赋值

CString txt = _T("Hello");
txt += _T(" Kitty");

2.常用方法

A.CString::Format()
txt.Format("%s%d","The result is ",-1);
MessageBox(txt,"提示",MB_YESNO|MB_ICONSTOP);
B.CString::IsEmpty()

该方法用于判断一个CString对象是否为空。

3.字符串比较

可以直接用‘==’将CString对象和字符串进行比较。

三、窗口函数

1.UpdateData()

BOOL UpdateData(
   BOOL bSaveAndValidate = TRUE 
);

该函数用于刷新数据。UpdateData(TRUE)表示刷新控件的值到对应的变量中,UpdateData(FALSE)表示刷新变量的值到对应的控件中。

 

 四、CDialog::OnOk()和CDialog::OnCancel()

 1.CDialog::OnOk()

该函数实现的功能是首先调用UpdateData(TRUE)刷新控件中的数据到对应的变量中,并调用EndDialo()关闭当前对话框。

 2.CDialog::OnCancel()

该函数实现的功能是调用EndDialo()关闭当前对话框。

五、按一个按钮退出当前窗口并打开新窗口的实现

this->ShowWindow(SW_HIDE);  
MainWindow mw;
mw.DoModal();
CDialog::OnOK();

六、更换程序图标的方法

在Resource View模式下,删除图标对应的ID,也就是删除当前的图标。然后,选择Insert->Resource->Icon->Import,并导入自己的图标即可。然后重新编译工程,应用程序程序的图标就是设定的图标了。导入的图标可以为16x16或者32x32大小的(这两种是我试过的)。










掌握MFC中的窗口最大化和最小化编程技术 本文还有配套的精品资源,点击获取 简介:在开发Windows应用程序时,处理窗口的最大化和最小化是常见需求。MFC提供了丰富的类库和接口支持这一功能。本文将详细讨论如何通过CWnd类中的ShowWindow和SetWindowPos成员函数,以及响应WM_SIZE消息来实现窗口的最大化和最小化。同时,还会介绍如何利用Visual Studio的资源编辑器设置对话框的“最大”... 阅读详情

相关推荐

精通MFC动态分割窗口技术

在现代软件开发中,MFC(Microsoft Foundation Classes)是一个历史悠久但依然强大的框架,它为Windows应用程序的开发提供了一套丰富的封装类。本章将带领读者进入MFC的世界,介绍它的起源、架构以及在应用程序开发中的作用。MFC框架的核心是简化Windows API的使用,同时提供了一种面向对象的方法来处理诸如窗口管理、图形绘制、事件处理等常见任务。通过继承特定的MFC类,开发者可以快速构建出具有专业外观和功能的应用程序。

weixin_42153793的博客 1034

编译源码(含CMake)

习惯了使用命令行,下面介绍Windows下配置命令行编译C++和C#代码,不用使用工具创建工程,解决方案这么笨重 一、Windows下使用cl.exe编译C++代码: 1.添加Path: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362....

gmf532196的专栏 886

MFC框架窗口界面设计

MFC框架窗口界面设计,关于用MFC进行设计窗口界面。

【MFC自绘窗口】 窗口设计第一课

现在市面上的软件做的越来越花哨,界面也越来越友好,像QQ,360,酷我音乐,迅雷等软件做的相当的到位,当然,这些软件都是人家公司开发的界面库,基本采用都是DriectUI原理设计,咱这里不过多讲解,等着我会抽出几节去讲解DriectUI设计,其次,现在市面上也有很多公司或者个人开发的界面库,比如UIPower,SkinSE,SkinSharp,DuiLib等等,有的是商用,有的是开源的,比如Dui

Guo_Ruin的专栏 3183

《MFC窗口程序设计》

MFC的框架好好看的啊

MFC窗口程序设计源码(免费)

包括一下章节 <br><br>第3章 框架窗口<br>第4章 文档-视图窗口<br>第5章 分割窗口<br>第6章 控制栏窗口<br>第7章 对话框<br>第8章 属性表窗口<br>第9章 控件窗口

MFC|创建一个对话框及窗体各个属性介绍

MFC程序创建以及窗体各个属性值含义。

编程改变世界。想做一些改变世界的产品。感谢一键三连。 4291

MFC界面设计

全程图解MFC制作类似VisualStudio2010界面,含源代码,是初学MFC的好教程。

C++中,MFC窗体最大化全屏界面的设计

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z 重做:Ctrl/Command + Y 加粗:Ctrl/Command + B 斜体:Ctrl/Command + I 标题:Ctrl/Command + S

qq_44830863的博客 1920

MFC 界面设计

学习MFC的界面设计和布局,针对客户端信息发布系统设计的界面,对以后的MFC客户端管理平台设计很有用。

ARIMA模型的R实现

1.模型简介 ARIMA模型,全称差分自回归移动平均模型。可以看作是差分运算和ARMA模型的结合。主要是针对具有线性趋势的非平稳的时间序列,来进行建模预测。 ARIMA模型的形式如下: Φ(B)∇

heirenmin的博客 1万+

一个简单的MFC窗口程序

以VS2015创建一个MFC程序 第一步 打开VS2015,依此点击文件->新建->项目->点击MFC应用程序 第二步

quickefficient的博客 772

汽车TSN时间敏感网络测试技术与探索系列讲座4 -TSN802.1AS同步要求及验证方法

TSN网络各设备类型同步性能要求是什么?各类设备的测试组网及测试内容。也将通过演示来展示相关测试结果,及如何解决上述的测试关注点。

weixin_43903833的博客 761

Visual C++ MFC 一文说尽 (推荐)(很长,没耐心就不要看了)

第一部分:MFC导论 Visual C++ 不仅仅是一个编译器。它是一个全面的应用程序开发环境,使用它你充分 利用具有面向对象特性的 C++ 来开发出专业级的 Windows 应用程序。为了能充分利用这些 特性,你必须理解 C++ 程序设计语言。掌握了C++,你就必须掌握 Microsoft 基本类库 (MFC) 的层次结构。该层次 结构包容了 Windows API 中的用户界面部分...

编程开发资料库 289

MySQL连接异常:Communications link failure 解决方案

困扰一晚上的问题终于解决了。

weixin_44704776的博客 1086

mediasoup源码分析(二十)服务端架构设计

目录 简介 信令服务(房间服务) 调度服务 媒体服务 简介 流媒体服务器大的方向上可以分为上述三个模块。目前行业内都是分布式服务,独立部署。mediasoup信令与媒体之间虽然可以管道通信。但在行业内,服务之间通过管道通信用的少。 一般是rpc、mq,或者传统的tcp。这块licode架构比较不错,licode是信令和媒体服务通过MQ消息队列解耦。 下面介绍一下这三个服务主要功能,当然文中所说也是一家之言。 信令服务(房间服务) 信令服务也称为房间服务。有的企业把信令和房间分开,信..

lcalqf的专栏 1545

MFC中获取窗口句柄及相关函数

一般我们使用的框架是VC提供的Wizard生成的MFC App Wizard(exe)框架,无论是多文档还是单文档,都存在指针和句柄获取和操作问题。本文中将针对各类句柄的获得、指针的获得以及MFC中常见应用进行阐述并举例。 本文内容索引: ========================================================= MFC中获取常

xiaoyun8822的专栏 2万+

C# Socket通信从入门到精通(14)——多个异步UDP客户端C#代码实现(史上最全)

本文详细介绍了Socket通信中多个异步Udp客户端功能的实现、介绍如何使用多个客户端与多个服务器进行数据的交互,包含连接服务器、断开服务器、发送数据、读取数据、C#代码实现,由高级工程师多年经验总结而成,绝对干货!

qq_34059233的博客 1982

简单聊天室的设计 C++ MFC

链接:https://pan.baidu.com/s/1TbVsIk60oEkz75WAZqUBow 提取码:lmok 复制这段内容后打开百度网盘手机App,操作更方便哦 一、题目及要求 题目3:简单聊天室的设计 要求:分别设计基于对话框的客户端和服务器端的程序,实现两端的通信,服务器端能接受客户端的消息,并且显示客户端的连接信息,把客户端信息分发给各个客户端。 二、软件系统设计方案和原理 1....

weixin_43660497的博客 5139

华为OD机试双机位C卷:采购订单 (Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷 采购订单,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,并提供在线OJ模拟做题。华为OD机试真题【采购订单】

qq_45776114的博客 3534

PICO640红外探测器配置模块verilog

Ulis pico 640红外探测器配置模块

Go Forward Forever! 2033

MFC之窗口控件更新重绘相关函数

MFC窗口重绘需要知道的几个函数。Invalidate, InvalidateRect, UpdateData, UpdateWindow等。

huanghuihuang1991的专栏 4130

一文搞懂鲸鱼优化算法Whale Optimization Algorithm(WOA)!!!(核心原理+数学模型+代码实战+实际应用)

本文详细介绍了鲸鱼优化算法(WOA)的原理与实现。该算法模拟座头鲸气泡网捕食行为,通过包围猎物、螺旋攻击和随机搜索三种策略平衡全局探索与局部开发。文章首先从生物学角度解释鲸鱼捕食行为,然后给出算法的数学模型和完整流程,包括关键公式和决策逻辑。最后通过Python代码实例演示如何求解Sphere函数最小值,展示算法的实际应用。WOA具有结构简单、参数少等优点,在工程优化、机器学习等领域有广泛应用前景。

qq_42212808的博客 1011

MFC的窗口创建机制

我们都知道使用MFC可以快速创建窗口,并处理一些消息。但是MFC到底是如何创建窗口,微软是如何在win32的基础上,按照面向对象的思想实现对窗口的创建的。

qq_43725310的博客 2548

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

MFC窗口的创建

1.MFC窗口类CWnd 在Windows系统里,一个窗口的属性分两个地方存放:一部分放在“窗口类”里头,如上所述的在注册窗口时指定;另一部分放在Windows Object本身,如:窗口的尺寸,窗口的位置(X,Y轴),窗口的Z轴顺序,窗口的状态(ACTIVE,MINIMIZED,MAXMIZED,RESTORED…),和其他窗口的关系(父窗口,子窗口…),窗口是否可以接收键盘或鼠标消息,等

JUST DO IT 1666

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

MFC中子窗口调用父窗口资源的方法

在MFC中经常需要在一个窗口中弹出另一个窗口,比如在文档视图主窗口中弹出一个对话框进行信息交互。 这种情况在实现中,一般父窗口的类成员中有一个子窗口类的对象指针。比如在需要弹出对话框时候,可以利用DoMadol函数弹出对话框。但是如果在子窗口中需要对父窗口进行操作,需要怎么做呢。 实例:在文档视图的父窗口中弹出一个非模态的子对话框,在改对话框中操作,可以实时改变父窗口中的显示。 步骤和方法如下

JoliceYu的技术博客 7463

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: 思念满杯
下一篇: WinCE 6.0 中的常见术语和概念
于海平
博客等级 码龄14年 42粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值