MFC类的前缀都是C开头的  H开头的大多数是句柄  这是为了助记,是编程读\写代码的好的习惯.  CDC中所有MFC的DC的基类.常用的CClientDC dc(this);就是CDC的子类(或称派生类).  CDC等设备上下分类,都含有一个类的成员变量:m_nHdc;即HDC类型的句柄.  记住下面的一句话,会有助于你的理解.  MFC的类,是在用window API语句开发出来的有一定功能的小程序.(也可称为类).使用它的默认方法,就是,记住它的名字与参数(可以用笔记,代替脑记).  如果…
CDC是MFC的DC的一个类 HDC是DC的句柄,API中的一个类似指针的数据类型. MFC类的前缀都是C开头的 H开头的大多数是句柄 这是为了助记,是编程读\写代码的好的习惯. CDC中所有MFC的DC的基类.常用的CClientDC dc(this);就是CDC的子类(或称派生类). CDC等设备上下分类,都含有一个类的成员变量:m_nHdc;即HDC类型的句柄. 记住下面的一句话,会有助于你的理解. MFC的类,是在用window API语句开发出来的有一定功能的小程序.(也可称为类).使…
CDC和HDC的区别与转换 一.区别与联系HDC是句柄:CDC是MFC封装的Windows   设备相关的一个类:CClientDC是CDC的衍生类,产生对应于Windows客户区的对象HDC是WINDOWS的一种数据类型,是设备描述句柄.而CDC是MFC里的一个类,它封装了几乎所有的关于HDC的操作.   也可以这样说,HDC定义的变量指向一块内存,这块 内存用来描述一个设备的相关的内容,所以也可以   认为HDC定义的是一个指针:而CDC类定义一个对象,   这个对象拥有HDC定义的一个设备…
1. DLL的概念可以向程序提供一些函数.变量或类. 静态链接库与动态链接库的区别:(1)静态链接库与动态链接库都是共享代码的方式.静态链接库把最后的指令都包含在最终生成的EXE文件中了:动态链接库不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件.(2) 静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库. DLL分类:1.Non-MFC DLL(非MFC动态库):不采用MFC类库结构,其导出函数…
CDC是MFC的DC的一个类  HDC是DC的句柄,API中的一个类似指针的数据类型.  MFC类的前缀都是C开头的  H开头的大多数是句柄  这是为了助记,是编程读\写代码的好的习惯.  CDC中所有MFC的DC的基类.常用的CClientDC dc(this);就是CDC的子类(或称派生类).  CDC等设备上下分类,都含有一个类的成员变量:m_nHdc;即HDC类型的句柄.  记住下面的一句话,会有助于你的理解.  MFC的类,是在用window API语句开发出来的有一定功能的小程序.(…
---恢复内容开始--- 数据类型之间的转换: 1:自动转换:就是不用说出要转换成什么类型,由java中的虚拟机自动将小数据类型转换成大数据类型,但大数据中的数据精度有可能被破坏. 2:强制转换:强制转换的格式是在需要转型的数据前加上"( )",然后在括号内加入需要转化的数据类型.有的数据经过转型运算后,精度会丢失,而有的会更加精确. 例子: public class Demo { public static void main(String[] args){ int x; doubl…
原文:http://blog.csdn.net/wanghaihao_1/article/details/37498689 1.char*转换成CString 若将char*转换成CString,除了直接赋值外,还可使用CString::format进行.例如: char* p = "This is a test"; 或CString theString = p;theString.format("%s", p);theString = p; 2.CString转换…
在Roland钢琴伴侣的开发中,首先将mid文件解析出来取到每一个音符的起始时间,每一个音符的时值,音符值(比如中央C的值是60),在绘五线谱的时候需要将每一个音符值与它对应的度(octave)和音名之间相互转换. WhiteNote.h /**@class WhiteNote * The WhiteNote class represents a white keynote, a non-sharp,non-flat note.  Todisplay midi notes as sheet mu…
import java.text.SimpleDateFormat;import java.util.Date;import net.sf.json.JSONObject; public class DateTest { public static void main(String[] args) { Date d = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"…
/** *字符串转json * */ static stringToJson(data){ return JSON.parse(data); } /** *json转字符串 */ static jsonToString(data){ return JSON.stringify(data); } /** *map转换为json */ static mapToJson(map) { return JSON.stringify(JsonUtils.strMapToObj(map)); } /** *j…
------------恢复内容开始------------ %2020/12/2 11:42:31clcformat long % IEEE754 to deca = '40800000'a = dec2bin(hex2dec(a),32)M = bin2dec(a(10:32))E = bin2dec(a(2:9))x = (-1)^a(1)*(1 + M*2^-23)*2^(E-127) % dec to IEEE754 result = cos(x) if(result<0) S = '…
在VC++开发中,经常会用到string和wstring,这就需要二者之间的转换,项目中封装了wstring和string相互转换的2个函数,实现如下: //将wstring转换成string std::string ConvertWStringToAnsi(std::wstring wstr) { std::string result; int len = WideCharToMultiByte(CP_ACP, 0, wstr.c_str(), wstr.size(), NULL, 0, NU…
这篇文章主要介绍了PHP中echo和print的区别,针对二者使用中常见的用法区别进行了较为深入的总结与分析,需要的朋友可以参考下 一般来说,PHP中动态输出HTML内容,是通过print 和 echo 语句来实现的,在实际使用中, print 和 echo 两者的功能几乎是完全一样.可以这么说,凡是有一个可以使用的地方,另一个也可以使用.但是,两者之间也还是一个非常重要的区别:在 echo 函数中,可以同时输出多个字符串,而在 print 函数中则只可以同时输出一个字符串.同时,echo函数并…
VC中Source Files, Header Files, Resource Files,External Dependencies的区别 区别: Source Files 放源文件(.c..cpp)程序的实现代码全放在这里: Header Files 放头文件(.h)声明放在这里: Resource Files 资源文件(.rc)放图标.图片.菜单.文字之类的,主要用来做界面的东东一般都放这里: External Dependencies 除上三种以外的,程序编译时用到的文件全放这里. 头文…
而OnPaint()是CWnd的类成员,同时负责响应WM_PAINT消息. OnDraw()是CVIEW的成员函数,并且没有响应消息的功能.这就是为什么你用VC成的程序代码时,在视图类只有OnDraw没有OnPaint的原因. 我们一般用OnPaint维护窗口的客户区(例如我们的窗口客户区加一个背景图片),用OnDraw维护视图的客户区(例如我们通过鼠标在视图中画图). ===============================================================…
两种方法对于你的程序调用动态库时没有任何区别,只是你在编程时,步骤是不一样的.显式调用麻烦了点,但可以没有相应的lib库:隐式调用,使用起来比较 简单,有函数的声明(头文件.h)就可以了,但必须有lib库. 在VC中两种方式的具体方法: 一.动态库的隐示调用: 在 VC 工程中直接链接静态输入库XXX.lib,然后即可像调用其它源文件中 的函数一样调用DLL中的函数了. 二.动态库的显式调用: 显式调用动态库步骤: 1.创建一个函数指针,其指针数据类型要与调用的 DLL 引出函数相吻 合. 2.…
共有两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library.一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library.共有两种链接方式:动态链接使用动态链接库,允许可执行模块(.dll文件或.exe文件)仅包含在运行时定位DLL函数的可执行代码所需的信息.静态链接使用静态链接库,链接器从静态链接库LIB获取所有被引用函数…
原文网址:http://blog.csdn.net/holybin/article/details/28403109 一.MessageBox()用法 1.函数原型 Messagebox函数在Win32 API和MFC里的定义有区别. Win32 API的定义如下: int WINAPI MessageBox( HWND hWnd,          // handle of owner window LPCTSTR lpText,     // address of text in messa…
一.MessageBox()用法 1.函数原型 Messagebox函数在Win32 API和MFC里的定义有区别. Win32 API的定义如下: int WINAPI MessageBox(      HWND hWnd,          // handle of owner window      LPCTSTR lpText,     // address of text in message box      LPCTSTR lpCaption, // address of titl…
typedef unsigned long       DWORD;typedef int                 BOOL;typedef unsigned char       BYTE;typedef unsigned short      WORD;typedef float               FLOAT;typedef FLOAT               *PFLOAT;typedef BOOL near           *PBOOL;typedef BOOL…
http://i.cnblogs.com/EditPosts.aspx?opt=1 对于从VC++6.0转到VS2005编译环境中的程序员.往往会碰到字符集之间的转换. VC6.0采用的是ANSI字符集,而VS2005或者VS2008是采用的Unicode字符集. L: 比如创建一个窗口类: HWND hWnd=CreateWindow(L"ClassName",L"最简单的Direct3D程序", WS_OVERLAPPEDWINDOW,200,100,600,5…
http://blog.csdn.net/chenlycly/article/details/7586067 这篇转发的文章总结的比较好,但是没有告诉我为什么ON_MESSAGE的返回值必须是LRESULT 摘要: Windows编程和Dos编程,一个很大的区别就是,windows编程是事件驱动,消息传递的.所以,要做好windows编程,必须对消息机制有一个清楚的认识,本文希望能够对消息的传递做一个全面的论述,由于小生初学VC,里面可能有一些错误的地方,还往各位大虾批评.指正. 注意:有些消息…
摘要:Windows编程和Dos编程,一个很大的区别就是,Windows编程是事件驱动,消息传递的.所以,要学好Windows编程,必须 对消息机制有一个清楚的认识,本文希望能够对消息的传递做一个全面的分析. 一.什么是消息? 消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉.一个消息,是系统定义的一个32位的值,他唯一的定 义了一个事件,向Windows发出一个通知,告诉应用程序某个事情发生了.例如,单击鼠标.改变窗口尺寸.按下键盘上的一个键 都会使Windows发送一个…
消息是指什么? 消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉.一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出一个通知,告诉应用程序某个事情发生了.例如,单击鼠标.改变窗口尺寸.按下键盘上的一个键都会使Windows发送一个消息给应用程序. 消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息.例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标.这个记录类型叫做MSG,MSG含有来自windo…
在 VC 中使用 StretchBlt 会碰到一些与点阵图大小缩放相关的一些问题.在扩展一个点阵图时,StretchBlt必须复制图素行或列.如果放大倍数不是原图的整数倍,那么此操作会造成产生的图像有些失真.如果目的矩形比来源矩形小,那么StretchBlt在缩小图像时就必须把两行(或列)或者多 行(或列)的图素合并到一行(或列).完成此操作有四种方法,它根据装置内容伸展模式属性来选择其中一种方法.您可使用 SetStretchBltMode 函数来修改这个属性.SetStretchBltMod…
汇编程序结构 一个显示字符串的汇编程序 程序格式 一.模式定义 二.includelib语句 三.函数声明语句 四.数据和代码部分 Visual C/C++环境 建立工程 汇编程序的调试 一.设置断点 二.内存窗口 三.寄存器窗口 四.监视窗口 常用调试命令 字符串输入.输出 printf sprintf scanf 常用Windows API调用 MessageBox 确定函数的声明语句和库文件 读取CPU标识 WinDbg调试工具 实验题:用MessageBox函数显示CPU信息  源自:h…
好多人都觉得在VC中实现文字竖排是一件很难的事情,其实可以使用“躺”着的字体很方便的实现文字竖排. Windows中有一些字体是“躺”着的,例如:@Fixedsys.@System.@宋体.@黑体等等,有很多,这些字体和不加@的字体的唯一区别就是用这些字体显示的文字是“躺”着的.如下图: 对这些“躺”着的字体进行270°的旋转就可以实现文字竖排了,效果如下: 以下代码可以产出竖排的宋体. CFont font; CFont *pOldFont; font.CreateFont(, , , , F…
[转]VC++中操作XML(MFC.SDK) XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini.VC++里操作XML有两个库可以用:MSXML和XmlLite.MSXML又细分了两种接口:DOM和SAX2.XP没自带有XmlLite,只自带有2.x.3.x版的MSXML,不支持SAX2(需要MSXML 4.0以上),所以优先使用DOM.DOM是以COM形式提供的,VC++里调用DOM可以分3种方法:1…
vc中debug和release的不同 收藏  在使用VC开发软件的过程中,正当要享受那种兴奋的时候突然发现:release与debug运行结果不一致,甚至出错,而release又不方便调试,真的是当头一棒啊,可是疼归疼,问题总要解决,下面将讲述一下我的几点经验,看看是不是其中之一: 1. 变量. 大家都知道,debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc(注1),而release的赋值近似于随机(我想是直接从内存中分配的,没有初始化过).这样…
VC中动态添加控件 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态控件: 为了对照,我们先来看一下静态控件的创建. 放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一个静态控件就创建好了,当对话框被显示时,其上的控件也会显示. 静态控件不需要调用Create()函数来创建. 而创建动态控件有很大不同,以下以按钮为例,看一下动态控件的创建过…