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++ - Sviluppare applicazioni Windows in C++
Forum - C/C++ - Sviluppare applicazioni Windows in C++

Avatar
napco (Normal User)
Pro


Messaggi: 64
Iscritto: 16/04/2010

Segnala al moderatore
Postato alle 20:39
Martedì, 20/04/2010
Ciao a tutti! Vorrei sapere come sviluppare applicazioni windows (form) con C++. Utilizzo Visual C++ e mi interesserebbe principalmente creare finestre con menu a tendina (File, Modifica ecc...), radio buttons ecc... e con la possibilità di visualizzare immagini (png, bmp ecc...). Mi sembrava fosse possibile tramite l'inclusione di <windows.h>, ma credo anche esista un metodo più semplice ottimizzato per Visual C++, vista la possibilità di creare forms ecc...

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 20:46
Martedì, 20/04/2010
si puoi usare si l'header windows.h e lo svilippo basato su api win32.
una soluzione nativa più semplice è l'uso delle librerie MFC.

ad ogni modo questo modo di sviluppare rientra nel modello COM-Win32 che è ormai da considerarsi obsoleto in particolare per lo sviluppo di applicazioni utente, a favore dello sviluppo su piattaforma .NET che è al momento la principale piattaforma di sviluppo windows e fra poco tempo l'unica (in particolare quando l'intero sistema operativo sarà basato sul CRL, cerca singularity per maggiori info)

Quindi ti consiglio eventualmente di usare C++ Managed col .NET, ma a quel punto tanto vale passare direttamente a C#.

Se invece per qualche motivo devo assolutamente usare C++ e il vecchio modello di sviluppo ti consiglio di non usare la programmazione diretta tramite api e usare le MFC, che alla fin fine sono un wrapper ad oggetti.

PM Quote
Avatar
napco (Normal User)
Pro


Messaggi: 64
Iscritto: 16/04/2010

Segnala al moderatore
Postato alle 1:48
Mercoledì, 21/04/2010
Grazie! Credo proprio di dover utilizzare per forza il C++. Diciamo che la form mi serve come GUI per creare livelli del giochino che sto creando, e che salverò in formato binario. Il gioco vero e proprio è scritto in C++ percui devo essere sicuro che il programma che sfrutta la form li salvi nello stesso formato utilizzato dal gioco. Se salvassi su file solamente tipi primitivi allora forse potrei usare due linguaggi diversi, ma nel mio caso salvo intere istanze della classe Livello...

PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 12:21
Mercoledì, 21/04/2010
Testo quotato

Postato originariamente da napco:

Grazie! Credo proprio di dover utilizzare per forza il C++. Diciamo che la form mi serve come GUI per creare livelli del giochino che sto creando, e che salverò in formato binario. Il gioco vero e proprio è scritto in C++ percui devo essere sicuro che il programma che sfrutta la form li salvi nello stesso formato utilizzato dal gioco. Se salvassi su file solamente tipi primitivi allora forse potrei usare due linguaggi diversi, ma nel mio caso salvo intere istanze della classe Livello...



ho provato su google translate... senza successo.

riformula.

PM Quote
Avatar
napco (Normal User)
Pro


Messaggi: 64
Iscritto: 16/04/2010

Segnala al moderatore
Postato alle 13:57
Mercoledì, 21/04/2010
Allora... Sto sviluppando un RPG bidimensionale. Per facilitarmi la creazione di mappe, database oggetti, nemici ecc... pensavo di scrivere anche un editor con interfaccia grafica. Quest'editor dev'essere in grado di salvare in formato binario le mappe create. Allo stesso modo il giochino dovrà essere in grado di leggere questi files. Se dovessi utilizzare due linguaggi diversi per l'editor ed il gioco non credo che i files binari esportati possano essere compatibili tra i due linguaggi visto che il sistema che utilizzo richiede che entrambi i programmi condividano una classe.

Per intenderci, il metodo che utilizzerei per esportare una mappa sarebbe questo:

Codice sorgente - presumibilmente C/C++

  1. // Creo un'istanza della classe Mappa
  2. Mappa m;
  3.  
  4. // Modifico gli attributi della mappa a mio piacimento tramite l'editor
  5. ...
  6. ...
  7.  
  8. // Salvo l'oggetto su file (tutti gli attributi variati come larghezza ed altezza
  9. // verranno salvati)
  10. std::ofstream file("mappa.bin", std::ios::binary);
  11. file.write((const char *) &m, sizeof(Mappa));
  12. file.close();


PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 20:15
Mercoledì, 21/04/2010
potresti tranquillamente programmare una classe tale per parsare e gestire file di qualsiasi tipo, basta sapere come sono strutturati e gestirli opportunamente, anche se i linguaggi sono diversi.

ad ogni modo vale a questo punto la pena restare col C++.

però visto che parli di videogiochi potresti usare qualche libreria apposita per il gaming 2D

PM Quote
Avatar
napco (Normal User)
Pro


Messaggi: 64
Iscritto: 16/04/2010

Segnala al moderatore
Postato alle 0:58
Giovedì, 22/04/2010
Beh, per la parte grafica di solito utilizzo SDL + OpenGL, anche se per questo giochino basterebbero anche solo le prime. Per quanto riguarda il doppio linguaggio non è più un problema. Pensavo di utilizzare l'XML per gestire database e mappe piuttosto che salvarle in formato binario. Magari questa scelta potrebbe giocare a mio favore permettendomi di creare mappe di prova prima che l'editor sia pronto.

PM Quote