在VS建立一MFC專案,生成一視窗,系統也會自動生成與該視窗關聯的CPP與頭檔案

但如果單獨在資源視圖,新建一新視窗。

那怎樣建立與這視窗相關聯的CPP與頭檔案呢?
MFC上要怎么控制這個單獨建立的視窗呢?MFC超小白求指導。
uj5u.com熱心網友回復:
添加MFC類, 基類選 CDialog (或 CDialogEx), 填寫類名,ID等uj5u.com熱心網友回復:
在專案選單中的類向導添加相應的函式、類、變數等,當然選中控制元件,然后右鍵也是一樣的。uj5u.com熱心網友回復:
對話框資源編輯器上雙擊就會彈出要求輸入對話框類名的視窗,用來將對話框的類與視窗資源相互關聯起來。uj5u.com熱心網友回復:
直接雙擊對話框,也會彈出來讓你系結類uj5u.com熱心網友回復:
添加-類-mfc類 cdialoguj5u.com熱心網友回復:
我通過在主表單,用按鈕呼叫我新建的視窗出來,
void CMy2013MFCTwoDlg::OnBnClickedButton1()
{
// TODO: 在此添加控制元件通知處理程式代碼
//DialogBox(NULL, MAKEINTRESOURCE(IDD_DIALOG1), NULL, DirectoryDlgProc);
CDialogEx *conditionBtnDlg;
conditionBtnDlg = new CDialogEx;
conditionBtnDlg->Create(IDD_DIALOG1, this);
conditionBtnDlg->ShowWindow(SW_SHOW);
}
但為什么把視窗呼叫出來的時候,我與新建的視窗關聯起來的類里的建構式等方法,為什么沒有斷下來呢?
#include "stdafx.h"
#include "2013MFCTwo.h"
#include "Dialog1Manager.h"
#include "afxdialogex.h"
// CDialog1Manager 對話框
IMPLEMENT_DYNAMIC(CDialog1Manager, CDialog)
CDialog1Manager::CDialog1Manager(CWnd* pParent /*=NULL*/)
: CDialog(CDialog1Manager::IDD, pParent)
{
MessageBox(L"testtest", L"fuck", MB_OK);
}
CDialog1Manager::~CDialog1Manager()
{
}
void CDialog1Manager::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CDialog1Manager, CDialog)
END_MESSAGE_MAP()
請問是什么原因
uj5u.com熱心網友回復:
CDialog1Manager *conditionBtnDlg;conditionBtnDlg = new CDialog1Manager;
uj5u.com熱心網友回復:
雙擊自動生成類 之后手動添加初始化函式uj5u.com熱心網友回復:
CDialogEx *conditionBtnDlg;
conditionBtnDlg = new CDialogEx;
conditionBtnDlg->Create(IDD_DIALOG1, this);
conditionBtnDlg->ShowWindow(SW_SHOW);
你這里的表達寫錯了。
應該寫成:
1 . 非模態視窗
CDialog1Manager *conditionBtnDlg;
conditionBtnDlg = new CDialogEx;
conditionBtnDlg->Create(IDD_DIALOG1, this);
conditionBtnDlg->ShowWindow(SW_SHOW)
同時注意創建的IDD_DIALOG1與資源里面的保持一致。
2 . 模態視窗
CDialog1Manager dlg(this);
dlg.DoModal();
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/81923.html
標籤:基礎類
