簡體   English   中英

這個基本的MFC對話框應用程序的切入點是什么?

[英]What is the entry point of this basic MFC Dialogue Box Application?

從使用C ++進行GUI編程開始。 所以,按照一些教程,我寫了'以下代碼來顯示一個對話框。 說實話,Visual Studio 2015向導完成了大部分工作,但這里是代碼文件。 它正確顯示標識符指向的對話框,但我真的無法弄清楚它是如何工作的。 首先,代碼的切入點是什么? 甚至沒有一個函數,那么在構建和運行它時究竟執行了什么?

#include<afxwin.h>
#include"resource.h"

class CExampleDlg :public CDialog
{
public:
    CExampleDlg():CDialog(IDD_EXAMPLE_DLG){}
    ~CExampleDlg(){}
};

class CExample:public CWinApp
{public:
    BOOL InitInstance()
    {
        CExampleDlg myDlg;
        m_pMainWnd = &myDlg;
        myDlg.DoModal();
        return TRUE;

    }
};
CExample MyApp;                                                                            

與普通的c / c ++應用程序不同,其中入口點是主要的,並且您可以完全控制執行流程。 MFC應用程序是事件驅動的。 您編寫的代碼是根據用戶與應用程序交互而發生的事件執行的,例如,單擊按鈕,在文本框中輸入文本等。當沒有交互時,應用程序處於空閑狀態。

1)OnInitDialog放置初始化代碼的最佳位置。 您可以初始化OnInitDialog中的所有成員變量。 (請記住,winMain是Windows應用程序的入口點。但是在MFC中,它嵌入在樣板代碼的深處。)

2)添加消息處理程序以處理稍后執行核心邏輯的用戶操作。 例如:如果對話框上有一個按鈕,則需要為按鈕添加消息處理函數,當用戶單擊該按鈕時將調用該函數。 這可以使用類向導輕松完成( https://msdn.microsoft.com/en-us/library/ee748520.aspx )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM