123456

 
上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 39 下一页

2011年11月16日

打印函数时间

摘要: 自己随手写的,方便测试绘制代码用。class CFunTime{public: CFunTime() { TimeStart=GetTickCount(); } ~CFunTime() { TimeEnd=GetTickCount(); TRACE("time:%d\n", TimeEnd-TimeStart); }private: DWORD TimeStart; DWORD TimeEnd;};这个函数只精确到55ms,1个tick就是55ms。第二种:class CFunTime{public: CFunTime() { QueryPerformanceC... 阅读全文

posted @ 2011-11-16 23:05 hgy413 阅读(191) 评论(0) 推荐(0) 编辑

2011年11月10日

A Revolutionary New Approach to Custom Drawn Menus

摘要: 收藏!Rev 1.2IntroductionChanging the default appearance of elements of the Windows GUI has been a never ending challenge for Windows programmers since the first release of the Windows API. And anyone who has seriously tried to change the appearance of menus (beyond simple owner-draw techniques) will k 阅读全文

posted @ 2011-11-10 16:41 hgy413 阅读(144) 评论(0) 推荐(0) 编辑

SelectClipRgn

摘要: SelectClipRgn(NULL)或SelectClipRgn(NULL, RGN_COPY)表示当前选中全部区域,cwindowdc就是window区域,cclientdc就是client区域每次绘制前都可以用SelectClipRgn来选中一块区域,再绘制,再选中一块区域,再绘制,不第二次用SelectClipRgn选中,上次绘制的不会被擦除,当然可以结合ExcludeClipRect来绘制。注意使用gdi+时,一定要先用SelectClipRgn选定区域,再生成graphics g(hdc),不然g 就默认用上次的区域绘制了!! 阅读全文

posted @ 2011-11-10 10:38 hgy413 阅读(274) 评论(0) 推荐(0) 编辑

2011年11月7日

俄语UI资源的VC程序在英文版windows XP/windows 7俄语环境下乱码问题

摘要: 1. 开发工具:VS2005/VS2008,VC++2. 环境:XP/Win7 英文版,区域设置为俄罗斯3. 程序:资源文件为俄文的com dll。现象:程序中很多动态创建的Combobox或ComboboxEx控件显示乱码,调试发现该控件没有默认的字体,调用GetFont返回NULL,于是在创建控件后调用SendMessage(WM_SETFONT, GetStockObject(DEFAULT_GUI_FONT), 1),运行程序发现大部分问题解决,个别控件还是有问题。于是用下面代码:1. 在类中声明一个CFont的成员变量m_font;2. 调用VERIFY(m_font.CreateF 阅读全文

posted @ 2011-11-07 19:59 hgy413 阅读(286) 评论(0) 推荐(0) 编辑

2011年11月1日

枚举串口四法

摘要: 枚举串口四法串口作为最基本的电脑通信I/O接口,其使用虽然在PC上越来越少,但是在工业仪器领域仍然用的相当普遍,由于笔者工作中需要用到串口,而且发现枚举串口至今仍未搞得很清楚,为此自己先整理下,希望大侠和同行们对我不懂和错误的地方指点一下。1、查询注册表查询注册表的方法是网上见到的比较常见的方法,该方法就是使用编程方法读取注册表内信息,相当于用户通过在运行框内输入”regedit”(或regedit32)直接打开注册表,查看“HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM”项来获取串口信息。以下是源代码:CStringstrSerialList 阅读全文

posted @ 2011-11-01 21:47 hgy413 阅读(155) 评论(0) 推荐(0) 编辑

2011年10月15日

#pragma init_seg 对象的初始化和析构顺序

摘要: 先进后出原则,最先初始化的最后析构!1.C++中全局对象、变量的构造函数调用顺序是跟声明有一定关系的,即在同一个文件中先声明的先调用。对于不同文件中的全局对象、变量,它们的构造函数调用顺序是未定义的,取决于具体的编译器2.C++总是按成员变量在类声明中出现的顺序来初始化成员变量的,为什么C++不按初始化列表的顺序来初始化成员变量呢?因为我们知道初始化的顺序应该与析构的顺序相反,而对一个类来说 constructor 可能有多个,初始化列表也会有多个,所以C++就选择了简单的点的方法,按成员变量出现的顺序来初始化。3.基类的静态变量先初始化,然后是它的派生类。直到所有的静态变量都被初始化。这里需 阅读全文

posted @ 2011-10-15 17:35 hgy413 阅读(753) 评论(0) 推荐(0) 编辑

2011年10月11日

WM_NCCALCSIZE

摘要: 当wParam为FALSE时,只有rgrc[0]可用,为新窗口的窗口区域(B),此时需返回新窗口的客户区大小(BC)。当wParam为TRUE时,rgrc[0]、rgrc[1]、rgrc[2]都有效.rgrc[0]和前面的一样,rgrc[1]为原先窗口的区域(A),rgrc[2]为原先窗口的客户区大小(AC),处理后:rgrc[1]、rgrc[2]不变,rgrc[1]还是为原先窗口的区域(A),rgrc[2]还是为原先窗口的客户区区域(AC)(就是这出现问题的,大家可以对照看原版),rgrc[0]为当前当前窗口的客户区大小(BC)。因此不管wParam为FALSE还是为TRUE,都是处理rgr 阅读全文

posted @ 2011-10-11 20:13 hgy413 阅读(164) 评论(0) 推荐(0) 编辑

2011年10月9日

统一命名规则

摘要: 1. #define 保护所有头文件都应该使用 #define 防止头文件被多重包含, 命名格式当是:___H_项目SkinTK中的头文件 SkinTK/SkinTK/targetver.h 可按如下方式保护:#ifndef SKINTK_SKINTK_TARGETVER_H_#define SKINTK_SKINTK_TARGETVER_H_#endif//SKINTK_SKINTK_TARGETVER_H_2. 函数参数的顺序定义函数时, 参数顺序依次为: 输入参数, 然后是输出参数.3.cpp#include顺序本CPP对应的.hC系统文件C++系统文件其他库的.h文件本项目的.h文件4 阅读全文

posted @ 2011-10-09 13:12 hgy413 阅读(258) 评论(0) 推荐(0) 编辑

tinyxml小记

摘要: 1.声明:TiXmlDocument *m_pXml; //m_pXml = new TiXmlDocument;最好用动态生成.2.加载xml文件:1.xml: text is hgy child text is hgy // wchar_t wcPath[MAX_PATH] = {0}; ::GetModuleFileName(NULL, wcPath, MAX_PATH); // int nLen = WideCharToMultiByte(CP_ACP, 0, wcPath, -1, 0, NULL, NULL, NULL); ch... 阅读全文

posted @ 2011-10-09 09:42 hgy413 阅读(184) 评论(0) 推荐(0) 编辑

2011年10月8日

学习计划---------hgy

摘要: 10.8:学习了tinyxml的基本解析,掌握元素,属性的遍历10.9:学习了tinyxml的一般解析和写入,开始重写皮肤库外框.1.10:皮肤库加入SkinLog.dll,完成外框的搭建://用户故事:// 1.我希望我能对任意指定的一个具体控件进行局部换肤// 2.我希望我能对任意指定的一类控件进行局部换肤// 3.我希望我能对整个exe指定整体换肤//TODO解决方案:// 提供整体换肤xml解析,解决2.3故事// 提供特定的hwnd和xml映射表,解决1故事10.13:skin类建立,xml写入图片资源成功。但具体xml如何定义更为简洁还得继续考虑,目前参照千千的。10.17:完成f 阅读全文

posted @ 2011-10-08 20:05 hgy413 阅读(199) 评论(0) 推荐(0) 编辑

上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 39 下一页

导航