VC功能实现
2012-10-22 16:46
190 查看
如何移动窗体
在鼠标左击事件中添加代码:void CDialogin::OnLButtonDown(UINT nFlags, CPoint point) { //该函数实现在客户区能够拖动窗体 // TODO: Add your message handler code here and/or call default CDialog::OnLButtonDown(nFlags, point); PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x,point.y)); }
如何自定义Button外观
方法1.使用CBitmapButton方法2.重写button绘制函数
方法3. (1)将Button属性Bitmap设置为true
(2)添加以下代码
class CDialogin : public CDialog { ...... private: HBITMAP m_BitmapCancel; HBITMAP m_BitmapOK; HBITMAP m_BitmapClose; public: CButton m_OK; };
BOOL CDialogin::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here /************************************************************************************************ 名称: MAKEINTRESOURCE 说明: 这个宏是把一个数字类型转换成指针类型的宏,它不存在释放的问题. 用这个宏的主要原因是有的资源是用序号定义的,而不是字符串.所以要把数字转换成字符串指针, 然后再传递给LoadResource之类的函数,这样才加载了资源. 要释放资源(用LoadResource加载的)可以调用FreeResource函数把LoadResource返回的指针传递给 FreeResource. *************************************************************************************************/ m_BitmapOK = ::LoadBitmap(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP_QR)); m_OK.SetBitmap(m_BitmapOK); return TRUE; }
如何在对话框中添加菜单
1.添加资源菜单(IDR_MENU1)2.在对话框属性Menu中,选择对应的菜单(IDR_MENU1)。
当然也可以代码添加菜单,如下:
(1)在CDlgMenuToolbarDlg类声名中添加成员变量CMenu m_menu
(2)在CDlgMenuToolbarDlg::OnInitDialog() 中添加如下代码
//加载菜单 m_menu.LoadMenu(IDR_MENU1); //设置当前菜单 SetMenu(&m_menu); //当你不需要菜单时可以用 SetMenu(NULL);来取消当前菜单
(3)添加事件可以在菜单分项上右键单击选择“添加事件处理程序”
如何在对话框工程中使用ToolBar
完全代码示例:1.添加icon资源,定义变量
CToolBar m_ToolBar; CImageList m_ImageList;//图片列表 CString strShow; //提示文本显示
2.在OnInitDialog中添加如下代码,可以参考MSDN:如何:向 ToolBar 控件添加按钮http://msdn.microsoft.com/zh-cn/library/k74ce77h(v=vs.90).aspx
//工具栏显示内容的设置 m_ImageList.Create(32,32,ILC_COLOR|ILC_MASK,1,1); //创建图像列表 m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONDWDA)); //单位档案 m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONWDLB)); //文档类别 m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONAdd)); //添加文档 m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONMod)); //修改文档 m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONDel)); //删除文档 m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONScan)); //浏览文档 m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONFileAttri));//查看属性 m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONUser)); //用户管理 m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONMIMA)); //口令修改 m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONLog)); //日志管理 m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONSJKBF)); //备份 m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONSJKHF)); //恢复 m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONExit)); //退出系统 UINT array[16]; for(int i=0;i<16;i++) { if(i==2||i==8||i==12) { array[i]=ID_SEPARATOR;//第三个和第九个按钮为分隔条 } else array[i]=i+1101; } m_ToolBar.Create(this); m_ToolBar.SetButtons(array,16); m_ToolBar.SetButtonText(0,"单位档案"); m_ToolBar.SetButtonText(1,"文档类别"); m_ToolBar.SetButtonText(3,"添加文档"); m_ToolBar.SetButtonText(4,"修改文档"); m_ToolBar.SetButtonText(5,"删除文档"); m_ToolBar.SetButtonText(6,"浏览文档"); m_ToolBar.SetButtonText(7,"查看属性"); m_ToolBar.SetButtonText(9,"用户管理"); m_ToolBar.SetButtonText(10,"口令修改"); m_ToolBar.SetButtonText(11,"日志管理"); m_ToolBar.SetButtonText(13,"备份数据"); m_ToolBar.SetButtonText(14,"恢复数据"); m_ToolBar.SetButtonText(15,"退出系统"); m_ToolBar.GetToolBarCtrl().SetImageList(&m_ImageList); m_ToolBar.SetSizes(CSize(60,60),CSize(32,32));//设置按钮和按钮位图大小 m_ToolBar.EnableToolTips(true); RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);//显示工具栏
3.
如何使用CImageList
详见,“如何在对话框工程中使用ToolBar”如何添加状态栏
代码如下:定义
private: CStatusBarCtrl m_StatusBar;
在对话框OnInitDialog()中,状态栏分两部分(有两列)
//状态栏显示内容的设置 m_StatusBar.EnableAutomation(); m_StatusBar.Create(WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,0); int width[] = {200, 400}; m_StatusBar.SetParts(4, &width[0]); m_StatusBar.SetText("就绪", 0, 0); CTime t; t=CTime::GetCurrentTime(); CString strdate; strdate.Format("当前日期:%s",t.Format("%y-%m-%d"));//显示当前时间 m_StatusBar.SetText(strdate, 0, 1);
如何获得系统时间
参考“如何添加状态栏”如何使用tree控件
如何向ActiveX控件添加接口事件
在“类视图”下,找到钥匙的图标,添加即可。如何使CEdit控件滚动到最下边
void CAgentDemoDlg::LogUpdate() { UpdateData(FALSE); m_ctlLog.LineScroll(m_ctlLog.GetLineCount()); }
使用
void CAgentDemoDlg::OnBnClickedButtonSignout() { // TODO: 在此添加控件通知处理程序代码 CString strRet(""); CString strResult = m_Agent.SignOut(); strRet.Format("SignOut: %s \r\n", strResult); m_strLog += strRet; LogUpdate(); }
相关文章推荐
- [VC/MFC]使用CTabCtrl控件实现属性页功能
- VC实现自动论坛回复功能
- 不用配置文件实现VC++程序记忆功能
- vc 实现打印功能
- VC实现简单的PE文件感染(增加的是downloader功能)
- VC之EditBox多重UnDo/ReDo功能实现
- c++(vc)实现类似qq窗口悬挂功能
- VC2010 MFC中实现printf调试功能,即MFC程序利用控制台输出调试信息
- 用VC++实现上网拨号功能
- VC实现具有回车移动焦点功能的编辑框
- 在vc2010内使用CBrush实现画刷功能
- VC2010 MFC中实现printf调试功能,即MFC程序利用控制台输出调试信息
- 用VC编写实现ping 功能的动态连接库
- 关于复制粘贴剪切板功能VC中的实现!
- VC实现类似VB中的LinkLabel功能
- 用VC实现屏幕拾色功能
- vc++ 实现dir一个目录中所有文件功能
- VC++实现上网拨号功能
- VC中实现FTP功能
- VC++界面编程之--实现一个画板并提供文字输入功能(MsPaint)