Finestre Windows con MFC

L’ambiente di sviluppo Microsoft™ Visual Studio fornisce, purtroppo non nella versione Express, una libreria di classi, MFC ( Microsoft Foundation Class ),  che consente di sviluppare applicazioni Windows in C++ molto velocemente. Personalmente le reputo molto valide e le utilizzo praticamente da quando ho iniziato a lavorare nel campo dello sviluppo del software gestionale, circa 14 anni fa. Si deve anche dire che ci sono dei programmatori ai quali non piacciono affatto e preferiscono utilizzare le librerie ATL, che vedremo più avanti in questo corso, perché sono molto più piccole e fondate su COM ( Component Object Model ).
A mio modo di vedere, per creare applicazioni di grandi dimensioni, come un gestionale, con tutti i supporti per i database, performante e relativamente veloce da realizzare, MFC sono il giusto strumento. Le librerie di Microsoft sono enormi, elefantiache si dice, contano molte classi ed è possibile, in caso di bisogno, programmare anche con l’SDK, che risiede uno strato sotto. Per questo e tutta un’altra serie di motivi, vi consiglio vivamente di studiarle a fondo, se avete anche voi come me, la necessità di creare software di grandi dimensioni. Vediamone l’uso con la creazione di una semplice finestra, come avevamo fatto per l’SDK.

// Prima Finestra con le MFC

#include <afxwin.h>

class CMyApp : public CWinApp
{
   public:
      virtual BOOL InitInstance();
};

class CMainWnd : public CFrameWnd
{
   public:
       CMainWnd()
       {
            Create(NULL, "Benvenuti nel mondo MFC",
                   WS_OVERLAPPEDWINDOW, rectDefault, NULL, NULL);
       }
};

BOOL CMyApp::InitInstance()
{
        m_pMainWnd = new CMainWnd();
        m_pMainWnd->ShowWindow(m_nCmdShow);
        m_pMainWnd->UpdateWindow();

        return TRUE;
}

CMyApp theApp;

Per compilare il codice ed ottenere una finestra base, occorre impostare il progetto per usare MFC staticamente o con collegamento dinamico. La differenza tra i due è che con il primo abbiamo un file più grande perché all’interno c’é il codice delle librerie, mentre con il secondo occorre anche installare sulla macchina destinazione le DLL ( Dynamic Link Library ) che fanno parte delle MFC, cosa che per esempio avviene quando installiamo alcuni software che hanno bisogno anche dei moduli ridistribuibili del C++.
Come vedete il codice per creare una finestra è minimo rispetto a quello che avevamo utilizato per creare una finestra con l’SDK di Windows. Nel corso di queste lezioni ci soffermeremo sull’analisi di tutte le classi che fanno parte della libreria suddividendole per argomento. Vi aspetto alla prossima lezione.

<< Lezione Precedente – Inizio CorsoLezione Successiva >>

Informazioni su Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.
Questa voce è stata pubblicata in VC/C++. Contrassegna il permalink.