上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 14 下一页

2011年4月8日

摘要: 这篇文章介绍了如何 将WTL加入到MFC中, 但是却非完全加入。因为WTL的atlctrls.h文件并没有加入到MFC,atrlctrls.h文件包含了WTL/ATL的大部分最有价值的控件,所以本文参考加以一般, 但标题却没有明确指出(所以很吸引我读完了本文),在”stdafx.h”中增加#define _WTL_NO_AUTOMATIC_NAMESPACE避免WTL头文件建立全局的WTL命名空间。避免WTL的CRect, CDC与MFC的冲突。2.#include <atlbase.h>#include <atlapp.h>extern WTL::CAppModule 阅读全文
posted @ 2011-04-08 08:25 oleeceo 阅读(1466) 评论(0) 推荐(0)

2011年4月7日

摘要: 设置滚动条状态信息当一个窗口的滚动条被操作时,发往该窗口。ParameterswParamHIWORD 在SB_THUMBPOSITION or SB_THUMBTRACK时,记录位置LOWORD记录是因为什么发送的消息lParamscrollbar 的 hwnd 阅读全文
posted @ 2011-04-07 14:35 oleeceo 阅读(231) 评论(0) 推荐(0)
摘要: treeview: 获取 rect, 在给定rect中绘itemscrollbar: 默认(0, 0)开始画, 从上画到下. core1. 滚动条 上, 背景, 下是固定长度, 图来决定.2. 滚动条位置 由SCROLLINFO的当前信息决定.3. WM_VSCROLL 设置控件的 SCROLLINFOaction4. WM_LBUTTONDWON, WM_LBUTTONUP (1)根据(x, y)区域判断点的是哪 (2)记录当前状态 (3)发送SCROLLINFO修改状态,重绘 阅读全文
posted @ 2011-04-07 13:17 oleeceo 阅读(187) 评论(0) 推荐(0)
摘要: 设置 子窗口滚动条 背景颜色一个scroll bar control 送到父窗口 当控件打算绘制父窗口会设置scroll bar 的背景颜色Parameters( WPARAM ) ( ( HDC ) dc ) <-scrollbar_hdc( LPARAM ) m_hWnd <- scrollbar_hwndRemarks1. 返回值必须是一个画刷(用来重绘背景的画刷) ,可以是系统的, 可以是创建的。 对于创建的,要记得释放。2.WM_CTLCOLORSCROLLBAR不跨线程。 只在本线程发送。3. 返回的画刷需要强制转换为(INT_PTR)4.WM_CTLCOLORSCRO 阅读全文
posted @ 2011-04-07 11:18 oleeceo 阅读(1301) 评论(0) 推荐(0)
摘要: 设置ITEM尺寸发送给 owner window的,包括: combo box, list box, list-view, menu item, 在create时。Parameterswparam: 目标CtrIDlparam :typedef struct MEASUREITEMSTRUCT { UINT CtlType; UINT CtlID; UINT itemID; UINT itemWidth; UINT itemHeight; ULONG_PTR itemData;} MEASUREITEMSTRUCT;Remarks拥有者来填写 MEASUREITEMSTRUCT结构,通过WM_ 阅读全文
posted @ 2011-04-07 09:39 oleeceo 阅读(1144) 评论(0) 推荐(0)

2011年4月6日

摘要: 创建一个标准控件(CScrollBar)and 并且自己处理一些消息。CScrollBar不支持owner_draw和custom_draw, 所以我们只能从WM_PAINT消息进行完全重绘。明显我们需要处理WM_LBUTTONDOWN, WM_LBUTTONUP, WM_MOUSEMOVE来更新滚动条位置。为了模仿标准scrollbar控件,我们支持所有WM_VSCROLL请求。用其他消息模仿,而非WM_VSCROLL消息。你可能注意到 标准滚动条 对于多次重复的 点击事件 只处理一次。别忘记 捕获 鼠标在 滚动条外的 鼠标消息。再多说一个重点,对于SBM_SETSCROLLINFO的处理。 阅读全文
posted @ 2011-04-06 23:30 oleeceo 阅读(580) 评论(0) 推荐(0)

2011年4月3日

摘要: TreeView控件需要使用XML数据过程1 : TinyXML.LoadFile -> 顺序解析+同时插入有一些需求: 现在需要改变插入的顺序? 这时候要改变解析的算法, 这很费力.过程2 : TinyXML.LoadFile -> 顺序解析+同时构造链式结构ListX -> 使用链式结构插入同上的需求: 这个时候改变 ListX就可以了。 ListX还可以存成文件。所以看起来构造一遍 是必须的了。 阅读全文
posted @ 2011-04-03 09:14 oleeceo 阅读(162) 评论(0) 推荐(0)

2011年3月31日

摘要: 转自:李开复微博对不是用户体验行业的朋友解释一下这张图:右侧是使用eye tracking所做的heat map,显示了看到这张图的人的视线关注哪里。色晕区域是关注区域,越红表示关注越多(久)。两个广告图中模特的眼睛看向不同的地方,直接影响到观看者的视线位置用户体验要分析到这种程度才可以哦! 阅读全文
posted @ 2011-03-31 21:50 oleeceo 阅读(172) 评论(0) 推荐(0)
摘要: TVIS_BOLD 粗体TVIS_CUTTVIS_DROPHILITED TVIS_EXPANDED 展开TVIS_SELECTED 选中TVIS_OVERLAYMASK 标记是否使用覆盖图片TVIS_STATEIMAGEMASK 标记是否使用图片 阅读全文
posted @ 2011-03-31 09:35 oleeceo 阅读(316) 评论(0) 推荐(0)

2011年3月30日

摘要: CTreeCtrl vs. CTreeView区别CTreeCtrl 用在 多个控件关系平等的 平面关系布局。eg: 一个平面上有1个CTreeCtrl, 1个CButtonCTreeView用在 把CTreeView当作一个View窗口时,他会占据整个窗口,并包含菜单, 工具栏等控件,并接收他们的COMMAND消息。因为CTreeView可以保存数据, 所以你不一定要使得document类起作用,你可以继续使用CDocument作为文档类 。TVITEM structure : structHTREEITEM handle : point to tree itemGetCheckGetChi 阅读全文
posted @ 2011-03-30 23:45 oleeceo 阅读(670) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 14 下一页

导航