- 博客(9)
- 收藏
- 关注
原创 关于使用GDI+使用位图的说明
GDI+提供了Image类,加载多种类型的图片。但对于32位带Alpha通道的位图,Image会忽略Alpha值。下面介绍如何使用Image实现透明位图。HBITMAP hbmp = (HBITMAP)::LoadImage(GetModuleHandle(NULL), bmpn
2011-07-27 15:27:16
4222
3
原创 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
1482
原创 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
619
原创 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
1302
原创 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
7156
原创 一点关于位图的心得
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
2048
原创 对鼠标的捕获
对于鼠标的捕获,可以使用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
952
原创 随记~关于zlib库的使用
<br /><br />这星期在做一个换肤的模块,类似芊芊静听,原文件是一个zip文件,所以要将文件解压缩到文件夹中。<br /> 解压的方法大致有3种:<br /> 1. 通过shellexcute执行rar.exe等外部程序。<br /> 2. 使用第三方类库。<br /> 3. 直接手写。<br /> 因为我们不能假设每个用户机器都必备类似rar.exe这种外部程序(虽然该软件已成装机必备),个人认为第一种方法很不靠谱。而本人能力有限,第三种
2011-03-11 15:45:00
9353
2
原创 随记~小结
<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
1253
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人