摘要: 下面是我通过使用向导生成的代码:class CDemoView : public CWindowImpl<CDemoView, CTreeViewCtrl>{public: DECLARE_WND_SUPERCLASS(NULL, CTreeViewCtrl::GetWndClassName()) BOOL PreTranslateMessage(MSG* pMsg) { pMsg; return FALSE; } BEGIN_MSG_MAP(CDemoView) END_MSG_MAP()}; 注意和普通窗口的区别:1)CWindowImpl第二个木板参数为CTreeViewCt 阅读全文
posted @ 2007-07-18 14:47 反正我信了 阅读(169) 评论(0) 推荐(0)
摘要: WTL提供了3个类用来分隔窗口:CSplitterImpl、CSplitterWindowImpl、CSplitterWindowT。CSplitterImpl类实现了最主要的分割窗口所需要的函数。CSplitterWindowImpl继承了CSplitterImpl类,它实现了一个什么都不做的OnEraseBackground函数,还实现了一个OnSize函数,该函数可以自动调整分割窗口的客户区大小。通常情况下,我们可以直接使用CSplitterWindowImpl类作为我们窗口的父类,如果这两个函数的行为达不到我们的要求,我们可以改写继承自CSplitterImpl类的消息处理函数。CSp 阅读全文
posted @ 2007-07-18 14:23 反正我信了 阅读(359) 评论(0) 推荐(0)
摘要: Windows下,每个线程都可以拥有一个消息队列,通常UI线程默认就拥有自己的消息队列,Work Thread需要自己调用PeekMessage来创建自己的消息队列。 消息是一个数据结构,下面是它的定义:typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt;#ifdef _MAC DWORD lPrivate;#endif} MSG 每个消息都包含了要接收消息的窗口的句柄,消息ID,两个参数,还有其他信息。SDK下的消息循环通常这样写:while . 阅读全文
posted @ 2007-07-18 14:16 反正我信了 阅读(263) 评论(0) 推荐(0)
摘要: 点击这里下载插件,将插件放到/usr/lib/audacious/General文件中即可。在 Fedora 7中试验通过。目前仅支持本地歌词文件,歌词文件名和歌曲名相同,后缀为lrc,文件编码格式支持UTF-8和GB2312 阅读全文
posted @ 2007-07-18 09:29 反正我信了 阅读(512) 评论(0) 推荐(0)