<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[loongee的专栏]]></title><description><![CDATA[我要一步一步往上爬~~~]]></description><link>https://blog.youkuaiyun.com/loongee</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; loongee]]></copyright><item><title><![CDATA[使用NTP协议获取网络时间代码]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/24271129</link><guid>https://blog.youkuaiyun.com/loongee/article/details/24271129</guid><author>loongee</author><pubDate>Mon, 21 Apr 2014 20:59:11 +0800</pubDate><description><![CDATA[协议包：]]></description><category></category></item><item><title><![CDATA[向量旋转算法]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/7550717</link><guid>https://blog.youkuaiyun.com/loongee/article/details/7550717</guid><author>loongee</author><pubDate>Wed, 09 May 2012 17:00:26 +0800</pubDate><description><![CDATA[向量旋转，即循环移位。以下是《编程珠玑》所示的算法。
#include 
#include 
#include 
#include 
#define _USE_MATH_DEFINES
#include 
#include 
using namespace std;

int gcd(int m, int n)
{
    if(m < n){
        swap(]]></description><category></category></item><item><title><![CDATA[《深度探索C++对象模型》笔记]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/7546409</link><guid>https://blog.youkuaiyun.com/loongee/article/details/7546409</guid><author>loongee</author><pubDate>Tue, 08 May 2012 15:31:04 +0800</pubDate><description><![CDATA[虚函数可能会在执行前调整this指针的位置，例如多继承的情况下。基类指针调用子类虚函数，必须调整指针才能访问到正确的成员位置。没有任何数据成员及虚函数的类对象，占用空间为1字节。NRV（named return value）优化可以使程序更少地调用构造与析构函数，减少复制运算。例如对于
C1 func()
{
    C1 temp;
    return temp;
}
C1 t =]]></description><category></category></item><item><title><![CDATA[MFC笔记]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/7325605</link><guid>https://blog.youkuaiyun.com/loongee/article/details/7325605</guid><author>loongee</author><pubDate>Tue, 06 Mar 2012 17:01:13 +0800</pubDate><description><![CDATA[MoveWindow会引发WM_SIZE，而后引发WM_NCCALCSIZE消息ListBox的滚动条绘制在NCPAINT中，向窗体添加滚动条在NCCALSIZE消息响应中。SCROLLINFO中的nPage表示的是当前页面所显示的行数。不能用PreTranslateMessage拦截WM_DESTROY,WM_ERAZEBKGND, WM_NCCALSIZE，因为它们全部都是发送的。]]></description><category></category></item><item><title><![CDATA[CListBox CEdit 自绘滚动条小试]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/7171405</link><guid>https://blog.youkuaiyun.com/loongee/article/details/7171405</guid><author>loongee</author><pubDate>Mon, 02 Jan 2012 17:25:47 +0800</pubDate><description><![CDATA[如果直接需要代码，请直接移步http://www.codeproject.com/KB/dialog/skinscrollbar.aspx (注：本人非此代码作者）


用Spy++检查后可知，CListBox的滚动条根本不是独立的滚动条窗口，只是一个逻辑窗口，因此使用对Scrollbar进行SubClass的方法是不可行的，因此只能想办法屏蔽掉Scrollbar。


方案一：在CL]]></description><category></category></item><item><title><![CDATA[C#笔记]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/6957536</link><guid>https://blog.youkuaiyun.com/loongee/article/details/6957536</guid><author>loongee</author><pubDate>Thu, 10 Nov 2011 19:53:04 +0800</pubDate><description><![CDATA[var 可以使编译器自动确定一个合适的类型
例如 var x = 10; 则在编译时自动将x变量设为INT型。


如下函数
void optMethod(int first, double second = 0.0, string third = "Hello")
可以用此方法调用optMethod(first : 99, second : 123.45, third : "Worl]]></description><category></category></item><item><title><![CDATA[C++函数中的static变量初始化及析构顺序]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/6831579</link><guid>https://blog.youkuaiyun.com/loongee/article/details/6831579</guid><author>loongee</author><pubDate>Wed, 28 Sep 2011 21:13:53 +0800</pubDate><description><![CDATA[有如下的类：
class base
{
public:
	base(char* pStr)
	{
		m_pStr = pStr;
		cout << pStr << " Constructor!" << endl;
	}
	~base()
	{
		cout << m_pSt]]></description><category></category></item><item><title><![CDATA[MFC C++ 绘制 EAN13 （商品条码）]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/6539837</link><guid>https://blog.youkuaiyun.com/loongee/article/details/6539837</guid><author>loongee</author><pubDate>Sun, 12 Jun 2011 19:25:00 +0800</pubDate><description><![CDATA[绘制方法参考的 http://blog.youkuaiyun.com/zgke/archive/2008/12/11/3496721.aspx C#.NET下绘制EAN13 有兴趣的同学还可以参考http://blog.youkuaiyun.com/forrest23/archive/2009/08/21/4470858.aspx VB.NET绘制EAN13  DEMOCClientDC dc]]></description><category></category></item><item><title><![CDATA[创建WINCE下16位格式位图实现快速BitBlt]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/6333489</link><guid>https://blog.youkuaiyun.com/loongee/article/details/6333489</guid><author>loongee</author><pubDate>Tue, 19 Apr 2011 14:29:00 +0800</pubDate><description><![CDATA[在WINCE下，如果创建的位图与屏幕设备格式不一样，将会导致BitBlt函数极为缓慢，因此需要创建一幅16位色565格式位图，用此方法创建出的位图可以提供1ms的快速BitBlt绘制。当然，如果设备不是565颜色格式的，更改代码中的颜色掩码位bmiColors就可以了。]]></description><category></category></item><item><title><![CDATA[WINCE启动界面完全定制]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/6324168</link><guid>https://blog.youkuaiyun.com/loongee/article/details/6324168</guid><author>loongee</author><pubDate>Thu, 14 Apr 2011 20:41:00 +0800</pubDate><description><![CDATA[一、            
EBOOT启动界面LOGOa)        
可供备选方案有1. 将图像数据写入NANDFLASH固定位置，优点是图像数据大，不会占用EBOOT大小；2. 直接将图像数据写成头文件，包含到工程中编译，优点是方式容易理解，但按目前的EBOOT大小，能放入320*240的二值图，也就是320*240/8=960Byte。最后选择第二种方案b)        
生成一幅LOGO位图，采用PYTHON的图像库将图像变为二值图，再将二值图转为头文件。c)        
更改%]]></description><category></category></item><item><title><![CDATA[MFC对话框CDialog中使用CStatusBar状态栏]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/6113441</link><guid>https://blog.youkuaiyun.com/loongee/article/details/6113441</guid><author>loongee</author><pubDate>Mon, 03 Jan 2011 11:24:00 +0800</pubDate><description><![CDATA[<br />在MFC的通用对话框中使用状态栏，只需要在对话框成员中增加一个CStatusBar类型的成员变量，然后在OnInitDialog函数中添加如下代码：<br />CRect rect;
    GetClientRect(rect);
    static UINT indicators[]={
        ID_SEPARATOR
    };
    if(!m_wndStatusBar.Create(this)|| !m_wndStatusBar.SetIndicators(i]]></description><category></category></item><item><title><![CDATA[RGB565 格式的BMP文件保存函数]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/6087896</link><guid>https://blog.youkuaiyun.com/loongee/article/details/6087896</guid><author>loongee</author><pubDate>Mon, 20 Dec 2010 22:37:00 +0800</pubDate><description><![CDATA[bool bmp565_write(unsigned char *image, long width, long height, const char *filename) 
{
    long file_size;
    long data_size;
    unsigned char widthAlignBytes;
    FILE *fp;

    // 文件头
    unsigned char header[66] = {
        // BITMAPFILEIN]]></description><category></category></item><item><title><![CDATA[WINDOWS 7 下ADS1.2启动出现Unhandled Exception的解决办法。]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/6070690</link><guid>https://blog.youkuaiyun.com/loongee/article/details/6070690</guid><author>loongee</author><pubDate>Sun, 12 Dec 2010 12:37:00 +0800</pubDate><description><![CDATA[<br />找到ADS的快捷方式，右键->属性。在属性框的“高级”页面中勾选”禁用桌面元素“。再用此快捷方式启动程序，就不会再出现该错误。]]></description><category></category></item><item><title><![CDATA[WINCE下程序移植问题集]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/5929818</link><guid>https://blog.youkuaiyun.com/loongee/article/details/5929818</guid><author>loongee</author><pubDate>Sat, 09 Oct 2010 15:54:00 +0800</pubDate><description><![CDATA[1. 不支持WM_NCPAINT消息。2. 不支持WM_MOUSELEAVE消息及TRACKMOUSE结构体及函数。3. 对SBM_SETSCROLLINFO消息中的LPARAM中的指针访问将会导致函数异常执行。因此自绘的SCROLLBAR必须注意。]]></description><category></category></item><item><title><![CDATA[LoadImage加载到系统OEM图片的BUG解决方案]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/5584042</link><guid>https://blog.youkuaiyun.com/loongee/article/details/5584042</guid><author>loongee</author><pubDate>Wed, 12 May 2010 20:34:00 +0800</pubDate><description><![CDATA[简单说解决方法就是LoadImage第一个参数不要传递NULL，而使用GetModuleHandle(NULL)代替。 以下是邮件原文：http://www.tech-archive.net/Archive/Development/microsoft.public.win32.programmer.gdi/2007-01/msg00145.htmlHi,There is a bug]]></description><category></category></item><item><title><![CDATA[带有可变参数的宏]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/4245685</link><guid>https://blog.youkuaiyun.com/loongee/article/details/4245685</guid><author>loongee</author><pubDate>Fri, 05 Jun 2009 17:04:00 +0800</pubDate><description><![CDATA[在1999年版本的ISO C 标准中，宏可以象函数一样，定义时可以带有可变参数。宏的语法和函数的语法类似。下面有个例子：#define debug(format, ...) fprintf (stderr, format, __VA_ARGS__)这里，‘…’指可变参数。这类宏在被调用时，它（这里指‘…’）被表示成零个或多个符号，包括里面的逗号，一直到到右括弧结束为止。当被调用时，在宏]]></description><category></category></item><item><title><![CDATA[MFC程序带参数运行]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/4144192</link><guid>https://blog.youkuaiyun.com/loongee/article/details/4144192</guid><author>loongee</author><pubDate>Sat, 02 May 2009 23:28:00 +0800</pubDate><description><![CDATA[ 下面的例子可以用来判断程序运行的时候是否使用了-c,-s或者-p选项，具体程序中大家可以按照例子做简单改动即可。第一步：从CCommandLineInfo重载一个类CWzdCommandLineInfo，实现方式如下#if !defined WZDCOMMANDLINEINFO_H#define WZDCOMMANDLINEINFO_H// WzdCommandLineInf]]></description><category></category></item><item><title><![CDATA[怎样读取资源文件中的文件]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/4143975</link><guid>https://blog.youkuaiyun.com/loongee/article/details/4143975</guid><author>loongee</author><pubDate>Sat, 02 May 2009 21:31:00 +0800</pubDate><description><![CDATA[// 将鼠标文件释放到临时文件中以便读取    HRSRC hResource = FindResource(GetModuleHandle(NULL),         MAKEINTRESOURCE(IDR_ANI_AIM), _T("ANI_CURSOR"));    if(hResource)       {           HGLOBAL hg = LoadRes]]></description><category></category></item><item><title><![CDATA[ASCII到UNICODE转换]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/4088475</link><guid>https://blog.youkuaiyun.com/loongee/article/details/4088475</guid><author>loongee</author><pubDate>Fri, 17 Apr 2009 22:24:00 +0800</pubDate><description><![CDATA[// 复制字符串到临时空间并加上/0，以便MultiByteToWideChar使用        char* pRecvStr = new char[size + 1];        memcpy(pRecvStr, pRecvDat, size);        pRecvStr[size] = /0;        int index = 0;        /]]></description><category></category></item><item><title><![CDATA[从注册表获取所有的串口]]></title><link>https://blog.youkuaiyun.com/loongee/article/details/4038339</link><guid>https://blog.youkuaiyun.com/loongee/article/details/4038339</guid><author>loongee</author><pubDate>Tue, 31 Mar 2009 12:58:00 +0800</pubDate><description><![CDATA[  if(::RegOpenKeyEx(   HKEY_LOCAL_MACHINE,          _T("Hardware//DeviceMap//SerialComm"),          NULL,          KEY_READ,          &hKey )   ==   ERROR_SUCCESS )   //打开串口注册表对应的键值     { ]]></description><category></category></item></channel></rss>