C++(MFC)编程中遇到的的一些函数
memset
void *memset( void *dest, int c, size_t count );
dest:
Pointer to destination
c:
Character to set
count:
Number of characters
注意:这里count代表字符个数(字节数),如果为整数则为:整数个数*sizeof(int)
_T与L宏
L宏为宽字节宏,无论什么环境下都能转化为宽字符,即Unicode字符;
_T宏为一个适配宏,可使编译器会根据编译目标环境选择合适的(Unicode还是ANSI)字符处理方式(将括号后字符串转化为合适的类型),可增加程序的移植性,一般加上好。如_T('\')
GetClientRect(LPRECT)与GetWindowRect(LPRECT)区别
GetClientRect(LPRECT):获取控件大小,其left和top一定为0,right和bottom由窗口大小决定(相对于空间本身左上角得到的rect);
GetWindowRect(LPRECT):获取窗口相对于主程序窗口的位置(坐标),之后调用ScreenToClient(LPRECT)可以把坐标从窗口坐标转化为客户区域坐标;
OnMouseWheel,与OnMButtonDown, OnMButtonUp中输入点坐标的区别
OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)中pt表示鼠标点在屏幕坐标系中坐标,需要ScreenToClient(pt)才可转化到客户区坐标;
OnMButtonDown(UINT nFlags, CPoint point), OnMButtonUp(UINT nFlags, CPoint point)等中point表示的就是鼠标位于客户区中坐标;
Tokenize-字符串分割
声明:CStringT Tokenize( PCXSTR pszTokens , int& iStart ) const;
功能:从iStart位置取出字符串中含pszTokens分割符间的内容;
MFC实例:
CString str =_T("abc;efd;mfg");
vector<CString>s;
int pos = 0;
for(int i=0;i<3;i++)
{
s.push_back(str.Tokenize( “;” pos));
}
结果: s[3 ] = {abc,efd,mfg};
注意:pos值是不断变化的。每调用一地Tokenize,就移动一次,故只能用在提取时,用在其他地方(如判断语句条件中,会导致pos移动从而跳过某些字符串)
atoi与_wtoi——把字符串转换成整型数(ascii to int)
声明:int atoi(const char *nptr);
UNICODE中
_wtoi(const wchar_t *str);
单个Radio控件是否选中设置:
((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE); //TRUE选中,FALSE未选中
((CButton *)GetDlgItem(IDC_RADIO1))->GetCheck(); //状态获取,1——选上,0——没选上
最新文章
- MyBB \inc\class_core.php <;= 1.8.2 unset_globals() Function Bypass and Remote Code Execution(Reverse Shell Exploit) Vulnerability
- CSS中的ul与li样式详解
- 51nod 1099 任务执行顺序 (贪心算法)
- Ajax返回中文乱码问题(未解决)
- Weibo Crawler in Action
- 编写灵活、稳定、高质量的 HTML 和 CSS 代码的规范
- C语言中‘\n&#39;为什么能表示CRLF两个字节
- tcp ip参数详解
- 多线程信号量 Semaphore使用
- 从头开始学JavaScript (二)——变量及其作用域
- hibernate框架学习笔记5:缓存
- 【Dp】Bzoj1296 [SCOI2009] 粉刷匠
- Jsp的基本知识
- python接口自动化-post请求2
- java 英文单词拼写纠正框架(Word Checker)
- centos-0 基础
- c# 集合中有数字、字符的Orderby排序
- 【转】PHP----JS相互调用
- [iOS]@synthesize和@dynamic关键字
- 在ASP.NET MVC下通过短信验证码注册
热门文章
- hdu2099
- C# 集合 — Hashtable 线程安全
- activiti搭建(三)整合Modeler
- Oracle存储过程知识汇总
- silverlight嵌套html不能输入中文问题
- linux BASH shell设置字体与背景颜色
- SQL Server自增长列插入指定值 -- SET IDENTITY_INSERT ON|OFF(转)
- 使用PyInstaller将Python程序打包成一个单独的exe文件
- C++求1!到n!的和
- 会写网页 就会写手机APP -- Hybrid Mobile Apps for ASP.NET Developers