C++MFC添加新界面详解
1、添加一个界面资源文件
2、添加一个对应界面资源的类文件
.cpp:
#include "stdafx.h"
#include "Auto_ALL_GPS.h"
#include "stdafx.h"
#include "EtcTest.h"
#include "SynDlg.h"
#include "afxdialogex.h"
#include "EtcTestDlg.h"
#include "dbf_test\math_lib.h"
#include "XmlFunc.h"
#include "CommonCom.h"
#include <iosfwd>
#include <fstream>
IMPLEMENT_DYNAMIC(CAutoALLGPS, CDialogEx)
CAutoALLGPS::CAutoALLGPS(CWnd* pParent /*=NULL*/)
: CDialogEx(CAutoALLGPS::IDD, pParent)
{
}
CAutoALLGPS::~CAutoALLGPS()
{
}
void CAutoALLGPS::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CAutoALLGPS, CDialogEx)
END_MESSAGE_MAP()
BOOL CAutoALLGPS::OnInitDialog()
{
CDialogEx::OnInitDialog();
UpdateData(FALSE);
return TRUE;
}
.h:
`#pragma once
#include "afxwin.h"
#include "resource.h"
//class Auto_ALL_GPS
//{
//public:
// Auto_ALL_GPS();
// ~Auto_ALL_GPS();
//};
//#define RSU_SBUF_SIZE 1024
// CSynDlg 对话框
class CAutoALLGPS : public CDialogEx
{
DECLARE_DYNAMIC(CAutoALLGPS)
public:
CAutoALLGPS(CWnd* pParent = NULL); // 标准构造函数
virtual ~CAutoALLGPS();
// 对话框数据
enum { IDD = IDD_OLE_PROPPAGE_LARGE };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
virtual BOOL OnInitDialog(); //ljm
DECLARE_MESSAGE_MAP()
public:
};
3、create创建窗口
函数:case 27: m_tab.InsertItem(28, _T("GPS自配置")); m_Gps.Create(IDD_OLE_PROPPAGE_LARGE, this->GetDlgItem(IDC_TAB_MTest)); m_Gps.MoveWindow(tabRect); m_pDlg[l_u32TabDlgIndex++] = &m_Gps; break;
Create是一个可从CFrameWnd继承而来的成员函数,用于窗口的创建和设置。
Create是MFC中的一个构造函数,用于生成在屏幕上可见的窗口。
示例如下:
Create(NULL,_T(“Hello MFC”));
该函数将会(在已创建窗体对象的前提下)生成一个在屏幕上可以看到的窗口,窗口的标题文本为Hello MFC。
CFrameWnd::Create的原型如下:
BOOL Create(LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle = WS_OVERLAPPEDWINDOW,
const RECT& rect = rectDefault,
CWnd* pParentWnd = NULL,
LPCTSTR lpszMenuName = NULL,
DWORD dwExStyle = 0
CCreateContext* pContext = NULL)