【发布时间】:2009-09-07 04:28:35
【问题描述】:
我使用 Visual C++ 中的 MFC 编写了以下应用程序,其中包括两个资源(一个菜单和一个对话框)(使用资源编辑器创建)...该程序工作得非常好,只是它只显示一个资源,即。它只显示菜单,但不显示对话框... 该怎么办?? 这是代码...
#include<afxwin.h>
#include"stdafx.h"
#include"resource.h"
class mydialog:public CDialog
{
private:
int id;
public:
mydialog(int n):CDialog(n)
{
id=n;
}
int OnInitDialog()
{
CDialog::OnInitDialog();
if(id==IDD_DIALOG1)
CenterWindow(GetDesktopWindow());
else
CenterWindow();
return TRUE;
}
void OnOK()
{
CDialog::OnOK() ;
MessageBox(TEXT("You have Pressed the OK Button"),TEXT("OnOK handler"));
}
};
class myframe:public CFrameWnd
{
public:
myframe()
{
Create(0,TEXT("Simple Dialog Box"),WS_OVERLAPPEDWINDOW,rectDefault,0,MAKEINTRESOURCE(IDR_MENU1));
}
void about()
{
mydialog d(IDD_DIALOG1);
d.DoModal();
}
DECLARE_MESSAGE_MAP()
};
BEGIN_MESSAGE_MAP(myframe,CFrameWnd)
ON_COMMAND(101,about)
END_MESSAGE_MAP()
class myapp:public CWinApp
{
public:
int InitInstance()
{
myframe *p;
p=new myframe;
p->ShowWindow(3);
m_pMainWnd=p;
return 1;
}
};
myapp a;
【问题讨论】:
-
您似乎正在尝试学习 MFC?我的一般建议是从 Visual C++ 中的向导开始。它将为您生成许多空项目,您可以与这些项目一起玩,看看它们是如何工作的。我不清楚这段代码试图完成什么,或者你期望发生什么。如果你用“我想做 X,但这段代码做 Y”的方式来表达你的问题,你可能会得到更好的答案。
标签: c++ visual-c++ mfc