VC常用类、函数、宏

VC6.0 添加函数注释宏,VS2010同样可以添加 昨天在玩VC的时候发现VC6.0自带一些宏,觉得好玩就拿来试下,发现其中的函数注释宏非常的实用,拿来分享下,知道的大牛就请绕道了不要喷我,主要是给一些还不知道这个强大功能的小鸟们一些提示。         基本步骤是这样的,首先VC6.0工具栏右键------custom-----Add-ins and Macro Files,选中Sample,然后同样是在custom中,选择command标签 阅读详情

MFC中常用类,宏,函数介绍
常用类

CRect:用来表示矩形的类,拥有四个成员变量:top left bottom right。分别表是左上角和右下角的坐标。可以通过以下的方法构造:

CRect( int l, int t, int r, int b ); 指明四个坐标

CRect( const RECT& srcRect ); 由RECT结构构造

CRect( LPCRECT lpSrcRect ); 由RECT结构构造

CRect( POINT point, SIZE size ); 有左上角坐标和尺寸构造

CRect( POINT topLeft, POINT bottomRight ); 有两点坐标构造

下面介绍几个成员函数:

int Width( ) const; 得到宽度
int Height( ) const; 得到高度
CSize Size( ) const; 得到尺寸
CPoint& TopLeft( ); 得到左上角坐标
CPoint& BottomRight( ); 得到右下角坐标
CPoint CenterPoint( ) const; 得当中心坐标
此外矩形可以和点(CPoint)相加进行位移,和另一个矩形相加得到“并”操作后的矩形。

CPoint:用来表示一个点的坐标,有两个成员变量:x y。 可以和另一个点相加。

CString:用来表示可变长度的字符串。使用CString可不指明内存大小,CString会根据需要自行分配。下面介绍几个成员函数:

GetLength 得到字符串长度
GetAt 得到指定位置处的字符
operator + 相当于strcat
void Format( LPCTSTR lpszFormat, ... ); 相当于sprintf
Find 查找指定字符,字符串
Compare 比较
CompareNoCase 不区分大小写比较
MakeUpper 改为小写
MakeLower 改为大写

CStringArray:用来表示可变长度的字符串数组。数组中每一个元素为CString对象的实例。下面介绍几个成员函数:

Add 增加CString
RemoveAt 删除指定位置CString对象
RemoveAll 删除数组中所有CString对象
GetAt 得到指定位置的CString对象
SetAt 修改指定位置的CString对象
InsertAt 在某一位置插入CString对象

常用宏

RGB  RGB宏是VC++程序使用颜色的基础

TRACE    TRACE 宏有点象我们以前在C语言中用的Printf函数,使程序在运行过程中输出一些调试信息,使我们能了解程序的一些状态。但有一点不同的是:TRACE 宏只有在调试状态下才有所输出,而以前用的Printf 函数在任何情况下都有输出。和Printf 函数一样,TRACE函数可以接受多个参数如:

int x = 1;
int y = 16;
float z = 32.0;
TRACE( "This is a TRACE statement/n" );
TRACE( "The value of x is %d/n", x );
TRACE( "x = %d and y = %d/n", x, y );
TRACE( "x = %d and y = %x and z = %f/n", x, y, z );

要注意的是TRACE宏只对Debug 版本的工程产生作用,在Release 版本的工程中,TRACE宏将被忽略。

ASSERT

ASSERT( booleanExpression );
首先:booleanExpression 参数是一个bool表达式。
用法:
当程序运行到该语句的时候,程序会检查booleanExpression 这个表达式是真还是假。
如果条件符合,程序继续运行下面的代码;
如果是不符合,那么持续运行会被卡在这里。不往下面走,并有程序弹出错误对话框,指示是由于booleanExpression 这个条件符合导致的报错。
作用:
ASSERT(booleanExpression )语句一般用来检查一些必须符合的条件,如果不符合条件,则不让程序继续运行下去。

比如:
一个班有55个人,有一个函数可以对班上的55个人进行处理,一个单独处理一个同学也可以,也可以同时处理多个同学。函数申明为:CONTROLSTUDENT(int number);其中number为要处理的学生的个数。
在使用CONTROLSTUDENT函数前,一般我们会使用
ASSERT(number<=55);
CONTROLSTUDENT(number);
这样可以保证输入的学生数目绝对小于等于55个人。
如果输入的number参数大于55,程序将报错,不执行

