随笔分类 -  VC/MFC/C++

摘要:程序主界面上有个浏览器控件,里面是google地图,需要点击一个按钮后隐藏浏览器控件,显示其他界面,而且要做到还可以切换到原来的地图上。一开始只是在浏览器上覆盖了一个图片控件,没有隐藏浏览器,后来发现这样不行,鼠标移动到原来浏览器控件的位置上时,会变成“小抓手”(google地图上移动地图的抓手)。后来切换到其他界面时用ShowWindow将浏览器隐藏,但是出问题了,切换回来时浏览器就消失不见了。查了下资料,原来MFC中的WebBrowser控件有BUG:m_webBrowser.ShowWindow(SW_HIDE);之后控件就被自动销毁了,再也显示不出来了。原因:在MFC中,WebBrow 阅读全文
posted @ 2012-08-10 14:47 java简单例子 阅读(444) 评论(0) 推荐(0) 编辑
摘要:MFC应用程序中处理消息的顺序1.AfxWndProc()该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc。2.AfxCallWndProc()该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数。3.WindowProc()该函数负责发送消息到OnWndMsg()函数,如果未被处理,则调用DefWindowProc()函数。4.OnWndMsg()该函数的功能首先按字节对消息进行排序,对于WM_COMMAND消息,调用OnCommand()消息响应函数,对于WM_NOTIFY消息调用OnNoti 阅读全文
posted @ 2012-08-09 12:44 java简单例子 阅读(208) 评论(0) 推荐(0) 编辑
摘要:①创建一个图像列表: CImageList m_ImageList;//定义图像列表 m_ImageList.Create(16,16,ILC_COLOR24|ILC_MASK,0,1);//建立图像列表,初始有0个图像 ②向图像列表中加入图标(以下各图标文件都已导入成为工程的资源文件): m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON8));//向图像列表添加图标IDI_ICON8,作为0号图像 m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON9));//向图像列表添加图标IDI_ICON9 阅读全文
posted @ 2012-08-08 11:01 java简单例子 阅读(812) 评论(0) 推荐(0) 编辑
摘要:很多人都觉得自己的程序的界面不那么美观,往往VC默认产生的对话框比较单调,因此很多人往往找到很多其它的控件对对话框进行美化修饰,例如给静态控件设置字体,设置背景颜色等等,其实这些完全可以由VC自己的WM_CTLCOLOR消息来完成!WM_CTLCOLOR消息,使你可以告诉Windows在画各种控件的背景时用什么刷子。在Windows要画控件的时候,它发送WM_CTLCOLOR给控件的父窗口。这是你改变控件背景的好机会。WM_CTLCOLOR消息用来完成对EDIT、STATIC、BUTTON等控件设置背景和字体颜色,其用法如下:1.首先在自己需要设置界面的对话框上点击右键-->在右侧属性栏 阅读全文
posted @ 2012-08-07 12:14 java简单例子 阅读(539) 评论(0) 推荐(0) 编辑
摘要:VC++ Tab Control控件的详细使用(图)网上介绍使用Tab Control控件,好像说的都不是很详细, 我一小菜这边随便说说, 见笑.1. 新建一个MFC工程, 取名MyTab, 选择Dialog based, 然后Finish.2. 删除对话框上默认添加的三个控件. 添加Tab Control控件并在Property属性中设置ID为IDC_TABTEST 在More Styles里勾上Bottom. 调速尺寸使其布满整个对话框, 我这边Tab Control的尺寸最后为164X203. 在ClassWizard为其添加变量, 变量名为m_tab. 类型为CTabCtrl.3. 在 阅读全文
posted @ 2012-08-02 17:51 java简单例子 阅读(1612) 评论(0) 推荐(0) 编辑
摘要:名:PremiumSoft Navicat for MySQL Enterprise Edition v8.0.27组织:PremiumSoft Navicat for MySQL Enterprise Edition v8.0.27注册码: 阅读全文
posted @ 2012-08-01 11:41 java简单例子 阅读(407) 评论(0) 推荐(0) 编辑
摘要:CFileDialog类封装了Windows常用的文件对话框。常用的文件对话框提供了一种简单的与Windows标准相一致的文件打开和文件存盘对话框功能。成员变量: m_ofn: m_ofn是OPENFILENAME类型的结构。使用此结构,在创建之后、用DoModal成员函数显示之前初始化文件打开和存盘对话框的外表。①m_ofn的lpstrTitle成员是文件对话框的标题: dlg . m_ofn . lpstrTitle = _T("打开文件"); //打开文件对话框的标题名(dlg是一个CFileDialog类的对象)②m_ofn的Flag成员是文件对话框的一些属性标记, 阅读全文
posted @ 2012-07-26 13:56 java简单例子 阅读(3405) 评论(0) 推荐(0) 编辑
摘要:第一,OnOK()和OnCancel()是CDialog基类的成员函数,而OnClose()和OnDestroy()是CWnd基类的成员函数,即WM消息响应函数。 从应用程序结构的角度,拿对话框来说,红色的X对应的是CWnd,而处于对话框中的“确定”、“取消”按钮则对应了CDialog。 第二,OnClose()和OnDestroy() 在单视图程序中,根据<<深入浅出MFC>>所讲,程序退出时执行的操作顺序为(从点X按钮开始) (1)用户点击X退出按钮,发送了WM_CLOSE消息----->响应OnClose() (2)在WM_CLOSE消息的处理函数中,调用D 阅读全文
posted @ 2012-07-25 11:01 java简单例子 阅读(1205) 评论(0) 推荐(0) 编辑
摘要:CListCtrl::SetExtendedStyleCListCtrl的成员函数声明 DWORD SetExtendedStyle( DWORD dwNewStyle ); 函数功能设置CListCtrl的扩展样式 dwNewStyle指定的扩展样式 LVS_EX_GRIDLINES //绘制表格,网格线。 LVS_EX_SUBITEMIMAGES//子项目图标列表 LVS_EX_CHECKBOXES //带复选框 LVS_EX_TRACKSELECT //自动换行 LVS_EX_HEADERDRAGDROP//报表头可以拖拽 LVS_EX_FULLROWSELECT /... 阅读全文
posted @ 2012-07-23 17:16 java简单例子 阅读(4227) 评论(0) 推荐(0) 编辑
摘要:目的:使列表框(CListCtrl)的每个项(item)前面有个复选,用来标明是否选中,提交数据是只选择选中的方法:为列表框(CListCtrl)多加一个LVS_EX_CHECKBOXES风格m_list.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT|LVS_EX_CHECKBOXES);添加的项(即“行”)的第一列总会在项目名前出现一个复选框(添加项后才能看到复选框)m_list.InsertColumn(0,"选取",LVCFMT_LEFT,50); //添加列标题m_list.InsertColumn(1 阅读全文
posted @ 2012-07-23 17:08 java简单例子 阅读(2327) 评论(0) 推荐(0) 编辑
摘要:①添加菜单资源IDR_POPMENU,在资源编辑器中编辑菜单第一列,并且为每个菜单项添加处理函数。②在视图类中重载WM_CONTEXTMENU消息(此消息在鼠标右键压下并抬起后触发)的处理函数OnContextMenu()中添加如下代码: CRect rect; //定义矩形区域 GetDlgItem(指定控件的ID) -> GetWindowRect(&rect); //获得控件相对于屏幕的位置坐标 if(rect.PtInRect(point)) //右击点在指定控件上 { CMenu popMenu;//弹出菜单 popMenu.LoadMenu(IDR_POPMENU); 阅读全文
posted @ 2012-07-12 14:08 java简单例子 阅读(298) 评论(0) 推荐(0) 编辑
摘要:今天遇到VC中点击Combo Box下拉列表的下三角不显示数据的问题(列表项已正确添加),遂上网查找原因。原来很简单,在使用Combo Box控件时,有一个显示列表区域大小的设置,默认的显示区域太小,故无法显示数据。解决方法:在资源视图的对话框对话框设计中,将鼠标在Combo Box上单击后,出现下拉的图标,向下拉下一个显示列表的区域即可。 阅读全文
posted @ 2012-07-09 15:56 java简单例子 阅读(634) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示