摘要: 在字符集中,有一类字符具有这样的特性:当从键盘上输入这个字符时,显示器上就可以显示这个字符,即输入什么就显示什么。这类字符称为可显示字符,如a、b、c、$、+和空格符等都是可显示字符。另一类字符却没有这种特性。它们或者在键盘上找不到对应的一个键(当然可以用特殊方式输入),或者当按键以后不能显示键面上的字符。其实,这类字符是为控制作用而设计的,故称为控制字符。在C语言中,构成字符常量的控制字符必须用转义字符表示。转义字符是一种以“\”开头的字符。例如退格符用'\b'表示,换行符用'\n'表示。转义字符中的'\'表示它后面的字符已失去它原来的含义,转 阅读全文
posted @ 2014-03-23 21:57 风一兮 阅读(7992) 评论(0) 推荐(1) 编辑
摘要: 1 SetWindowPos(NULL,0,0,200,300,SWP_NOMOVE); 2 3 // 表示不考虑(0,0),仅仅将大小改为200x300,位置不变 4 // SetWindowPos(NULL,0,0,200,300,SWP_NOMOVE); 5 // 表示不考虑200X300,只是把位置挪到(0,0).大小不变 6 // 如果想同时改变,最后可用SWP_NOZORDER等 7 // 参数中还有SWP_SHOWWINDOW 显示窗口 对应的SWP_HIDEWINDOW 1 //在OnShowWindow函数中完成窗口居中。2 3 //共三种方法:... 阅读全文
posted @ 2014-03-23 17:46 风一兮 阅读(7264) 评论(0) 推荐(0) 编辑
摘要: CImage类是ATL和MFC共用的一个类,其头文件为atlimage.h,主要用于图片文件的打开,显示与保存。这里需要注意的是,在VS2010 和VS2012的MFC编程中,不需要将头文件包含进来。MFC中要使用CImage类,必须先将头文件包含进来,可以包含在当前代码的CPP文件中,也可以包含在所属类的头文件中,不过最好还是包含在工程的stdafx.h文件中。CImage总共有39个成员函数,下面将在CImage的功能实现中慢慢讲解。1、保存图片 保存图片只有一个函数,就是Save函数,该函数有两个参数,一个是文件的完整路径和文件名,一个是文件的扩展名。但是如果只有保存和显示图片功能,.. 阅读全文
posted @ 2014-03-23 10:36 风一兮 阅读(5908) 评论(0) 推荐(0) 编辑
摘要: 1、 图形标识用的希腊字母2、 图形标识用的其他特殊字符3、 上下标的控制指令4、 字体式样设置规则 阅读全文
posted @ 2014-03-16 20:17 风一兮 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 向导是一种用来简化用户操作的程序。在Microsoft 的所有产品中都存在向导,如Office2000 中的Web 页向导就是一个十分典型的向 导(如下图所示),还有常用的VC++向导。一个基本的向导程序应该包含以下几个基本按钮: 取消、上一步、下一步、完成、帮助。 一、标准向导程序在 VC++中,可以使用类CPropertySheet和类CPropertyPage方便地编写一个向导程序。首先我们来介绍一下类CPropertySheet 和类CPropertyPage。 1. 类CPropertyPage 是从CDiaglog中派生出来的,具有Diaglog的基本性质,需要注意的是它的样式必须 阅读全文
posted @ 2014-01-08 17:24 风一兮 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 今天在程序中处理一格日文的文件,其中有个字符“中”,我们知道日文中也有汉字的,因为日本起源于中国,可是显示这个“时”是乱码,后来发现,是类型方面的一个小问题,后来在网上看到一位仁兄总结好了,现转载如下:一、 在字符串前加一个L作用: 如 L"我的字符串" 表示将ANSI字符串转换成unicode的字符串,就是每个字符占用两个字节。strlen("asd") = 3; strlen(L"asd") = 6; 二、 _T宏可以把一个引号引起来的字符串,根据你的环境设置,使得编译器会根据编译目标环境选择合适的(Unicode还是ANSI)字 阅读全文
posted @ 2013-12-13 16:42 风一兮 阅读(1140) 评论(0) 推荐(1) 编辑
摘要: 三者的本质区别如下:Windows API: MessageBox();CWnd::MessageBox();MFC: AfxMessageBox();其中CWnd::MessageBox() 与 AfxMessageBox()都是对 API 函数MessageBox()的封装。关于是否需要句柄HWND的说明:1)MessageBox是API,因此它需要HWND参数指定其所属窗体。2)CWnd::MessageBox() 是CWnd的成员函数,它要求MessageBox只能在cwnd类及其子类中使用;它不要求HWND参数,因为CWnd已经指明了其所属窗口。 因此CWnd::MessageBox 阅读全文
posted @ 2013-12-12 13:38 风一兮 阅读(661) 评论(0) 推荐(0) 编辑
摘要: 用例子给你示范1 // 1.cpp 2 int x = 10; 3 // 2.cpp 注意没有包含1.cpp 4 #include 5 using namespace std; 6 extern int x;7 int main () 8 { cout 3 void print() 4 { 5 std::cout 9 using namespace std; 10 // 以上两句在这个例子中可以不要 11 extern void print(); 12 int main () 13 { 14 print(); 15 } 就会出错因为1.h中的voidprint();在不包含它的文... 阅读全文
posted @ 2013-12-12 09:11 风一兮 阅读(1287) 评论(0) 推荐(0) 编辑
摘要: 使用UNICODE字符集编程时,总是需要使用那些不支持UNICODE的库,例如sqlite3,Lua等必须使用char*类型的。这个时候用CStringA是最好的。另外CStringA与CString可以灵活地随意转换赋值,注意不能这样用:CString str1;CStringA str2=str1;而要这样用:CStringA str2;str2=str1;这样就可以把UNICODE版本字符串转换为Ansi版本了,非常之强大,非常之方便! 阅读全文
posted @ 2013-12-01 11:23 风一兮 阅读(604) 评论(0) 推荐(0) 编辑
摘要: Step1: 将类文件SerialPort.cpp和SerialPort.h复制到工程所在的文件夹中,然后点击VC菜单上的Project->Add to Project->Files,再在打开的对话框里选择上面的两个文件,单击OK,就把类文件加入了当前工程,在Dlg.h中添加SerialPort.h说明:#include"SerialPort.h",完成这个类的加入。Step2: 在Dlg.h中定义CSerialPort类对象,这里定义的类对象为m_SerialPort,在定义一个布尔型的变量 m_bSerialPortOpened用来标志串口是否打开。在CSe 阅读全文
posted @ 2013-12-01 10:28 风一兮 阅读(499) 评论(1) 推荐(0) 编辑