摘要: 写GDI的时候,我们经常会由于粗心大意,忘记释放GDI资源,导致GDI句柄泄露。再加上如果单元测试做的不好,就会在产品发布以后发生问题。众所周知,Windows上对于一个进程允许的最大GDI句柄数量为9999,如果程序有大量的GDI句柄没有被及时回收,那么程序就会表现的不正常。如果这种问题发生在以前的WINDOWS 98年代,甚至会造成系统崩溃。所以,这里我将陆续记录一些GDI编程需要注意的地方,作为今后单元测试中的一部分来进行:1、Create()必须Delete(),包括CreateCompatibleDC2、SelectObject()必须是成对出现3、"H"打头的一 阅读全文
posted @ 2012-07-06 23:44 归海一刀 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 超类化根据已有的(windows系统中已经注册过的)窗口类,比如“Edit”,”Button”等,复制其WNDCLASS(EX)结构,构造一个新类,并提供额外的功能和行为。例如,如果需要编写一个只接受数字输入的Edit控件(当用户输入非数字符号时控件发出警告声),可超类化windows内置的Edit控件,新控件的窗口类名为”Number_Only_Edit”,(可以在Spy++工具中看到此窗口类名称):class CNumberOnlyEdit : public CWindowImpl<CNumberOnlyEdit>{public: //Superclassing the &qu 阅读全文
posted @ 2012-07-06 16:09 归海一刀 阅读(635) 评论(0) 推荐(0) 编辑