VERIFY (X)

x条件表达时必须为真。在Release版中,x语句会保留下来。


常用函数

CWindApp* AfxGetApp();

HINSTANCE AfxGetInstanceHandle( );

HINSTANCE AfxGetResourceHandle( );

int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 );用于弹出一个消息框

 
VC中一个关于宏的使用问题 A2W W2A VC中一个关于宏的使用问题文/赵湘宁    这儿是个关于宏的问题,我曾用过ATL的串转换宏,包括W2A,开始有些东西我还不太明白。为了使用这些宏,必须在函数的开始处用USES_CONVERSION来初始化某些局部变量。用就用吧,但是看看这个宏的定义,它有类似下面的代码:// 在atlconv.h文件中#define USES_CONVERSION /int _convert; _con 阅读详情

相关推荐

MFC宏定义深入解析与应用

在MFC(Microsoft Foundation Classes)编程中,宏定义是构建类和管理资源的重要组成部分。MFC库广泛使用宏来简化编程任务,特别是封装Win32 API调用。宏定义在MFC中通常以和开始和结束,用于定义消息映射,是MFC框架的基础。使用MFC宏定义开始一个类,必须继承自CObject并使用DECLARE_DYNAMIC或DECLARE_SERIAL宏。这允许运行时类型信息(RTTI)和序列化机制。

weixin_42186015的博客 1129

MFC应用程序中debug调用控制台窗口输出信息

在MFC程序中输出调试信息的方法有两种,一种是是使用TRACE宏,向Output窗口输出调试信息;另一种是使用MessageBox,弹出消息框输出调试信息,但会影响程序运行。 在这里我比较倾向于第三种,即打开控制台窗口(Console),向控制台输出信息,可以即不影响程序运行,又可以查看调试信息。 在任意你想要输出信息的地方,添加以下示例代码就能在Console窗口进行输入输出操作: AllocConsole(); //打开控制台资源 freopen("CONOUT$", "w+t", std

weixin_43651587的博客 1277

在VC中实现自定义代码注释的宏

本文还有配套的精品资源,点击获取 简介:宏是C/C++等编程语言中强大的预处理工具,能够通过#define关键字简化代码和提高开发效率。本文详细探讨了在Visual C++(VC)环境中如何利用宏自定义代码注释,通过特定格式的注释模板,增强代码的可读性和维护性。文中通过实际示例展示了如何创建注释宏,以及如何通过MODIFY.DSM和MODIFY.VCM等配置文件应用这些宏,...

weixin_42514540的博客 1366

c/c++宏函数和多参宏函数

宏函数、多参宏函数

aazhoukeaa的博客 4502

VC类库(常见类都有)

VC类库提供了很多常见的类.........................................

MFC透视投影

实现一个三维房子的透视,分别是一点透视,两点透视,三点透视图

MFC定义的宏、全局函数及全局变量

<br />MFC和Windows程序一样,使用大量的宏,宏不带任何前缀,全由大写字母表示。 <br />1. MFC提供的主要宏:<br />•  消息映射宏: 声明消息映射表 (将于3.2.2节介绍)宏DECLARE_MESSAGE_MAP、定义消息映射表宏BEGIN_MESSAGE_MAP和END_MESSAGE_MAP对、消息映射表入口宏ON_加消息名。<br />•  动态 MFC对象宏: DECLARE_DYNCREATE和DECLARE_DYNAMIC, IMPLEMENT_DYNCREATE

AngelTempt的专栏 1183

CRMEB商城系统任意文件下载漏洞(CVE-2024-52726)分析与修复

在Web应用安全领域,API接口安全是保障系统边界安全的核心环节。其原理在于通过签名验证、参数校验等机制,确保请求的合法性与完整性。这项技术的价值在于为系统间数据交互提供安全通道,防止未授权访问和数据泄露。典型的应用场景包括电商系统的对外数据接口、第三方服务集成等。然而,当签名验证逻辑存在缺陷或文件路径处理不当,便会引发严重的安全风险。本文以CRMEB开源商城系统为例,深入剖析其对外API模块中因签名验证绕过和路径遍历导致的任意文件下载漏洞。该漏洞允许攻击者下载服务器敏感文件,如数据库配置文件、日志和源码,

