hgy413的专栏

﹎゛Never Give Up Your Dream ..ヽ..

REDM-开源的商业化DirectUI库

REDM-开源的商业化DirectUI库

2016-09-20 13:46:09

阅读数 1719

评论数 1

21.VC(ui)-DIB段

1.CreateDIBSection? HBITMAP CreateDIBSection(   HDC hdc,                   // 参考设备上下文句柄   CONST BITMAPINFO *pbmi,  //指向包含位图信息头,位屏蔽和颜色表的BITMAPINFO结构 ...

2012-01-29 16:15:31

阅读数 1235

评论数 0

20.VC(ui)-图片处理的一些函数

自己经常写的,写多了就慢慢总结下来,方便: //---------------------------------------------------  // 函数介绍:把资源写入lpImage,支持BMP,PNG,JPG.  // 输入参数:  // 输出参数:  // 返回值:  //--...

2011-12-30 20:17:08

阅读数 894

评论数 0

19.VC(ui)-加载图片资源的方法(随手代码)

BOOL CImageManager::LoadResImage(UINT nResID, LPCTSTR lpType, Bitmap *&lpImage, HINSTANCE hInstance) { lpImage = NU...

2011-12-14 17:18:59

阅读数 1005

评论数 0

18.VC(ui)-SelectClipRgn

SelectClipRgn(NULL)或SelectClipRgn(NULL, RGN_COPY)表示当前选中全部区域,cwindowdc就是window区域,cclientdc就是client区域 每次绘制前都可以用SelectClipRgn来选中一块区域,再绘制,再选中一块区域,再绘制,不第二...

2011-11-10 10:38:57

阅读数 5305

评论数 0

0.VC(ui)-WM_NCCALCSIZE计算客户区

当wParam为FALSE时,只有rgrc[0]可用,为新窗口的窗口区域(B),此时需返回新窗口的 客户区大小(BC)。 当wParam为TRUE时,rgrc[0]、rgrc[1]、rgrc[2]都有效.rgrc[0]和前面的一样,rgrc[1]为原先窗口的区域(A),

2011-10-11 20:13:24

阅读数 1011

评论数 0

17.VC(ui)-托盘图标和弹出菜单的实现(随手代码)

直接上代码: void CIconDemoDlg::InitTrayIcon(void) { //-------------------------------------------------- // NOTIFYICONDATA: // cbSize:

2011-09-28 13:51:15

阅读数 1634

评论数 0

0.VC(ui)-WM_NCHITTEST message总结

最近hook滚动条,用到了很多这方面小知道,总结下: HTBORDER: In the border of a window that does not have a sizing border. 边界上!that does not have a sizing border

2011-09-24 14:02:31

阅读数 854

评论数 0

0.VC(ui)-hook 换肤ERROR 汇总

以下为hook dll在项目应用中,由大家帮助发现的BUG: 1.hook Dialog,又发现一个小BUG,就是在SetWindowText设置caption时,不刷新过来,本以为是WM_SETTEXT消息刷新下,发现不行,老招,打印所有消息,发现存在个WM_GETICON消息,处理下,调用NC...

2011-09-23 18:49:51

阅读数 1523

评论数 0

SetStretchBltMode() 防止图片失真

  当用StretchBlt缩小时,我们经常发现它会失真: 其原因为当StrecthBlt() 的DestRect比SorRECT小時 必須要將一些点去掉 他的预设做法 是將要去掉的点与旁边的点做AND运算,所以导致像素错误, 解决方法:(原图) COLORONCOLOR:直接將不要的点删...

2011-09-17 18:05:47

阅读数 12632

评论数 2

16.VC(ui)-CEdit自绘点

就几个点: 背景色,字体颜色,字体大小, 注意的是字体大小最好用WM_SETFONT来处理,我也是在挂钩时打印消息发现了它,直接看MSDN就知道怎么发送了。 代码: HBRUSH CSkinEdit::CtlColor(CDC* pDC, UINT nCtlColor)

2011-09-10 13:31:51

阅读数 1527

评论数 1

15.VC(ui)-listctrl绘制(解决水平滚动文字重影bug)

犯了一个小错,水平滚动时出现文字重影,所以改了下: 错误在于,在遍历列时,我用 CRect rcColumn; GetHeaderCtrl()->GetItemRect(i, &rcColumn); 这是错误的,因为一旦水平滚动时,这样得到的rcColumn就会不确定

2011-09-08 20:27:30

阅读数 978

评论数 0

0.VC(ui)-hook-树形控件滚动条刷新bug

滚动条从有到无,怎么都不消失,仔细跟了下,发现list会SetScrollRanger后自动调用ShowScrollBar来隐藏,所以hook SetScrollRanger,加入代码 : wchar_t szClass[MAX_PATH] = {0}; GetClassName(hWnd...

2011-09-06 19:33:56

阅读数 847

评论数 0

0.VC(ui)-hook-解决ComLbox不刷新的BUG

用spy++仔细看了,在下拉框打开时,不响应WM_NCPAINT消息,所以打印出所有消息,确定在70,71消息时强制刷新次 代码如下: case WM_WINDOWPOSCHANGED: OnNcPaint(psb, (HRGN)1); break; case WM_WINDOWPO...

2011-09-06 19:29:24

阅读数 626

评论数 0

14.VC(ui)-禁用拖动时显示窗口

在电脑-属性-高级-性能设置-拖拉时显示窗口内容,如果选中这个框,那么其他窗口在自绘的窗口拖动就很闪,没法了,禁用它,程序关闭后再还原它    判断是否这个属性勾上了: BOOL CMTSFrmApp::IsDragFullWindows() { BOOL bR

2011-09-01 15:13:15

阅读数 1329

评论数 0

0.VC(ui)-hook-BM_SETSTATE

精确地讲,当按钮接收到BM_SETSTATE消息并且wParam设置到TRUE时,BM_SETSTATE是按钮专有的消息,用于请求按钮绘制‘按下’或‘释放’模式,每次点击(或发送BM_SETSTATE消息),Windows都自动地通知父窗口这个事件。对于按钮就是BN_CLICKED消息 不小心h...

2011-08-31 14:38:46

阅读数 2592

评论数 0

13.VC(ui)-Scroll位置计算

thumb可滚动的长度track_len:等于整个滚动条长度减去两个滚动条上的按钮: track_len = scrollbar_len - scroll_buttion_len * 2 thumb的长度: thumb_len / track_len = si.page /

2011-08-26 20:17:16

阅读数 841

评论数 0

0.VC(ui)-hook-Combox滚动条

How do I subclass the listbox portion of a combobox? The listbox portion of a combobox is of type COMBOLBOX (notice the "L "). Because the...

2011-08-23 10:55:47

阅读数 1886

评论数 0

0.VC(ui)-hook-DrawItem挂掉

今天hook按钮挂掉了,出错就是下面的信息,原因为动态创建了一个button:void CButton::DrawItem(LPDRAWITEMSTRUCT) { ASSERT(FALSE); }解决方法:一定要让父窗口处理WM_DRAWITEM,在这个消息中对所有当前所有带自绘属性的BTN处理,...

2011-08-15 21:38:13

阅读数 1120

评论数 0

12.VC(ui)-AlphaBlend参数BLENDFUNCTION

AlphaBlend是Window自带的GDI函数,在作GUI的时候为了达到更漂亮的效果我们常常用它.   BLENDFUNCTION是AlphaBlend用控制透明效果的重要参数.   定义如下:   typedef struct _BLENDFUNCTION {

2011-08-13 16:29:39

阅读数 3162

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