11 qq867346668

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 23w+

关于使用GDI+使用位图的说明

GDI+提供了Image类,加载多种类型的图片。但对于32位带Alpha通道的位图,Image会忽略Alpha值。下面介绍如何使用Image实现透明位图。HBITMAP hbmp = (HBITMAP)::LoadImage(GetModuleHandle(NULL), bmpn

2011-07-27 15:27:16

c++标准库对正则表达式的支持

类似如此的字符串  firstad;http://#/nsecondad;http://#/n   std::wstring data("firstad;http://www.baidu.com/nsecondad;http://www.google.com/n");  std::tr1::wregex rx(L"([^;]*);([^//n]*)//n");  std::tr1:

2011-06-28 11:09:00

window下使用位图作为opengl纹理

  HBITMAP hbmp = (HBITMAP)LoadImage(GetModuleHandle(NULL), Filename, IMAGE_BITMAP, 0, 0,       LR_CREATEDIBSECTION | LR_LOADFROMFILE);  if (!hbmp)     return 0;    GLunit texture;  GetObject(h

2011-06-12 15:03:00

toolbar自绘按钮如何实现tooltip

<br />MFC下,首先创建一个继承自CToolbar的toolbar类,例如:CPlayerToolBar.<br /> <br />重载create, 启用tooltip, EnableToolTips(TRUE)。<br /> <br />重载OnToolHitTest.<br /> <br /><br />INT_PTR CPlayerToolBar::OnToolHitTest(CPoint point,TOOLINFO* pTI ) const<br />{<br />  if(!pTI){<

2011-04-12 10:27:00

WM_NCCALCSIZE的使用

<br />WM_NCCALCSIZE的解释就不再赘述,主要说下网上对这个消息的处理方法。<br /> <br />第一种:<br /> <br />LRESULT CMainFrame::OnNcCalcSizeNewUI(   WPARAM wParam, LPARAM lParam)<br />{<br />    NCCALCSIZE_PARAMS* pNcsp = (NCCALCSIZE_PARAMS*)lParam;<br /> <br />    RECT aRect;  // 改变前窗口大小

2011-03-25 16:38:00

一点关于位图的心得

windows位图分为DDB和DIB,即设备相关位图和设备无关位图。可以使用CreateBitmap() 和 CreatDIBSection()分别创建。经过测试得知,使用CreateBitmap创建的位图无法返回颜色信息(应该是存在但windows不会返回给你),和它类似的还有Loadbitmap()和不带LR_CREATEDIBSECTION参数的LoadImage(), 例如:HBITMAP hbitmp = LoadBitmap(0, "test.bmp"); // test.bmp为32位alph

2011-03-17 15:19:00

对鼠标的捕获

对于鼠标的捕获,可以使用SetCapture和GetCapture。但这个函数存在一定的局限性。If the mouse cursor is over a window created by another thread, the system will direct mouse input to the specified window only if a mouse button is down.我的理解是, 如果鼠标光标在另一个线程创建的窗口上,那么只有当鼠标按键被按下时,系统彩绘将鼠标的输入信息发送

2011-03-14 15:40:00

随记~关于zlib库的使用

<br /><br />这星期在做一个换肤的模块,类似芊芊静听,原文件是一个zip文件,所以要将文件解压缩到文件夹中。<br />       解压的方法大致有3种:<br />       1. 通过shellexcute执行rar.exe等外部程序。<br />       2. 使用第三方类库。<br />       3. 直接手写。<br />       因为我们不能假设每个用户机器都必备类似rar.exe这种外部程序(虽然该软件已成装机必备),个人认为第一种方法很不靠谱。而本人能力有限,第三种

2011-03-11 15:45:00

随记~小结

<br /><br />现在换肤已经告一段落, 总结下中间碰到的问题和解决方法。<br /> <br />1. 关于动态添加菜单<br /> <br />动态添加菜单的方法有很多, 我使用MENUITEMINFO结构实现。代码如下:<br /> <br />CMenu* menuappend = new CMenu;<br />menuappend->CreateMenu();<br />menuappend->AppendMenu(MF_ENABLED | MF_STRING, ID_SKIN_FIRST

2011-03-11 15:32:00
勋章 我的勋章
    暂无奖章