PDA

Visualizza la versione completa : [c++] interfaccia grafica


davidinho
19-06-2010, 20:26
ragazzi io ho già delle buone basi di c++ ora però vorrei imparare a fare programmi con un'interfaccia grafica, ho letto che non esistono dei comandi apposti quindi come si fa???
dovrei fare il "motore"(so che non è corretto ma non sapevo come dire) del programma col c++ e l'interfaccia grafica con qualcos'altro???
se può interessare io uso il compilatore Borland c++ Builder3

oregon
19-06-2010, 20:51
Fai una ricerca nel forum ... se n'è parlato mille volte ...

davidinho
19-06-2010, 21:53
ho cercato ma comunque non trovo la risposta al mio problema, allora io ho provato a fare qualcosa col c++Builder e sono riuscito a creare un form con in alto un MainMenu con le "sezioni"(non so come si chiamano) File e Modifica, sotto a File ho messo Nuovo, ora quando clicco su Nuovo mi si apre la finestra per scrivere il codice, con già scritto:


//---------------------------------------------------------------------------
#include <vcl.h> #pragma hdrstop #include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm" TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{

}
//---------------------------------------------------------------------------
void __fastcall TForm1::Nuovo1Click(TObject *Sender)
{

}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{

}
//---------------------------------------------------------------------------
se io ad esempio voglio fare che nel momento in cui clicco su Nuovo mi deve aprire un nuovo form come devo fare???
per aprire un nuovo form non intendo creare una nuovo finestra, ma sostituirla a quella già aperta, non so se mi sono spiegato...

sebaldar
19-06-2010, 22:10
prima di tutto devi creare visualmente un nuovo form.
A questo punto puoi far sì che l'ide stesso ti crei una istanza della classe del tuo nuovo font, in questo modo hai già l'oggetto creato ed è sufficiente che fai una chiamata alla funzione membro Show o ShowModal.
In alternativa può crearti tu una istanza del form che hai creato ( con il costrutto new ), e poi chiami la funzione membro Show o ShowModal. In questo caso ti devi ricordare di distruggere l'oggetto, dopo che lo hai usato.

ciao
sergio

davidinho
19-06-2010, 22:23
scusa ma non ho capito molto, allora io creo il primo form, poi creo un nuovo form giusto???
a questo punto devo fare in modo che quando vado a cliccare su Nuovo mi apre questo secondo form... giusto??? ma come si fa??? è questo che non ho capito...


ma quando io clicco su Nuovo e vado su Events e faccio doppio click se OnClick mi si apre la schermata per scrivere del codice, quindi devo scrivere ciò che deve fare con il codice giusto???
allora mi potete dire cosa scrivere per trovare una guida??? perché non ne ho proprio idea...

sebaldar
20-06-2010, 07:36
dove ti si apre la schermata in corrispondenza dell'evento devi scrivere la chiamare al metodo Show. Se il tuo form nuovo si chiama Form2 dovrai scrivere
Form2->Show( ) o Form2->ShowModal ( ) , se mi ricordo bene la sintassi. Controlla nella guida online anche i parametri da passare, se ci sono.
Se invece devi creare anche l'oggetto dovrai scrivere
TForm2 *Form2 = new Form2( this o NULL );
e poi chiami i metodi Show o ShowModal, se vuoi aprirla in maniera modale.
Spero che la sintassi sia giusta perché ti ho scritto tutto a memoria.
ciao
sergio

davidinho
20-06-2010, 11:11
a ok, ma per cercare una guida online che spiega la sintassi si tutti i comandi cosa devo scrivere???
su altri siti ho letto che parlando di VLC, è quello che devo cercare???

sebaldar
20-06-2010, 11:28
nessuno usa Builder, i programmatori c++ sono troppo puristi per farlo, se desideri un rad usa delphi o lazarus, oppure consulta una guida per delphi dato che le vcl hanno la stessa provenienza. Ricordati però che il c++ è case sensitive e delphi no
ciao
sergio

davidinho
20-06-2010, 11:34
e i programmatori c++ cosa usano???

sebaldar
20-06-2010, 11:41
non saprei dirti, io penso che le interfacce grafiche non vengano solitamente scritte in c++. Oppure utilizzano le api windows. Su linux c'è qualche tool che ti assiste, ma non saprei per windows.
Comunque puoi usare Builder della borland, devi però distribuire un certo numero di dll e lo puoi fare solo se hai una licenza commerciale. Lazarus invece è compilato staticamente e l'eseguibile è stand alone
ciao
sergio

Loading