我已經寫了下面的應用程序使用Visual C++中的MFC,其中包括兩個資源(一個菜單和一個對話框)(使用資源編輯器創建)...程序工作得很好,除了它只顯示一個資源,即。它只顯示菜單,但不顯示對話框... 做什麼? 這是代碼...在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」的方式中提出你的問題,你可能會得到更好的答案。 – 2009-09-07 06:07:37