Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - MFC
Forum - C/C++ - MFC

Avatar
sinosino (Normal User)
Newbie


Messaggi: 4
Iscritto: 07/11/2009

Segnala al moderatore
Postato alle 17:37
Lunedì, 09/11/2009
Ciao ragazzi, ho un problema molto grande e chiedo il vostro sapiente soccorso..
In 2 parole, il prof mi ha chiesto, dopo un corso di C e qualche accenno al C++ un programma in VisualC++, utilizzando le WinAPIs MFC. Facile no? Cmq mi sono rimboccato le maniche e ho cercato su internet (libri neanche a parlarne) per scoprire che MFC è un ampliamento ormai vecchissimo delle APIs di Win32 che è durato alcuni anni fino a che la piattaforma .NET non lo ha praticamente sostituito. Dico questo n tanto per sottolineare quanto sia inutile la richiesta di un programma in MFC, ma per evidenziare il perchè nn si trovi tanta documentazione su internet, tanto da dover chiedere aiuto ad un forum.
Nello specifico, per quelli che ci capiscono...
ho creato una finestra, della classe CDialog, col bottone chiudi e ok, c'ho messo un altro bottone e un textbox. Ho capito come gestire il bottone, c'è un ID e un comportamento da associare all'zione "bottonclicked" o simile, proveniente da quell'ID.. ora, per il textbox invece nn riesco atrovare il comando che mi legga il testo e me lo trasformi in una stringa, o in un intero a seconda delle esigenze. Ho visto che la classe Edit ha qualche funzione del genere, ma la posso applicare solo ad oggeti di quella classe. La mia casellina di testo (che io inserisco sulla finestra di dialogo trascindola dalla barra dei comandi, poi il codice lo scrive in automaico Visual C++ 6.0) è un oggeto di quella classe? Se si, il comando "prenditesto" lo applico a cosa? All'ID della textbox? Grazie ragazzim, se qualcuno che usa ancora MFC o lo conosce e mi vorrà aiutare.. beh sarò molto riconoscente!!!:asd::d

PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 7:58
Martedì, 10/11/2009

Purtroppo MFC è veramente obsoleto, tanto che il testo nelle textbox viene gestito attraverso l'update e il commit di una variabile membro:

Class Wizard -> Member Variables -> Seleziona ID del controllo al quale vuoi collegare la variabile -> Add Variable -> Add Member Variable -> Metti il nome specificando la categoria e il tipo della variabile.

Una volta fatto questo per ogni textbox, puoi aggiornare le variabili membro col contenuto delle textbox chiamando

UpdateData(FALSE);

oppure, dopo aver modificato il valore di una variabile membro, per committare l'update alla textbox con il nuovo testo scrivi:

UpdateData(TRUE);

Questo è quanto.

Se vuoi un consiglio spassionato di un amico, manda a quel paese il tuo prof e digli che è un dinosauro attaccato ad una tecnologia morta e sepolta.

Proponi invece di fare qualcosa in C# oppure in C/C++ standard con le api di win32 native, quasi risparmi tempo...

PM Quote
Avatar
sinosino (Normal User)
Newbie


Messaggi: 4
Iscritto: 07/11/2009

Segnala al moderatore
Postato alle 15:58
Mercoledì, 11/11/2009
Grazie mille per l'interessamento HeDo, ora provo ad applicare quello che mi hai suggerito e spero di riuscire a far funzionare il tutto..:k:
Lo farei molto volentieri (mandare il prof a..) ma purtroppo mi servono 6 stupidissimi CFU e i miei amici che hanno già provato a presentare un progetto in C++ o addirittura in Win32 sono stati rimandati a casa a rifare il tutto. So che è obsoleto, è la cosa che più ci fa incazzare perchè dobbiamo fare i salti mortali per creare una stronzata di programma in un linguaggio che nessuno mai utilizzerà, soprattutto perchè NON studio informatica ma fisica (speriamo che il prof non faccia parte di questo forum!!!)... quindi non imparo nulla ma perdo tantissimo tempo (a non imparare nulla), però se le cose funzionassero non saremmo in italia, non credi? :d
Infine.. eh, lo so che farei prima, per questo alcuni hanno provato in Win32, ma credo che rispetto a MFC anche se lo scrivessi in Assembly farei prima :rofl:

PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 20:26
Mercoledì, 11/11/2009
Testo quotato

Postato originariamente da sinosino:

Grazie mille per l'interessamento HeDo, ora provo ad applicare quello che mi hai suggerito e spero di riuscire a far funzionare il tutto..:k:
Lo farei molto volentieri (mandare il prof a..) ma purtroppo mi servono 6 stupidissimi CFU e i miei amici che hanno già provato a presentare un progetto in C++ o addirittura in Win32 sono stati rimandati a casa a rifare il tutto. So che è obsoleto, è la cosa che più ci fa incazzare perchè dobbiamo fare i salti mortali per creare una stronzata di programma in un linguaggio che nessuno mai utilizzerà, soprattutto perchè NON studio informatica ma fisica (speriamo che il prof non faccia parte di questo forum!!!)... quindi non imparo nulla ma perdo tantissimo tempo (a non imparare nulla), però se le cose funzionassero non saremmo in italia, non credi? :d
Infine.. eh, lo so che farei prima, per questo alcuni hanno provato in Win32, ma credo che rispetto a MFC anche se lo scrivessi in Assembly farei prima :rofl:



eh allora devi proprio rimboccarti le maniche e imparare quel poco che ti basta a far funzionare tutto. Scaricati una bella guida sulle MFC e parti da la, per quello che non ti viene questo forum è a disposizione :)

PM Quote
Avatar
Pippo_94 (Normal User)
Rookie


Messaggi: 32
Iscritto: 18/05/2009

Segnala al moderatore
Postato alle 11:39
Venerdì, 13/11/2009
Se ti interessa, ho trovato un sito dove parla di sviluppo in Visual C++ con MFC:

http://www.softwareplanet.net/php/mostraCorso.php?nomeCors ...

Se no, al seguente URL, c'è la recensione di un libro che parla di sviluppo di applicazioni in C++ con MFC:

http://www.ebook-gratis.it/2-Programmazione/81-C++/822-Mas ...

PM Quote
Avatar
sinosino (Normal User)
Newbie


Messaggi: 4
Iscritto: 07/11/2009

Segnala al moderatore
Postato alle 12:26
Venerdì, 13/11/2009
Grazie Pippo_94, l'avevo già incontrato e mi stavo appoggiando proprio su quel sito per entrare nell'ottica MFC, in effetti è l'unica cosa in rete in italiano... non vorrei sbagliare ma mi sembra pure che sul sito della Microsoft MSDN la libreria delle classi ci sia solo per la versione 2005 di Visual Studio, mentre io guarda caso devo utilizzare la 6.0 per la quale non c'è. Mi chiedo soltanto perchè al corso di Java filava tutto liscio, mentre qua non riesco a venirne a capo... dannato professore.. 8-|

PM Quote
Avatar
Pippo_94 (Normal User)
Rookie


Messaggi: 32
Iscritto: 18/05/2009

Segnala al moderatore
Postato alle 13:01
Venerdì, 13/11/2009
Esiste anche la documentazione per Visual Studio 7.0 (che sarebbe il 2003), è in inglese.

http://msdn.microsoft.com/en-us/library/d06h2x6e%28VS.71%2 ...

Qua puoi trovare come utilizzare MFC in Visual C++ 6.0 (che forse è quello che utilizzate voi):

http://msdn.microsoft.com/it-it/library/aa314506%28en-us,V ...

PM Quote
Avatar
sinosino (Normal User)
Newbie


Messaggi: 4
Iscritto: 07/11/2009

Segnala al moderatore
Postato alle 9:01
Mercoledì, 18/11/2009
ok ragazzi, grazie anche al vostro aiuto sono arrivato un pezzo avanti.. ora mi servirebbe di riuscire a chiudere quella dannata finestra di dialogo, non premendo il bottoni già presenti automaticamente alla crezione della stessa finestra (la x in alto a destra ma anche Ok e Cancel), ma al click del mio bottone. Nel corpo della funzione che risponde al messaggio BOTTON_CLICKED ho provato a dare semplicemnte WM_CLOSE ma non funziona, oppure Cdialog1.WM_CLOSE ma in questo caso da addirittura errore. Quale procedura bisogna seguire per chiudere la  finestra? :-?

PM Quote