VC|MFC学习笔记十一:GetWindowRect()和GetClientRect();OnPaint()和OnDraw()等 1.GetWindowRect()和GetClientRect()GetWindowRect()是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。GetClientRect()取得窗口客户区(不包括非客
VS2008:1>LINK : fatal error LNK1000: Internal error during IncrBuildImage ? 从网上看来的,用VS2008后经常遇到这个问题。解决:项目(Project)->属性(Property)->链接器(Linker)->常规(General) 下面的“启用增量链接(Enable Incremental Linking)”,将“是(/INCREMENTAL)”改为“否(/INCREMENTAL:NO)”。不过这又引入了另外一个警 告:FormatCom.obj : warni
VS2010调试程序出现错误:vc/atlmfc/include/atlcore.h(35): fatal error C1189: #error : This file requires _WIN32_WINNT to be #defined at le 在将VC6.0程序转换成VS2010之后,弹出此错误,有两种方法可以解决此问题,根据具体情况设定,呵呵(1)修改stdafx.h中信息,如下所示 #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #include // MFC core and sta
VS2010 编译包含有sphelper.h文件项目时,编译错误解决方案。 在使用Microsoft Speech SDK 5.1开发语音识别程序时,包含了头文件“sphelper.h”和库文件“sapi.lib”。编译时出错: 1>c:/program files/microsoft speech sdk 5.1/include/sphelper.h(769) : error C4430: missing type specifier - int assumed
VS2010 VC++默认目录修改 进入 s:/Documents and Settings/ /Local Settings/Application Data/Microsoft/MSBuild/v4.0. 目录,编辑该目录中的文件Microsoft.Cpp.Win32.user (32位平台) 或者是Microsoft.Cpp.X64.user(64位平)即可修改对应的include和lib默认目录。
linux、windows中实现gettickcount() #ifdef WIN32#define OS_WINDOWS WIN32#include <windows.h>#endif#ifdef LINUX#include <unistd.h>#include <sys/time.h>#include <netinet/in.h>#endif#define ULONAG unsigned long ULONGA getTickCount(void){ ULONGA currentTime;
WaitForSingleObject使用 WaitForSingleObject使用DWORDWaitForSingleObject( HANDLEhHandle, DWORDdwMilliseconds ); 参数hHandle是一个事件的句柄,第二个参数dwMilliseconds是时间间隔。如果时间是有信号状态返回WAIT_OBJECT_0,如果时间超过dwMilliseconds值但时间事件还是无信号状态则返回WAIT_TIMEOUT。hHandle
AIX初级使用--vi 命令 ⒈ 进入vi: 要使用vi,应先注册进入一用户,然后如下所示进行操作: $ vi <filename> <Enter> ($ 为提示符) ⒉ 退出vi: (1) "Esc" 退出插入方式进入命令方式 :w <Enter> 将文件存盘 :q <Enter> 退出vi (2) "Esc"
#pragma 预处理指令详解 在所有的预处理指令中,#pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #pragma para 其中para为参数,下面来看一些常用的参数。 (
#pragma pack 内存对齐 许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地址的值是某个数k(通常它为4或8)的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数(alignment modulus)。 Win32平台下的微软C编译器(cl.exe for 80x86)在默认情况下采用如下的对齐规则: 任何基本数据类型T的对齐模数就是T的大小,即sizeof(T)。比如对于double类型(8字节),就要求该类型数据的地址总是8的倍数,而char类型数据(1字节)则可以从
CreateFile,ReadFile等API详解 一、*****CreateFile***** 这个函数可以创建或打开一个对象的句柄,凭借此句柄就可以控制这些对象:控制台对象、通信资源对象、目录对象(只能打开)、磁盘设备对象、文件对象、邮槽对象、管道对象。 函数原型:HANDLE CreateFile(LPCTSTR lpFileName, // file name对
FindFirstFile的使用 在ANSI C中文件查找通过findfirst和findnext函数进行。在Win32中提供了专门的文件查找的函数,HANDLE FindFirstFile( LPCTSTR lpFileName, // file name LPWIN32_FIND_DATA lpFindFileData // data buffer);BOOL FindNextFile( HANDLE hF
C FILE 操作 文件的基本概念 所谓“文件”是指一组相关数据的有序集合。 这个数据集有一个名称,叫做文件名。实际上在前面的各章中我们已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件(头文件)等。文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来。从不同的角度可对文件作不同的分类。从用户的角度看,文件可分为普通文件和设备文件两种。 普通文件是指驻留在磁盘或其
一些VC的快捷键以及调试方法技巧 1.检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号 2.查看一个宏(或变量、函数)的宏定义 把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的Go To Defition Of …),如果没有建立Browse files,会出现提示对话框,确定,然后
ListCtrl中InsertItem的函数实现 功能:该函数实现按列插入值,自动进行换行 void AddItem(int iRow, char *pStr, int iRow){ LV_ITEM lvi ; if (iRow == -1) { iRow = m_List.GetItemCount() - 1 ; } if (iCol == 0) {
CRect类 CRect类(矩形类)无基类【说 明】CRect类与Windows系统中表示矩形RECT结构相似,并且它还提供了操作RECT结构的成员函数。在传递LPRECT,LPCRECT或RECT结构作为参数的任何地方,都可以传递CRect类的对象。注意,这个类是从tagRECT结构派生而来的。(tagRECT是RECT结构的不太常用的别名。)这意味着RECT结构的数据成员(left、top、right和bo
CTreeCtrl中的根节点被选中则子树全选或全清 今天,我用CTreeCtrl创建一树形结构,想在点根节点时,则其下的所有子树全部被选中或者全情。我找到了两种方法来实现这一功能: 第一种方法,就是重载CTreeCtrl下的OnLbuttonDown(UINT nFlags, CPoint point)方法,如下所示:void CTreeCtrlCh::OnLButtonDown(UINT nFlags, CP