Categories: VC/C++

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 >>

Share
Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.

Recent Posts

Un Abbonamento per Tutti i Software

Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…

1 anno ago

Software di Magazzino Gratuito

MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→

1 anno ago

Mettere il PC in Lock Screen

In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…

3 anni ago

Fare il reset togliendo la corrente

In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…

3 anni ago

Prossimi Aggiornamenti Software

Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…

3 anni ago

Come Eliminare i Files in Windows

Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→

4 anni ago