View Full Version : [Visual c++.net]Eventi alla chiusura di una finestra
Zagor HW
05-04-2005, 15:17
Volevo sapere se e come è possibile gestire degli eventi quando la finestra di dialogo viene chiusa.(Per fare un'esempio la routin form_unload di VB)
Grazie ciao!
Zagor HW
08-04-2005, 13:03
Non mi può risp nessuno?
Zagor HW
05-05-2005, 14:39
Up!
Vi prego aiutatemi!
Vai sulla finestra di progettazione del form, tasto destro sul form->proprietà->eventi (cerca il fulmine) e guarda alla C ;)
Zagor HW
05-05-2005, 17:54
Grazie infinite! Avrei un altra domanda da porti, questa:
void CDBConvettoriDlg::OnClose()
{
// TODO: aggiungere qui il codice per la gestione dei messaggi e/o chiamare il codice predefinito.
CDialog::OnClose();
}
è una classe o una routin evento?
Scusa la domanda ma vengo da visual basic, e sfogliando il mio libro di c++ mi sono venuti dei dubbi...
Grazie Ciao!
E' un evento...ma tu non stai programmando con .Net...stai usando MFC !!!
Non si studia il C++ partendo dall'interfaccia grafica... Dovresti studiare profondamente il C++ prima di passare all'interfaccia grafica con un framework come MFC, visto presuppone nozioni di programmazione ad oggetti abbastanza complesse...
Il C++ non è come Visual Basic... Visual Basic è stato progettato a braccetto con l'interfaccia grafica sfruttando come base il Basic che è forse il linguaggio più semplice al mondo...
Studiando così il C++ hai una grossa percentuale di arrivare in fondo e non capirci niente...
Zagor HW
05-05-2005, 19:00
Ah ok grazie della dritta... non è che mi potresti consigliare anche una guida che magari riesco a trovare anche qui su internet che mi possa spiegare il c++?
Mi potresti anche dare altre 2 informazioni per completare la mia applicazione (la voglio solo completare per soddisfazione personale... poi passo al c++)
1) Volevo sapere il codice per mettere il contenuto di un array su più righe di un Edit Control (oppure se esiste un altro oggetto che mi permetta di farlo).
2) Infine volevo sapere come si fa a visualizzare una variabile assieme a del testo in un messagebox
Grazie dell'aiuto! Ciao!
Per il message box:
CString s;
s.Format("Il numero che hai inserito è %d. La stringa che hai inserito è %s.", intero, stringa);
AfxMessageBox((LPCTSTR)s);
Per l'edit control:
CString a, res = _T("");
for(int i=0; i<n; ++i)
res += a.Format("%d ", v[i]);
mioEditControl.SetWindowText((LPCTSTR)s);
Zagor HW
05-05-2005, 19:47
Ok Grazie ancora per l'aiuto... Domani proverò il codice... Ciao!
Zagor HW
06-05-2005, 14:29
Scusa se ti disturbo ancora... il codice per il messagebox funziona alla perfezione, ma quello relativo all'edit no....
Allora per questa riga di codice:
res += a.Format("%d ", v[i]);
mi dice : += binario: non è stato trovato alcun operatore che accetti un operando destro di tipo 'tipo'. È anche possibile che non vi siano conversioni accettabili.
Cmq se non ho capito male questo codice mi mette il valore delle variabili uno di seguito all'altro, a me invece interessa che i valori siano uno sotto l'altro.
Vorrei sfruttare la proprietà "multiline" se possibile, in Vb per esempio do degli invii dopo la serie di variabili che voglio inserire (Chr(10) & Chr(13))
Grazie Ancora Ciao!
Le variabili te le mette una accanto all'altra perchè usi un array. Se vuoi + righe usa una matrice[riga][colonna]
Zagor HW
09-05-2005, 14:39
Le variabili te le mette una accanto all'altra perchè usi un array. Se vuoi + righe usa una matrice[riga][colonna]
Scusa ma non ho capito cosa intendi... non è che mi potresti far vedere il codice?
Grazie Ciao!
prova così:
for(int i=0; i<n; ++i)
{
a.Format("%d ", v[i]);
res += a;
}
Format non ritorna la stringa, quindi devi prima formattarla e poi sommarla.
Per mandare a capo la riga usa \r\n
a.Format("%d\r\n", v[i]);
Format non ritorna la stringa, quindi devi prima formattarla e poi sommarla.
Per mandare a capo la riga usa \r\n
a.Format("%d\r\n", v[i]);
Sono un po' arrugginito sulel MFC...
Zagor HW
09-05-2005, 19:14
prova così:
for(int i=0; i<n; ++i)
{
a.Format("%d ", v[i]);
res += a;
}
Format non ritorna la stringa, quindi devi prima formattarla e poi sommarla.
Per mandare a capo la riga usa \r\n
a.Format("%d\r\n", v[i]);
Ok ;) Domani ci proverò... Grazie!
Grazie anche a te cionci, puo capitare a tutti di sbagliare.
Ciao!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.