everything c++...
摘要:boost 的强大已经不用置疑, 仅仅的 signal 功能已经可以让无数的C++程序员们带来极大的便利. 现在, 不用再羡慕C#或java的委托和事件了, 这得归功于 boost的signal. signal的用法, 直接上代码, 代码源自于boost提供的例子://Document/ViewsampleforBoost.Signals//CopyrightKeithMacDonald2005.Use,modificationand//distributionissubjecttotheBoostSoftwareLicense,Version//1.0.(Seeaccompanyingfil
阅读全文
摘要:在MFC程序中嵌入Flash及添加事件通讯方式比较简单, 直接右键添加ActiveX就可以添加Flash控件, 增加Flash的事件处理也是比较简单,可以通过事件VS的事件向导来完成.但是如果把Falsh嵌入到纯Win32 程序当中并且实现与窗口之间的事件通讯, 这可是一件麻烦事了, 在网上搜索了一大堆相关内容, 却没有找到一个完整的例子. 好不容易才找到一个比较靠谱的, 把它放到Win32代码中, 总算是实现了事件通讯. 代码比较凌乱, 但只要修改一下Flash的路径, 就应该是可以看到效果.//VC6Flash2.cpp:Definestheentrypointfortheapplicat
阅读全文
摘要:class CEventDispatcher{public: bool AddEventListener(int nEventID, CEventListener*pListener); bool RemoveEventListener(int nEventID, CEventListener* pListener); bool DispatchEvent(int nEventID, int nEventType, string& strXmlData) { for (iterListener; iterListener != m_listListeners.end(); iterLi
阅读全文
摘要:只需要在Edit控件的父窗口处理WM_CTLCOLOREDIT消息, 如: case WM_CTLCOLOREDIT: { SetBkMode((HDC)wParam, TRANSPARENT); RECT rc; GetClientRect((HWND)lParam, &rc); BITMAP bi; HBITMAP hBmpBg = LoadBitmap(hInst, MA...
阅读全文
摘要:// CCanvas 的实现桥接, 主要是为了能适应GDI, GAPI两种图像绘制接口.class CCanvasImpl{public: virtual void SetCanvasSize(int cx, int cy) = 0; virtual void BltBitmap(int dstX, int dstY, int dstCX, int dstCY, CBitmap *pBitmap,...
阅读全文
摘要:try{ if (error == DoSomething()) { throw std::runtime_error("DoSomethin failed "); }}catch (std::runtime_error& e){ logger->note("%s line %i : %s", e.what());}
阅读全文
摘要:今天对C++ EventHandler 进行了改善...// 下面是EventHandler.h 文件.#pragma once#include <list>using namespace std;class EventHandlerBase{public: EventHandlerBase(int uMsgID) : m_uMsgID(uMsgID){} virtual void H...
阅读全文
摘要:在开发程序的过程中, 有时为了可以实现动态改变程序界面,需要动态地加载这些资源文件. 这时, 可以通过使用Visual Studio的cl, link, rc工具生成一个纯资源的文件来实现资源文件的打包. 这样,要想使用这些资源文件里的资源就可以直接调用LoadLibrary() 和 LoadResource()来加载. //首先使用资源编译器(rc.exe) 生成.res文件.rc resour...
阅读全文
摘要://///// About Error Handler#define ErrorHandler() ErrorHandlerEx(__LINE__, TEXT(__FILE__))void ErrorHandlerEx( WORD wLine, LPTSTR lpszFile ){ TCHAR szBuffer[256]; TCHAR szBuffer2[256]; wsprintf(szBuff...
阅读全文