MFC基础

本文深入探讨了MFC中的CString类的使用,包括对象初始化、操作、拼接、比较、查找、替换与删除、提取和格式化。同时,介绍了模态与非模态对话框的区别,讲解了内存分配的三种方式,以及对话框间的数据传递。此外,还讨论了控件变量的绑定、定时器的使用、对话框响应鼠标键盘消息的方法,以及全局热键的注册和控件自定义消息响应机制。
摘要由CSDN通过智能技术生成

CString类的使用

对象初始化

// 使用字符串常量进行初始化
CString str1;				// 采用默认的构造函数进行初始化
CString str2(_T("hello"));	// 带一个参数的构造函数
CString str3 = _T("hello"); // 带一个参数的构造函数

// 使用字符数组进行初始化
TCHAR szBuf[] = _T("ABC");
CString str4(szBuf);
CString str5 = szBuf;

// 使用字符指针进行初始化
TCHAR *pChar = _T("CHINA");
CString str6(pChar);
CString str7 = pChar;

// 使用CString对象进行初始化:调用的是拷贝构造函数
CString str8(str7);
CString str9 = str7;

对象基本操作

// 获取字符串的长度: CString#GetLength()获取的是字符个数
CString str(_T("hello,kitty--中国"));
int len = str.GetLength(); // UNICODE下字符个数是15; 多字节字符集: 17

// 是否为空
bool flag1 = str.IsEmpty(); // false
bool flag2 = CString().IsEmpty(); // 无名对象: true

// 大小写转换
str.MakeUpper(); // 将str对象中的字符全部转换为大写: 只能对英文字母
MessageBox(str);
str.MakeLower(); // 将str对象中的字符全部转换为小写: 只能对英文字母
MessageBox(str);

// 逆序
str.MakeReverse(); // 将字符串中的字符逆序:包括中文
MessageBox(str);

对象拼接

// 字符串的连接: +、+=
CString str1 = TEXT("hello");
CString str2 = TEXT("kitty");
CString str3 = str1 + TEXT(",") + str2; // CString对象 + 字符串常量 + 字符串对象
MessageBox(str3);
str3 += CString(TEXT(": china")); // 匿名对象CString("...")
MessageBox(str3);
TCHAR szBuf[] = TEXT("AAA"); // CString对象拼接字符数组: char类型或wchar_t类型
str3 += szBuf;
MessageBox(str3);
TCHAR *pTChar = TEXT("BBB"); // CString对象拼接字符指针: char *或 wchar_t *类型
str3 += pTChar;
MessageBox(str3);

字符串比较

// 字符串比较
// 常用的:==、!=、Compare():区分大小写、CompareNoCase():不区分大小写
// 不常用的:>、<、>=、<=
CString s1(TEXT("ABC"));
CString s2 = TEXT("BBB");
TCHAR szBuf[] = TEXT("ABC");
TCHAR *pTChar = TEXT("abc");
bool flag = s1 == s2;	// false
flag = s1 == szBuf;		// true:运算符重载
flag = s1 == pTChar;	// false:==区分大小小

int i = 0;
i = s1.Compare(szBuf);	 // 0:返回0表示字符相等
i = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值