编写多文档应用程序

一、动态菜单与工具栏

文档应用程序-编写windows应用程序">

(未登录状态)

(登陆状态)

实现原理:

1.菜单

BOOL SetMenu(
 HWND hWnd, // handle to window
 HMENU hMenu // handle to menu
);

可以改变菜单。

2.工具栏

BOOL CToolBarCtrl::SetState( int nID, UINT nState );

可以改变工具栏按钮状态。

还要调用CFrameWnd::RecalcLayout()函数计算工具栏尺寸。

二、自制对话条

//创建对话条
if(!m_wndBar.Create(this,IDD_DIALOGBAR,WS_CHILD|WS_VISIBLE|
    CBRS_BOTTOM|CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY |
    CBRS_SIZE_DYNAMIC,IDD_DIALOGBAR))
//操纵对话条上的CTabCtrl控件
CTabCtrl * ptab=(CTabCtrl *)m_wndBar.GetDlgItem(IDC_TAB_INFO);
ptab->InsertItem(0,"操作信息");
ptab->SetImageList(&((CMainFrame *)AfxGetMainWnd())->m_imageList);
……………
//隐藏和显示CListBox控件
CListBox * plistInfo = (CListBox*)m_wndBar.GetDlgItem(IDC_LIST_INFO);
plistInfo->SetWindowPos(NULL,
    0,
    0,
    GetSystemMetrics(SM_CXSCREEN)-11,
    75,
    SWP_NOMOVE|SWP_NOZORDER | SWP_NOACTIVATE|SWP_SHOWWINDOW);

时间: 2024-10-10 07:37:33

编写多文档应用程序的相关文章

编写自文档化的代码

文所以载道也.  -- 宋·周敦颐<通书·文辞> 对于我们程序员来说,我们的工作也是写作--几乎每天都要写代码:而且还要载"道",不仅仅要满足客户的需求,还要让代码具有高度的可读性,这样其他的程序员可以更容易地对代码进行修改和扩展. 按这样的要求,我们需要为代码编写足够的文档,也就是将代码"文档化".常见的做法有两种,外部文档和注释. 外部文档 外部文档指的是在代码文件之外编写的附加文档,比如在Word文档中采用大量的篇幅(如UML图.表格)来设计或记录

C++MFC编程笔记day05 文档类-单文档和多文档应用程序

 文档类    1 相关类    CDocument类-父类是CCmdTarget类,所以,文档类也可以处理菜单等               命令消息.作用保存和管理数据.    注意事项:如何解决断言错误    2 在视图中显示文档中的数据     2.1 CView::OnInitialUpdate         作用初始化视图,在附加文档之后,显示之前,由框架调用.     2.2 CView::GetDocument         获取与视图相关的文档     2.3 CFrame

艾伟_转载:编写自文档化的代码

文所以载道也.  -- 宋·周敦颐<通书·文辞> 对于我们程序员来说,我们的工作也是写作--几乎每天都要写代码:而且还要载"道",不仅仅要满足客户的需求,还要让代码具有高度的可读性,这样其他的程序员可以更容易地对代码进行修改和扩展. 按这样的要求,我们需要为代码编写足够的文档,也就是将代码"文档化".常见的做法有两种,外部文档和注释. 外部文档 外部文档指的是在代码文件之外编写的附加文档,比如在Word文档中采用大量的篇幅(如UML图.表格)来设计或记录

MFC单文档应用程序显示图像

1 利用VS2010向导创建一个MFC单文档应用程序MFCTest 2 在MFCTestView.h中引用<atlimage.h>,并创建一个CImage对象 #include <atlimage.h> private: CImage image; 3 打开资源文件,选中Menu下面的IDR_MAINFRAME,添加一个新的菜单项"打开图像",修改其ID为IDM_OPEN,再点击鼠标右键,添加事件处理程序,在弹出的对话框的列表中选择CMFCTestView 4

多文档应用程序-mfc 多文档添加模板新建文档视图,新建空文档失败是什么原因啊?

问题描述 mfc 多文档添加模板新建文档视图,新建空文档失败是什么原因啊? MFC中在多文档应用程序中,新建一个空文档失败,跟踪后确定是在pDocTemplate->OpenDocumentFile(NULL);函数中createnewframe()函数创建新的frame再调用CMDIChildWnd::Create()函数,在其中 HWND hWnd = (HWND)::SendMessage(pParentWnd->m_hWndMDIClient WM_MDICREATE 0 (LPARA

自定义按钮按键-MFC 多文档 视图程序 打印预览 添加自定义button按钮按键

问题描述 MFC 多文档 视图程序 打印预览 添加自定义button按钮按键 想在多文档视图程序的打印预览中添加自定义的按钮,比如导出到文件按钮. 百度google,好像改afxprint.rc文件可以实现,但我修改后保存不了,提示cannot save. 不知道怎么弄了,这问题搞了一天了,不知道有没有可以告诉下的,谢谢了.

mfc-MFC多文档应用程序中嵌入cef3,启动时一次性启了三个多文档应用程序

问题描述 MFC多文档应用程序中嵌入cef3,启动时一次性启了三个多文档应用程序 新建多文档应用程序,新增了Dialog,在Dialog的OnCreate中实现 了cef的CefExecuteProcess.CefInitialize.CreateBrowser,编译无误,结果运行时一下启了多文档实例,而且网页也没有显示出来. 附代码: int CTestDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CDialogEx::OnCreate(

mfc-在一个MFC多文档应用程序中加了一个校验对话框

问题描述 在一个MFC多文档应用程序中加了一个校验对话框 在一个MFC多文档应用程序中加了一个校验对话框,我验证成功后,改对话框消除,需要进入原来的进程,不知道为什么进不去了?这个是调用对话框的源码:CLicenseDlg dlg; m_pMainWnd = &dlg; CLicenseDlg * log = new CLicenseDlg;if (log->DoModal()!= IDOK){ // TODO: Place code here to handle when the dial

做一个简单的VC++的mfc单文档应用程序

问题描述 做一个简单的VC++的mfc单文档应用程序 帮忙做一个基于VC++6.0的mfc单文档应用程序(绘图),有菜单栏工具栏和快捷菜单,用到分割窗口,组合框,文档序列化 解决方案 google Scribble 示例:MDI 绘图应用程序 解决方案二: 就你的需求,不要写一行程序,用向导生成,勾选切分视图和从CFormView继承,放上组合框就好了.文档序列化是默认支持的. 解决方案三: 解决方案四: 如果你要画图,可以直接下载msdn里面切分视图画图的那个例子,然后加上一个controlb