weixin_27722377的博客 376

C语言宏定义、宏函数、内置宏与常用宏

前言: 在C语言中,变量类型、循环控制、基础语法等与其他高级语言基本无异;而C语言(C++)特有的两把双刃剑指针和宏定义/宏函数使得C语言在底层开发中披荆斩棘、无所不能。这两个概念涉及范围比较广,其分支点也比较多,可谓星罗棋布,但这每颗星都足以照亮C语言因其开发周期、可维护性、可移植性等问题而显的黯淡的天空,使得这门语言灵活多变、操作犀利,令人难以揣摩却也深深着迷。 首先,C的第一把双刃剑:指针,...

Apollon_krj的博客 4万+

解决DevExpress汉化后不生效的5个常见问题及修复方法

本文详细解析了DevExpress汉化后不生效的5个常见问题及修复方法,包括汉化包部署位置验证、运行时缓存清除、权限与执行上下文排查、版本兼容性检测以及开发环境配置检查。通过实战案例和具体操作步骤,帮助开发者快速解决汉化失效问题,提升开发效率。

weixin_29232121的博客 261

Pluto SDR新手避坑指南:从环境配置到第一个MATLAB收发程序(附完整代码)

本文为Pluto SDR新手提供全面的避坑指南,从硬件连接到MATLAB环境配置,再到第一个信号收发程序的实现。详细介绍了驱动安装、常见问题排查以及关键参数设置,帮助用户快速上手软件定义无线电(SDR)技术,并附有完整代码示例。

weixin_33168937的博客 325

简单的VC基础教程

简单的VC基础教程

qq_43680030的博客 1166

告别C盘空间焦虑!Miniforge环境路径精准配置全攻略

本文深入解析Miniforge虚拟环境默认占用C盘空间的根本原因,即未正确配置`.condarc`文件中的`envs_dirs`路径优先级。通过详细的诊断步骤与配置命令,指导用户将环境路径精准迁移至指定磁盘(如D盘),并分享禁用自动激活、使用`--prefix`参数等高阶技巧,帮助开发者彻底告别C盘空间焦虑,实现虚拟环境的整洁与可控管理。

weixin_28831399的博客 238

VC下用宏来实现函数注释的自动添加

今天看代码,看到一些代码没有函数注释,突然想到可以用宏来实现注释的自动添加,还添加了按钮,颇有成就感,故总结一下,积累经验。   Vc下面可以直接录制宏(Tools->Record quick Macros),这样可以把鼠标,键盘动作录制下来,录制以后可以编辑,(Tools->Macro,选中宏名称,点 EDIT 就可以进入宏文件中进行编辑)。默认的存储文件名是 MYMACRO.DSM,也可以直接

风雨同路 1069

DAMMFND: Domain-Aware Multimodal Multi-view Fake News Detection

虚假新闻的泛滥不仅严重阻碍了互联网社交媒体的健康发展,还在政治、经济和社会层面造成了实际危害,凸显了自动化虚假新闻检测的重要性(Zhou 等,2015;Cui 等,2019;Zhu 等,2022a;Li 等,2024c,b,a)。现有的虚假新闻检测方法通常聚焦于特定领域的新闻,例如健康或政治领域。然而,在现实世界中,社交媒体上的新闻往往跨越多个领域,这就要求现有的虚假新闻检测方法必须考虑多域泛化(Nan 等,2021;Qi 等,2019;Zhu 等,2022b)。

qq_52053775的博客 337

【Flink】FLink session yarn kerberos认证报错 PortUnreachableException: ICMP Port Unreachable

本篇博客是在上一篇博客:【Flink】FLink session yarn kerberos认证报错 KrbException: Cannot locate default realm还没找到原因的时候做的一次尝试。因为项目需要,我们需要对接华为认证的yarn集群,运行flink任务,我们的任务分为两种,yarn pre-job模式和flink session模式。我们在配置文件中配置如下# kerberos认证需要的东西提交任务的脚本如下。

九师兄 1267

3个很有用VC的IDE工具宏:添加函数注释块、注释、取消注释

