1. mfc对话框添加工具栏

打开resource里的toolbar,点击空白按钮,向右边拖一下(不拖也行),编辑按钮图案,在他的属性设置中将ID改成想与按钮关联的菜单项的ID就可以了。运行时单击按钮和选择菜单项效果一样,不用添加特别的代码。

2. 基于对话框的mfc添加工具栏

MFC单文档程序,在资源编辑器中只有一个已有的toolbar资源,你只需要在资源编辑器里面,通过“空位”建立一个按钮图标(通过绘制或者复制)并加工好,然后选中这个工具条按钮,右键属性,给予它一个ID就可以使用了。

ID最好是先建立菜单项的方式给予,这样方便建立提示说明等文字。工具条按钮,不需要SetButton方法,这个是对话框按钮控件的方式,而不是工具条按钮。

3. mfc在对话框加编辑框

1、首先,是一个word表格,里面的文字在表格内显示不全。

2、选中需要调整的表格内容,然后选择工具栏中的“段落”工具。

3、接下来在弹出的“段落”对话框中找到“行距”和“设置值”选项。

4、在“行距”选项中选择“固定值”,然后在“设置值”中设置好行距的值,点击确定即可。

5、再次回到word的表格看,此时文字没有改变大小,表格的行高也没有变化,但是文字已经完整的显示在表格内了。

6、当然,对于excel电子表格遇到同样的情况时也可以同法解决问题。

4. mfc对话框嵌入对话框

vpWin->setParent(PublicMember::CTS_RunningWindow);把当前窗口的指针传进去,这个设置父窗口指针错了。

5. mfc对话框添加控件

你可以首先在插入一个对话框,然后就加上按钮控件,然后给它添加单击消息处理函数,因为是插入的对话框,可以复制对话框类的按钮处理消息,在对话框头文件的声明,和cpp的实现文件对应部分复制到自己单文档的头文件和实现文件,要改的就是id号,就可以了

6. mfc对话框添加工具栏自己设计图标

View类,重载按钮消息函数ON_UPDATE_COMMAND_UI,设置Enable即可,如:

void CTestmfcView::OnUpdateAppAbout(CCmdUI* pCmdUI) { // TODO: Add your command update UI handler code here pCmdUI->Enable(FALSE);}

7. mfc对话框添加状态栏

1、点击设置,下拉找到通知与状态栏,即可对状态栏显示内容进行设置。

2、若要设置具体应用通知,点击通知与状态栏,对通知管理进行设置。

3、状态栏是包含文本输出窗格或指示器的控制条。输出窗格通常用作消息行和状态指示器。消息行示例包括命令帮助消息行,它简要解释了MFC应用程序向导所创建的默认状态栏的最左边窗格中选定的菜单或工具栏命令。

4、主要功能是显示当前所打开窗口或软件的状态。

8. mfc对话框工具箱

你用的是VC6.0还是VS05或者08?

6.0的话在非工程区灰色位置右键勾选Controls就行 然后直接拖控件到对话框

05或者08在视图里勾选工具箱 在右侧点击工具箱 接着拖放控件进去

9. mfc调用对话框

窗口初始化状态设置

以下只示例了窗口最大化,其他窗口状态只替换相应参数即可,

窗口最大化/最小化/显示/隐藏等三种方法都可以实现,

第三种方法修改结构体内的参数可以指定窗口最大化最小化还原后显示的位置

MFC窗口最大化

方法1:

1.创建窗口,窗口类型中需要WS_MAXIMIZE

pC_Dlg = new CC_Dlg(); //给指针分配内存

pC_Dlg->Create(IDD_DIALOGC); //创建一个非模态对话框

2.在创建完窗口后调用ShowWindow,参数设置为:SW_SHOWMAXIMIZED

pC_Dlg->ShowWindow(SW_SHOWMAXIMIZED);//最大化显示

pC_Dlg->UpdateWindow();

方法2:

1.创建窗口,窗口类型中需要WS_MAXIMIZE

pC_Dlg = new CC_Dlg(); //给指针分配内存

pC_Dlg->Create(IDD_DIALOGC); //创建一个非模态对话框

2.在OnInitDialog()中调用 ShowWindow(SW_SHOWMAXIMIZED);

BOOL CC_Dlg::OnInitDialog()

{

CDialogEx::OnInitDialog();

// TODO: 在此添加额外的初始化

ShowWindow(SW_SHOWMAXIMIZED);

UpdateWindow();

return TRUE; // return TRUE unless you set the focus to a control

// 异常: OCX 属性页应返回 FALSE

}

方法3:

1.创建窗口,窗口类型中需要WS_MAXIMIZE

pC_Dlg = new CC_Dlg(); //给指针分配内存

pC_Dlg->Create(IDD_DIALOGC); //创建一个非模态对话框

2.在OnInitDialog()中调用 SetWindowPlacement实现最大化;

BOOL CC_Dlg::OnInitDialog()

{

CDialogEx::OnInitDialog();

// TODO: 在此添加额外的初始化

WINDOWPLACEMENT wndpl;

GetWindowPlacement(&wndpl);

wndpl.showCmd = SW_SHOWMAXIMIZED;

SetWindowPlacement(&wndpl);

UpdateWindow();

return TRUE; // return TRUE unless you set the focus to a control

// 异常: OCX 属性页应返回 FALSE

}

10. mfc按钮打开对话框

附件为 vc6 写的mfc程序新建 mfc对话框程序 插入 一个新的对话框资源 保存打开类向导 给新的对话框添加类 给主对话框添加成员变量 新对话框类的 指针给主对话框 的头文件(主对话框类的 类定义 前)添加 新对话框类的 前向声明给主对话框 的源文件 添加 新对话框的头文件引用给主对话框添加 两个按钮一个用来 弹出新对话框 一个用来退出整个程序 双击他们给他们添加响应函数主对话框 构造函数 初始化 那个指针为NULL第一个按钮响应函数中 判断 指针是否为空 ;为空 则 new 建立 新对话框对象 另一个按钮 判断指针是否为空 不为空的 delete 销毁 新对话框 然后把指针 置为空然后PostMessage(WM_QUIT,0,0); 发消息 退出程序 给 主对话框添加 WM_CLOSE消息处理函数屏蔽掉默认的 //CDialog::OnClose(); 语句 阻止程序退出发送消息最小化消息 SendMessage(WM_SYSCOMMAND,SC_MINIMIZE,0);以改变 关闭按钮的实际动作 解决 新对话框 跟着 主对话框 一起最小化 请参考 此贴 对话框create的第二个参数GetDesktopWindow()https://bbs.csdn.net/topics/10163674 不想再任务栏(开始菜单的 右边)中 显示 新对话框 的 (开始菜单的 右边)给新对话框添加 WM_ONINITDIALOG消息的处理函数添加 一行代码 利用setwindowlong这个apiSetWindowLong(m_hWnd,GWL_EXSTYLE,WS_EX_TOOLWINDOW);https://bbs.csdn.net/topics/30062406