“对话框打开时命令无法执行。单击“确定”,然后关闭对话框以继续。”

vista + office2007,报如题错误,解决方案如下:

C:/Users/yourname/AppData/Roaming/Microsoft/Templates目录下有文件Normal.dotm,删除之

 

可打开文档后又会创建模板文件,再次双击打开时又会提示如题错误。应该可以在设置的某个位置禁用他吧?探索中。。。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
如果你想在 MFC 对话框中使用自定义的 CButton 控件,可以通过重写 CButton 类来实现。 以下是示例代码: 1. 创建一个新的 MFC 对话框应用程序。 2. 打开对话框资源,将一个普通按钮控件拖动到对话框中。 3. 右键单击该按钮控件,选择“属性”。 4. 在属性窗口中,将“ID”设为 IDC_MYBUTTON,然后将“样式”设为“自动大小”。 5. 单击确定”以关闭属性窗口。 6. 在 Visual Studio 中,打开 ClassView 窗口,找到对话框类。 7. 右键单击对话框类,选择“添加类”。 8. 在“添加类”对话框中,选择“MFC 类”,然后选择“CButton”作为基类。 9. 为新的 CButton 类指定名称(例如 MyButton)和文件名(例如 MyButton.cpp 和 MyButton.h)。 10. 在 MyButton.h 中,将类声明更改为以下内容: ```cpp #pragma once #include "afxbutton.h" class MyButton : public CMFCButton { public: MyButton(); virtual ~MyButton(); virtual BOOL PreTranslateMessage(MSG* pMsg); afx_msg void OnLButtonUp(UINT nFlags, CPoint point); DECLARE_MESSAGE_MAP() }; ``` 11. 在 MyButton.cpp 中,将类实现更改为以下内容: ```cpp #include "stdafx.h" #include "MyButton.h" #ifdef _DEBUG #define new DEBUG_NEW #endif MyButton::MyButton() { } MyButton::~MyButton() { } BOOL MyButton::PreTranslateMessage(MSG* pMsg) { // TODO: 在此添加专用代码和/或调用基类 return CMFCButton::PreTranslateMessage(pMsg); } void MyButton::OnLButtonUp(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CMFCButton::OnLButtonUp(nFlags, point); } BEGIN_MESSAGE_MAP(MyButton, CMFCButton) ON_WM_LBUTTONUP() END_MESSAGE_MAP() ``` 12. 在对话框类的头文件中添加一个 MyButton 类成员变量: ```cpp #include "MyButton.h" class CMFCApplication1Dlg : public CDialogEx { // ... private: MyButton m_MyButton; // ... }; ``` 13. 在 OnInitDialog() 函数中,使用以下代码创建 MyButton 控件: ```cpp BOOL CMFCApplication1Dlg::OnInitDialog() { CDialogEx::OnInitDialog(); // 将“关于”菜单项添加到系统菜单中。 // IDM_ABOUTBOX 必须在系统命令范围内。 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // 设置此对话框的图标。当应用程序主窗口不是对话框,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码 m_MyButton.Create(_T("My Button"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | BS_AUTOSIZE, CRect(10, 10, 100, 30), this, IDC_MYBUTTON); return TRUE; // 除非将焦点设置到控件,否则返回 TRUE } ``` 现在你已经成功地重写了 CButton 类并创建了一个自定义按钮控件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值