代码如下:
class CMyApp : public CWinApp
{
public:
virtual BOOL initInstance();
};class CMainWindow : public CFrameWnd
{
public:
CMainWindow();
protected:
afx_msg void OnPaint();
DECLARE_MESSAGE_MAP()
};
#include <afxwin.h>
#include "111.h"CMyApp myApp;BOOL CMyApp::initInstance()
{
m_pMainWnd = new CMainWindow;
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}BEGIN_MESSAGE_MAP(CMainWindow, CFrameWnd)
ON_WM_PAINT()
END_MESSAGE_MAP()CMainWindow::CMainWindow()
{
Create(NULL, _T("The Hello Application"));
}void CMainWindow::OnPaint()
{
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
dc.DrawText(_T("Hello MFC"), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
}本程序为Windows程序设计第二版的一个例子,我照书上源码写的。
编译与执行均无错,但不显示窗口。
望高手解答。
class CMyApp : public CWinApp
{
public:
virtual BOOL initInstance();
};class CMainWindow : public CFrameWnd
{
public:
CMainWindow();
protected:
afx_msg void OnPaint();
DECLARE_MESSAGE_MAP()
};
#include <afxwin.h>
#include "111.h"CMyApp myApp;BOOL CMyApp::initInstance()
{
m_pMainWnd = new CMainWindow;
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}BEGIN_MESSAGE_MAP(CMainWindow, CFrameWnd)
ON_WM_PAINT()
END_MESSAGE_MAP()CMainWindow::CMainWindow()
{
Create(NULL, _T("The Hello Application"));
}void CMainWindow::OnPaint()
{
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
dc.DrawText(_T("Hello MFC"), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
}本程序为Windows程序设计第二版的一个例子,我照书上源码写的。
编译与执行均无错,但不显示窗口。
望高手解答。
解决方案 »
- 程序员都是上辈子折断双翼加双腿的天使
- 关于HOOK CreateProcess的问题!
- 如何用SDK实现状态栏,就是一般窗口底部的那行
- 寻找比CStringList好用的List类
- 结构体和类能不能有这样的操作。
- 请教:我的VC++代码中关于文件读写的问题
- 为什么学不会VC++?
- 切分窗口后,如何在最大化和恢复窗口时,保证切分窗口大小相对不变(适应各种分辨率的显示器)!
- 小小小问题。关于根据文件类型列出相应执行程序的。
- 请教一个控件的问题.关于TREE的.
- 在vs2005中,用FindWindow函数查找任务栏返回为空,是什么原因?
- 今晚很痛苦搞不出来,直接求两个现成的代码,注册表键值的写&读。。。
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;你这里没创建窗口怎么显示啊m_pMainWnd = new CMainWindow;
((CMainFrame*)m_pMainWnd)->Create(NULL,"Test");
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;这样试试
{
Create(NULL, _T("The Hello Application"));
}
创建了啊
virtual BOOL InitInstance
怎么会没错呢?
你把m_pMainWnd->ShowWindow(m_nCmdShow);改成m_pMainWnd->ShowWindow(SW_SHOW);试试.
那就是initInstance的问题了, 你本来是重载CWinApp::InitInstance,
可写错一个字母语法上没问题, 不过MFC调用的是CWinApp::InitInstance,
而不是CMyApp::initInstance, 前者默认啥也不做, 所以就没显示了.
就OK了