Newsgroup: it.comp.lang.c++
Titolo: Aiuto! (Visual c++ e MFC)

Desideroso di imparare il C++ per la programmazione di applicazioni Windows 
(possiedo una limitata conoscenza del C, nessuna di programmazione Windows), 
ho acquistato Visual C++ 5.x (per fortuna esistono cose come la Licenza 
Studenti... :-) ) insieme ad un manualetto che prometteva di imparare ad usare 
il tutto "in 21 days!". In realtà i programmi esempio in esso contenuti 
facevano uso dei vari Wizards con spiegazioni "tecniche" del tipo: clicca su 
questo bottone, controlla che l'opzione x sia selezionata, scrivi le tali 
righe di codice nel tal punto, ecc.. senza fornire una benchè minima 
descrizione dei vari file creati automaticamente (per chi , come me, viene da 
una mediocre conoscenza del C, vi assicuro che l'impatto è durissimo!).
Deluso dall'esperienza ho cercato materiale in rete, finendo per trovare un 
paio di utilissimi tutorials sia sul C++ in genere, sia su VC++ ed MFC, grazie 
ai quali ho cominciato a vedere un po' di luce.
E veniamo al quesito che intendevo porvi: ho scritto un microprogramma che si 
limita a mostrare una finestra vuota (utilissimo! :-)  ) basandomi su un 
esempio visto:
#include <afxwin.h>
class CEseApp:public CWinApp
{
public:
        virtual BOOL InitInstance();
};
class CEseAppWnd:public CFrameWnd
{
public:
        CEseAppWnd();
};
CEseApp EseApp;
BOOL CEseApp::InitInstance()
{
m_pMainWnd= new CEseAppWnd();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
CEseAppWnd::CEseAppWnd()
{
        Create (NULL,
                "New Window",
                WS_OVERLAPPEDWINDOW,
                CRect(150,150,400,400));
}
Se io volessi che la finestra principale dell'applicazione fosse un dialog 
creato con l'editor delle risorse come dovrei fare? 
Ho aggiunto un file di risorse con Insert->Resource->Dialog, ma non riesco a 
capire come "linkarlo" all'interno del codice.
Qualunque contributo sarà apprezzato!
Grazie e scusate per la lunghezza del post :-)
Michele
act...@digibank.it

capire come "linkarlo" all'interno del codice.
Il costruttore della tua classe-base CDialog accetta come
argomento l'identificatore numerico del template di dialogo
da usare.  Quindi, per la tua classe derivata, ad esempio,
avrai un file header (pippo.h) simile a:
class CPippo: public CDialog {
public:
    CPippo();
    // ecc ecc
};
e nel file sorgente (pippo.cpp):
CPippo::CPippo(): CDialog(IDD_DIALOG1) {
}
o simili.
Alex

 con il suo metodo DoModal
Una domanda: una persona mi ha detto che le finestre modali hanno dei
problemi in quanto non sono basate su di un meccanismo solidamente
implementato in WIN32 (e che questo č scritto anche sul Petzold per
W95). E' vero? Io le ho sempre utilizzate senza alcun problema (se non
quello dello stack in caso di diverse DIALOGs annidate (problema che non
sono riuscito a risolvere in VB mentre in Clipper/FiveWin basta cambiare
il valore di STACK nel file DEF).
EMG

W95). E' vero? Io le ho sempre utilizzate senza alcun problema (se non
Le finestre modali possono dare problemi, non perche` il meccanismo
non sia "solidamente implementato" (in Win95 puo` anche darsi, in NT
e` solidissimo, ma la cosa non cambia), bensi` perche` e` fuori dal tuo
controllo; non puoi quindi applicare eventuali "filtri" o altri aspetti che
richiedono un loop di messaggi personalizzato.  Se la tua applicazione
ha un loop di messaggi particolare, o devi supportare cose come
l'apertura di un dialogo non-modale figlio di uno modale, ecc ecc,
non e` troppo difficile _simulare_ la "modalita`" (e` quello che fanno
automaticamente per te le MFC, che deve fare qualsiasi applicazione
che integri il Visual Basic for Applications, eccetera eccetera) in un
tuo loop degli eventi (lo complica solo un pochetto, ma nulla di terribile,
se stai gia` comunque gestendo le sottigliezze tipiche di un loop degli
eventi personalizzato).
Alex

Salve a tutti!! Anch'io sono uno dei tanti(?) desideroso di cimentarmi nella
creazione di applicazioni per Windows...
Qualche anno fa ho iniziato a studiare c e c++ (autodidatta..tsk!) e
nonostante la "capa dura" sono anche riuscito a scrivere qualche programmino
(elementare, ma funzionante...) sotto DOS...
Un bel giorno ho deciso di acchiapparmi il Visual C++ e di buttarmi a
capofitto nella programmazione di win..
Arhhhggh!! Crisi nera!!!!! Ero a conoscenza che la programmazione di win
applications era complicata!! ma qui non so proprio dove mettere la mani!!
(nonostante i Books online e gli esempi)
OK! vengo al sodo...
sapete consigliarmi testi, siti o altre risorse (meglio se in Italiano....)
sull'utilizzo di Visual c++ e la programmazione sotto Windows "for
beginners" ???
Grazie in anticipo x la risposta!!
Mau-X