|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Oct 2001
Messaggi: 57
|
[VC++] Edit box preassegnata
Salve a tutti,
dovrei inserire nell'interfaccia VC++ due edit box contenenti il valore (da mettere INT) 5100 e 5200 (ma ovviamente modificabile da utente). Mi serve poi registrare questi interi in delle variabili per usarle nel seguito del programma. Chi mi aiuta? Lo so che è una semplice operaizone per chi maneggia bene il VC++.... grazie mille. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Se stai usando MFC si fa in questo modo...
Vai sul dialog ci metti una editbox -> Tasto DX -> Proprietà e gli cambi l'ID (in modo che sia comprensibile)... Tasto Dx->Class Wizard->Member Variables->Selezioni l'ID che hai appena modificato->Dippio Click->metti il nome della variabile dopo m_, selezioni value, selezioni il tipo di dati che dovrà contenere -> Ok -> Ok Nel costruttore relativo alla classe del dialogo (solitamente finisce in Dlg) cambi il valore con cui verranno inizializzate le EditBox... Prima di usare uno (o più) variabili membro così create (m_nomeCheGliHaiAssegnato) dovrai utilizzare la funzione UpdateData()...mentre se vuoi che i valori che sono nelle variabili membro vengano visualizzati sul dialogo devi usare UpdateData(FALSE) dopo aver cambiato i valori... |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Oct 2001
Messaggi: 57
|
Grazie, in effetti, smanettando qua e là ci ero già riuscito.
Grazie mille cmq.! |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Oct 2001
Messaggi: 57
|
Scusami ancora se ti disturbo...
ho l'ultimo problemino.... Quello che tu dici funziona bene se mi trovo nella nomeprogrammaDlg.cpp ma considriamo un altro caso. Supponiamo che un certo bottone mi faccia partire la funzione eleborazione(....) ed in essa debba aggiornare un campo testuale m_text. per ora ho fatto così: elaborazione(....., CString m_text).... poi in elaborazione m_text="...."; però questo non appare nell'edit, occorre dunque un UpdateData(FALSE), comando che non viene accettato (undeclare identifier). Ho provato a metterci in questo file cpp anche #include "stdafx.h" ma non ricolve nulla. Quel è il modo per aggiornare i dati sullo schermo in funzioni/file diverse dal dialog? Grazie mille. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Devi passare alla funzione il puntatore al dialogo (CDialog *dlg)...
Poi fai una semplice funzione membro del dialogo tipo questa : void CTuoDialogoDlg::cambiaValoreEditBox(LPCTSTR str) { m_EditBox = str; UpdateData(FALSE); } |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Oct 2001
Messaggi: 57
|
Scusami.. ma qualcosa non mi funziona.... vediamo s eho fatto bene.
Ho modificato così: nel nomeDlg.h ho aggiunto nella parte class CnomeDlg dopo il protected afx_msg void cambiavalore(LPCTSTR str); nel nomeDlg.cpp ho aggiunto nella funzione del bottone: CDialog *dlg; elaborazione(.......,dlg); ho aggiunto anche: void CnomeDlg::cambiavalore(LPCTSTR str) { m_serverip = str; UpdateData(FALSE); } all'interno di elaborazione.cpp e all'interno della funzione elaborazione : dlg->cambiavalore(nome); ma mi dà errore dicendo che cambiavalore is not a member of Cdialog. Cosa ho toppato? Grazie mille. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
cambiaValore deve essere pubblico...altrimenti la funzione elaborazione non essendo parte della classe non ci può accedere...
L'ultimo parametro di eleaborazione deve essere un CnomeDlg * E per passare il puntatore all'oggetto corrente devi fare : elaborazione(..., this); Ma visto che lo richiami da dentro la classe perchè elaborazione non lo fai membro della classe ? |
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Oct 2001
Messaggi: 57
|
Oddio ora si che ho le idee confuse....
Mi manderesti un'email così ti mando uno stralcio d'esempio. Ti volevo poi mandare anche degli shots delle interfacce server-client e avere consigli, se hai tempo. Grazie mille ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:46.