摘要:转自:李开复微博对不是用户体验行业的朋友解释一下这张图:右侧是使用eye tracking所做的heat map,显示了看到这张图的人的视线关注哪里。色晕区域是关注区域,越红表示关注越多(久)。两个广告图中模特的眼睛看向不同的地方,直接影响到观看者的视线位置用户体验要分析到这种程度才可以哦!
阅读全文
摘要:TVIS_BOLD 粗体TVIS_CUTTVIS_DROPHILITED TVIS_EXPANDED 展开TVIS_SELECTED 选中TVIS_OVERLAYMASK 标记是否使用覆盖图片TVIS_STATEIMAGEMASK 标记是否使用图片
阅读全文
摘要:CTreeCtrl vs. CTreeView区别CTreeCtrl 用在 多个控件关系平等的 平面关系布局。eg: 一个平面上有1个CTreeCtrl, 1个CButtonCTreeView用在 把CTreeView当作一个View窗口时,他会占据整个窗口,并包含菜单, 工具栏等控件,并接收他们的COMMAND消息。因为CTreeView可以保存数据, 所以你不一定要使得document类起作用,你可以继续使用CDocument作为文档类 。TVITEM structure : structHTREEITEM handle : point to tree itemGetCheckGetChi
阅读全文
摘要:流程Main//.hclass CTestApp : public CWinApp{public: CTestApp(); public: virtual BOOL InitInstance(); DECLARE_MESSAGE_MAP()};// .cppBEGIN_MESSAGE_MAP(CTestApp, CWinApp) END_MESSAGE_MAP() CTestApp theApp; CTestApp::CTestApp() { } BOOL CTestApp::InitInstance() { InitCommonControls(); CWinApp::InitInstanc
阅读全文
摘要:流程普通函数 流程1. 添加 "头文件"2. 继承 "类“3. 使用相应代码control 流程1. 引入"atlddx.h"2. 继承CWinDataExchange<self_class>3. 声明BEGIN_DDX_BEGIN(self_class)4. 自定义control_class类, 继承对应control_class5. 声明自定义类对象control_object6. 使用DDX_CONTROL(CONTROL_ID, control_object)7. Initial中 启动DoDataExachange(DDX
阅读全文
摘要:Introduction to Part V之前看了一些 WTL Dialog和Control相关内容。这章看一些更高级的UI特征: Owner draw 和 custom draw, 新WTL control, UI updating, dialog data validation.Specialized Owner Draw and Custom Draw Classes专用的Owner Draw 和 Custom Draw 类。UI中这两个很常用, 接下来会逐一讲解。COwnerDrawOwnerDraw处理4个信息:<atlframe.h>WM_MEASUREITEM, W
阅读全文
摘要:[2011.3.25] wstring, string[2011.3.25] 头文件引入顺序, DoDataExchange(DDX_LOAD)要在m_control使用之前调用顺序.
阅读全文
摘要:普通消息 MSGBEGIN_MSG_MAP( class )MESSAGE_HANDLERCOMMAND_HANDLERREFLECTED_COMMAND_HANDLER_EXNOTIFY_HANDLERREFLECTED_NOTIFY_HANDLER_EXMSG_WM_XXXXXEND_MSG_MAP()控件消息BEGIN_DDX_MAP( class )DDX_CONTROL( ID, object)DDX_TEXT( ID, m_edit(or checkbox) )END_DDX_MAP()UI消息BEGIN_UPDATE_UI_MAP(CMainFrame)UPDATE_ELEMEN
阅读全文
摘要:[11.03.23] Rich Edit 2.0 Control http://hi.baidu.com/sppeivan/blog/item/794e60f357e4571ab17ec56a.htmlHMODULE hMod;HRESULT hRes = ::OleInitialize(NULL);hMod = LoadLibrary(_T("riched20.dll"));FreeLibrary(hMod);::OleUninitialize();[11.03.23] 错误: 资源重复 解决:MAINFEST资源改个ID号[11.03.23] 错误:资源重复 解决:嵌入
阅读全文
摘要:条目数, 性能优化 ListView_SetItemCount ListView_SetItemCountEx LVM_SETITEMCOUNT LVM_GETITEMCOUNT ListView_GetItemCount提前分配够数量, 避免1条1条分配空间,使得速度提升。item结构: icon, label, subitemicon label | subitem | subitem添加, 修改, 删除, 检索LVM_INSERTITEM ListView_InsertItemLVM_SETITEMTEXTListView_SetItemText LVM_DELETEITEMListVi
阅读全文
摘要:观察成品结构:1. 窗口 父子关系(eg: list view 和 list view head是并列的窗口)2. 进程 线程 结构 ( eg: 哪些功能需要单独进程, 哪些需要单独线程 )3. 窗口 是公共控件(我也可以直接用的, eg: word的大型软件 button 用的也是通用的owndraw, 但主窗口中控件就都是自定义的窗口类了), 还是自绘控件4. 一个功能的 消息 顺序(eg: word闪烁的小光标, 是个定时器绘制的东西)调试自己代码:查看发送的消息顺序,以按顺序处理功能。
阅读全文
摘要:Using List-View Controls创建首先,使用List-View必须 读取DLL用InitCommonControls.然后CreateWindowEx用WC_LISTVIEW.create代码 //Init RECT rcl; INITCOMMONCONTROLSEX icex; // Ensure that the common control DLL is loaded. icex.dwSize = sizeof(INITCOMMONCONTROLSEX); icex.dwICC = ICC_LISTVIEW_CLASSES; InitCommonControlsEx(&
阅读全文
摘要:list-view是一个窗口 显示 一个结合的项目。list-view提供许多方法来 安排 和 显示项目 并且 很自由 比起List Boxes.举例: 附加信息可以 被 显示在 icon和 label的右列。List-View Styles and Viewslist-view可以用5种方法显示数据。Icon View 设置window_style为LVS_ICON 或者 传送LV_VIEW_ICON通过LVM_SETVIEW消息。每个item是全大小展示。能够自由拖拽。Small icon view ...LVS_SMALLICON ....LVM_SETVIEW。 每个item以1个小i
阅读全文
摘要:Using List-View Controls创建首先,使用List-View必须 读取DLL用InitCommonControls.然后CreateWindowEx用WC_LISTVIEW.create代码 //Init RECT rcl; INITCOMMONCONTROLSEX icex; // Ensure that the common control DLL is loaded. icex.dwSize = sizeof(INITCOMMONCONTROLSEX); icex.dwICC = ICC_LISTVIEW_CLASSES; InitCommonControlsEx(&
阅读全文
摘要:List-View Window StylesLVS_ALIGNLEFT item左对齐, 小icon视图LVS_ALIGNMASK the control's current alignmentLVS_ALIGNTOP Icon和上排对齐, 小icon视图LVS_AUTOARRANGE 自动对齐, 小icon 视图LVS_EDITLABELS item可以被编辑。 父窗口必须处理LVN_ENDLABELEDIT消息LVS_ICON 指定icon视图LVS_LIST 指定列表视图LVS_REPORT 定义report view. 使用该属性后总是左对齐。LVCFMT_RIGHT无效,
阅读全文
摘要:Creating List-View Controls1.#include <Commctrl.h>2. #pragma comment(lib,"ComCtl32.lib")3. m_list = CreateWindow(WC_LISTVIEW, ) HWND CreateListView (HWND hwndParent) { RECT rcl; INITCOMMONCONTROLSEX icex; // Ensure that the common control DLL is loaded. icex.dwSize = sizeof(INITCOMMO
阅读全文
摘要:http://msdn.microsoft.com/en-us/library/ms686903(v=VS.85).aspx?appId=Dev10IDEF1&l=EN-US&k=k(INITIALIZECRITICALSECTION);k(DevLang-
阅读全文
摘要:1. 二叉树构建, 先找根LRM, MLR后序先序都能先找根。在加一个中序左右分2. 位对齐, 2,4单位,变量不可分struct{ int a; bool b; short f; short cr:5; short cg:6; short cb:5; float s;}A;原则1: 一个变量 不能在2,4点截断。原则2: 2,4可以分开用3. 联合体union{ unsigned char a[4]; unsigned int b;}A;A.b = 0x01020408;求A.a[0]<<5+A.a[1]<<3+A.a[2]<<1+A.a[0]的值字符串0
阅读全文
摘要:WindowsWS_BORDER 细边框WS_DLGFRAME 有边框,没标题栏WS_SIZEBOX 缩放边框WS_THICKFRAME 同缩放边框WS_CAPTION 标题栏WS_HSCROLL 滚动条WS_VSCROLL 滚动条WS_MAXIMIZE 最小化WS_MINIMIZEBOX 只有最小化WS_MAXIMIZEBOX 最大化WS_SYSMENU 系统栏WS_DISABLED 窗口创建完, 以无效开启WS_MINIMIZE 创建完最小化显示WS_VISIBLE 以可见显示WS_POPUP 弹出窗口 无边框 不能是WS_CHILDWS_POPUPWINDOW 弹出窗口 有边框 WS_C
阅读全文
摘要:记两种方便的:1. ATL_Subclassing类对象 绑定 到 ALL CONTROL 时, 可以捕获消息。#1 写类, 开启class CButtonImpl : public CWindowImpl<CButtonImpl, CButton>{ BEGIN_MSG_MAP_EX(CButtonImpl) MSG_WM_SETCURSOR(OnSetCursor) END_MSG_MAP() LRESULT OnSetCursor(HWND hwndCtrl, UINT uHitTest, UINT uMouseMsg) { static HCURSOR hcur = Loa
阅读全文
摘要:.subclass m_hwnd = hwnd + SetWindowsClass(WND_PROC) 可使用 句柄相关函数 + 过滤窗口函数.attach m_hwnd = hwnd 以后可以用 所有 句柄相关函数 了.
阅读全文
摘要:Introduction to Part IV对话框 和 控件 是一个区域 MFC确实用这个东西提高了工作效率。 如果没有MFC的控件类,你可能陷入 组织和书写SendMessagel来调用管理控件。MFC总是提供Dialog data exchange(DDX), 这种方法在 variable 和 controls 之间 传递数据。WTL支持所有这些特征, 别且 对那些常用的控件 还增强了其功能。 这篇文章,我们会看到一个基于Dialog的app,并且更多的WTL message-handing enhancements。Advanced UI features 和 new controls
阅读全文
摘要:[2011.3.6]1块,3块,5块,20块, 6个,3个,7个,4个, 凑25,12,8,35,50, 每个只能用4个来凑.要点:1. 成功判断 + 输出函数 2. 每个函数处理单层 + 传参层进 3. 有一些需要层进的参数,需要设为函数参数。 int value[4] = {1, 3, 5, 20}; int num[4] = {6, 3, 7, 4}; int des[5] = {25,12,8,35,50}; int result[5][4]= {0}; int out() { printf("结果:"); for (int i=0; i< 5; i++) {
阅读全文
摘要:Backtracking回溯是一种普通的算法,用来寻找 所有解。经典的 教科书版的列子 是 用回溯解决 八皇后问题回溯可以应用于这样的问题: 他承认这个概念“部分候选解”和一个快速的测试它是否是一个完整解。回溯不能应用在这样的问题: 把一个数字无序的放在一个表格里。但是回溯总是很快 比起 强行美剧所有可能解, 因为回溯可以形成一定数量的候选解,通过简单的测试。回溯是解决 约束问题 的重要工具, 例如: 填字游戏, 口头算数, 数独, 和一些困扰人的问题。他通常非常方便(如果不要求效率)的技术,用来解析, 背包问题, 和一些其他的组合优化问题。它是一些编程语言的 语言逻辑, 例如Icon, Pl
阅读全文
摘要:statue bar ^ How to use the WTL multipane status bar control ^ http://www.codeproject.com/KB/wtl/multipanestatusbar.aspxDialog & Control ^ WTL for MFC Programmers ^ http://www.codeproject.com/KB/wtl/wtl4mfc4.aspx
阅读全文
摘要:当学校课设 让你找几个同伴一起 做一个网站, 真的去做, 想起来之前还想做一个学校内 同学通信的网站, 想想网站架设起来后在学校上公布,有人在登录使用你的服务, 放弃手边的其他没有结果的工作,和琐碎的事情!动起手来。当你想做一个小软件, 真的去做, 要做到成品的程度, 想想发布的时候,看着自己做的成品。 放弃手边琐碎的事情!动起手来。
阅读全文