摘要: 你从键盘打一个字符,然后按个回车Enter,把输入的字符赋给c变量,这时候你是输入了两个字符的,一个事你打的字符,另一个就是回车字符,打入的字符赋给了变量c,但回车字符还留在缓存区内,所以等到要输入下个字符的时候,不会让你输入的,直接把回车字符付给了c变量,加个getchar(),就是把缓存区里的回车字符拿走,可以让你输入下个字符。你可以把这里的getchar()换成fflush(stdin) 清除标准输入设备缓存 也可以的 阅读全文
posted @ 2013-05-16 14:08 偶是修真者 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 修改对话框模板属性 styles-->>Border 属性改为Resizing 阅读全文
posted @ 2013-05-12 14:24 偶是修真者 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 1、 对话框的创建:可以通过插入对话框资源来创建一个对话框,对话框的创建封装在CDialog类中,它是由CWND类派生出来的,用来在屏幕上显示对话框窗口。具体方法:先通过classwizard来创建一个新的类,和对话框的资源相关联,在Menu中创建一个菜单项,并通过对菜单项的响应来实现其相应的功能。2、 对话框的分类:① 模态对话框(在产生模态对话框时,程序先暂停执行,只能在模态对话款上进行操作,其他地方的操作不能进行。)② 非模态对话框(它允许在显示对话框的同时,转而执行程序中的其他操作。)3、 模态和非模态对话框的创建:① 模态对话框的创建:可以通过Domodal()函数来实现,里面自带了 阅读全文
posted @ 2013-05-11 14:01 偶是修真者 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 图形设备接口(GDI)许多MS-DOS程序都直接往视频存储区或打印机端口输送数据, 这种做法的不利之处在于需要对每种显示卡或打印机类型提供相应的驱动程序。Windows则提供了一抽象的接口,称之为图形设备接口(GDI)。Windows己经提供了各种显示卡及打印机的驱动程序,这样我们的程序就可以不必关心与系统相连的显示卡及打印机的类型。我们的程序可以通过调用GDI函数和硬件打交道,而各种GDI函数会自动参考被称为设备环境(CDC)的数据结构。Windows会自动将设备环境结构映射到相应的物理设备,并且会提供正确的输入输出指令。设备描述表(DC)在Windows环境中,各程序的输出必须限制在自己的 阅读全文
posted @ 2013-05-11 12:03 偶是修真者 阅读(534) 评论(0) 推荐(0) 编辑
摘要: 画刷类CBrush利用画笔可以画图形的边框,而用画刷就可以在图形内着色。大多数的GDI绘图函数既使用画笔又使用画刷,它们用画笔绘制各种图形的周边,而用画刷填充图形,因而可以用一种颜色和风格去设置画笔,而用另一种颜色和风格去设定画刷,通过一次函数调用就可以绘制出形状复杂的图形。画刷是由CBrush类管理的,创建画刷有两种方法:一种是调用构造函数,另一种是调用相关的成员函数。1.CBrush的构造函数CBrush类的结构函数定义如下:① CBrush( );② CBrush( COLORREF crColor );throw( CResourceException );③ CBrush( int 阅读全文
posted @ 2013-05-11 12:00 偶是修真者 阅读(743) 评论(0) 推荐(0) 编辑
摘要: 该函数创建一个与指定设备兼容的内存设备上下文环境(DC)。原型:HDC CreateCompatibleDC(HDC hdc); 参数:hdc:[in]现有设备上下文环境的句柄,如果该句柄为NULL,该函数创建一个与应用程序的当前显示器兼容的内存设备上下文环境。返回值:如果成功,则返回内存设备上下文环境的句柄;如果失败,则返回值为NULL。若想获得更多错误信息,请调用GetLastError函数。说明:内存设备上下文环境是仅在内存中存在的设备上下文环境,当内存设备上下文环境被创建时,它的显示界面是标准的一个单色像素宽和一个单色像素高。在一个应用程序可以使用内存设备上下文环境进行绘图操作之前,它 阅读全文
posted @ 2013-05-11 11:53 偶是修真者 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 函数功能:该函数创建一个与指定设备兼容的内存设备上下文环境(DC)。函数原型:HDC CreateCompatibleDC(HDC hdc);参数:hdc:现有设备上下文环境的句柄,如果该句柄为NULL,该函数创建一个与应用程序的当前显示器兼容的内存设备上下文环境。返回值:如果成功,则返回内存设备上下文环境的句柄;如果失败,则返回值为NULL。CreateCompatibleDc函数只适用于支持光栅操作的设备,应用程序可以通过调用GetDeviceCaps函数来确定一个设备是否支持这些操作。当不再需要内存设备上下文环境时,可调用DeleteDc函数删除它。用双缓冲的话还要再定义一个位图对象吧, 阅读全文
posted @ 2013-05-11 11:22 偶是修真者 阅读(158) 评论(0) 推荐(0) 编辑
摘要: VC 下多语言版本简单实现String Table里的索引符号是一样的,只是字串表示不同。 上述字符资源列表里,第一个是中文字符串表,第二个是英文字符串表,在CXXAPP里,我们可以这样写:BOOL CDrvSetupApp::InitInstance() { if (GetACP() != 936)//如果判断当前系统不是中文系统用下列函数将英文字串表设为使用字串表 { SetThreadUILanguage(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US)); }。。。。}举例:CString strShow;strShow.LoadStr... 阅读全文
posted @ 2013-05-11 10:03 偶是修真者 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 宽字节转单字节 :size_t wcstombs( char *mbstr, const wchar_t *wcstr, size_t count );单字节转宽字节 :size_t mbstowcs( wchar_t *wcstr, const char *mbstr, size_t count );上面这两个是标准C++的,下面两个好像是微软的函数。不过上面两个函数只能一个一个的转换,也就是说一次只能转换一个字符。下面两个方法就是 宽字符串与单字节字符串之间的转换。宽字节转多字节 :WideCharToMultiByte //其实这里的多字节就是我们说的char多字节转宽字节 :Multi 阅读全文
posted @ 2013-05-10 15:39 偶是修真者 阅读(1313) 评论(3) 推荐(1) 编辑