DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

2012年12月3日

摘要: 窗口样式参考列表WS_POPUP - 弹出式窗口(不能与WS_CHILDWINDOW样式同时使用)WS_CHILDWINDOW - 子窗口(不能与WS_POPUP合用)WS_MINIMIZE - 最小化状态WS_VISIBLE - 可见状态WS_DISABLED - 不可用状态WS_CLIPSIBLINGS - 使窗口排除子窗口之间的相对区域WS_CLIPCHILDREN - 当在父窗口内绘图时,排除子窗口区域WS_MAXIMIZE - 具有最大化按钮,须指定WS_SYSTEM样式WS_CAPTION - 有标题框和边框(和WS_TILED样式相同)WS_BORDER - 有单边框WS_DLG 阅读全文
posted @ 2012-12-03 23:56 DoubleLi 阅读(1580) 评论(1) 推荐(0)

摘要: 菜单项属性说明:ID 标识菜单的唯一常量。Caption 菜单项标题,“&" 后面的字符为快捷键,在菜单项后的字符将加下划线。Separator 水平线,其它属性无效。Pop_up 有子菜单Grayed 无效,标题以灰色显示Inactive 无效,标题正常显示Checked 在标题前加一个对钩break 为None时,使它和它的兄弟们一行或一列显示。Help 只对最上层菜单项有效,使它及后面的最上层菜单移到窗口的右上角。Prompt 当鼠标指向它时的提示信息多文档应用程序除了生成IDR_MAINFRAME外,还生成标识符为IDR_xxxxTYPE,其中xxxx为应用程序名。它 阅读全文
posted @ 2012-12-03 23:51 DoubleLi 阅读(2051) 评论(0) 推荐(0)

摘要: CMenu类从CObject类派生而来。为什么要使用CMenu类呢?AppWzard不是把菜单做好了吗?在资源编辑器上修改菜单不是很方便吗?我是个vc++初学者,自从当斑竹以来,天天看贴子,也学到了不少东西。感觉学vc++稍微深入一点好,至少要能搞清楚AppWizard在背后都干了些什么东西。 事实上mfc就是用CMenu类来生成菜单的。让我们就从CMenu开始吧。CMenu生成的菜单有两种:Popup类型和非Popup类型。这两种方法里又可以分成使用资源编辑器生成的菜单资源和不使用这个资源。对于非Popup类型的菜单,必须在创建出来后把它张贴到某个窗口上,它才会显示出来,从而才有用处。Po 阅读全文
posted @ 2012-12-03 20:37 DoubleLi 阅读(5722) 评论(0) 推荐(0)

摘要: 1.AfxWndProc()该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc 2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数 3.WindowProc()该函数负责发送消息到OnWndMsg()函数,如果未被处理,则调用DefWindowProc()函数 4.OnWndMsg()该函数的功能首先按字节对消息进行排序,对于WM_COMMAND消息,调用OnCommand()消息响应函数,对于WM_NOTIFY消息调用OnNotify()消息响应函数。任何被 阅读全文
posted @ 2012-12-03 20:24 DoubleLi 阅读(605) 评论(0) 推荐(0)

摘要: CreateMenu和CreatePopupMenu都是用来创建菜单,都可以用AppendMenu 或InsertMenu 向其中添加菜单。两者的不同点在于使用TrackPopupMenu 上:例:CMenu menu;menu.CreateMenu();menu.AppendMenu(MF_STRING, 23423, _T("sdfwef"));menu.AppendMenu(MF_STRING, 23423, _T("sdfwef2"));menu.TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, po 阅读全文
posted @ 2012-12-03 19:50 DoubleLi 阅读(1368) 评论(0) 推荐(0)