使用VC的时间也不短了,最近才注意到VC里也可以定制宏。自己写了下面的3个,效果很好,大大延长了键盘的使用寿命。介绍给大家,希望能各位提供帮助。1. 添加函数注释块VC里自带宏文件SAMPLE.DSM中有一个AddFunctionDescription的宏也能给函数增加注释块,但是格式比较简单,修改很麻烦。所以自己根据自己注释格式另写了一个宏,并且,只有简单修改程序中的数据,就可以很方

UpbeatJackson的专栏 1931

C++软件调试与异常排查从入门到精通专栏介绍与文章汇总

根据近几年排查软件异常的实践与经验,系统地讲解了C++软件异常常见原因与常用排查方法,以图文并茂的方式给出具体的分析实例,带领大家逐步掌握C++软件异常排查的相关技术与要领。

dvlinker的技术专栏 23万+

VC中的TRACE宏

TRACE宏对于VC下程序调试来说是很有用的东西,有着类似printf的功能;该宏仅仅在程序的DEBUG版本中出现,当RELEASE的时候该宏就完全消失了,从而帮助你调试也在RELEASE的时候减少代码量。使用非常简单,格式如下: TRACE("DDDDDDDDDDD"); TRACE("wewe%d",333); 同样还存在TRACE0,TRACE1,TRACE2。。。分别对应0,1,2。

sky_lily_1985的专栏 991

基于STM32的蓝牙智能药盒设计

本研究设计了一种基于STM32F103C8T6单片机的蓝牙智能药盒系统,针对老年人用药管理需求,集成了定时提醒、药量检测、环境监测等功能。系统通过LCD1602显示屏实时显示时间与用药信息,支持每日3次定时提醒及3种药物用量设置,采用DHT11温湿度传感器、HX711药量检测模块和红外传感器实现环境监控,并通过蓝牙模块实现远程用药提醒。测试结果表明,系统定时误差≤30秒,温湿度监测精度±2℃,药量检测误差<1g,各项功能运行稳定。该设计为解决老年人用药依从性问题提供了智能化解决方案,具有实用价值和应用前景。

3254968421的博客 543

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

VC中常用的宏

VC中常用的宏  (2010-08-29 02:49:15) 转载▼ 标签:  vc   宏   杂谈 分类: 开发     我们在VS环境中开发的时候,会遇到很多宏定义,这些宏可以应用到代码中,或用于编译、工程选项等设置,总之是我们开发中必不可少的工具,有必要做一个总结。有些宏是C/C++定义的,有些宏是VC环境

fly172的专栏 540

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

3个很有用VC的IDE工具宏

 我在VC6中使用的3个宏工具收藏 新一篇: 用Java实现的Status Bar (3/3) - TestStatusbar.java | 旧一篇: 使用Regex实现的为JFileChooser使用的FileFilter对象的创建类<!--function StorePage(){d=document;t=d.selection?(d.selection.type

rsjrj的专栏 1674

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

VC注释宏

VC注释宏是类似这样的宏:{{AFX_MSG_MAP(CDrawView) ON_WM_LBUTTONDOWN() }}AFX_MSG_MAP是由MFC自动生成的一些被注释的代码,MFC的代码添加工具用它来定位代码添加和删除的位置。<p>

hnlwt的专栏 377万+

VC中用于调试程序的几个宏的使用技巧

VC中用于调试程序的几个宏的使用技巧 摘要:本文介绍了VC中用于调试程序的几个宏的使用技巧 标签:技巧  C  使用 一、TRACE宏   当选择了Debug目标,并且afxTraceEnabled变量被置为TRUE时,TRACE宏也就随之被激活了。但在

特权份子的专栏 547

VC 中ASSERT宏和VERIFY宏的区别

上学的时候经常看到一些VC编程方面的书上说,在用VC开发程序的时候,最好用VERIFY宏代替ASSERT,当时不知道是其中的原因,今天看了两个宏的定义,终于明白了。1、在DEBUG模式下,两个宏的功能是一样的2、在RELEASE模式下,ASSERT不会对参数里的表达式进行计算,VERIFY会计算里面的表达式(如果是函数,将会调用该函数)。 部分定义如下:#ifdef _DEBU

InsideKernel的专栏 3496
上一篇: CSS样式命名规则(仅供参考)
下一篇: VC中常用的20种方法
0x16
博客等级 码龄20年 79粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值