|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2006
Città: M.O.F.N. (Middle of Fuckin Nowhere)
Messaggi: 309
|
[C++] Usare l'edit
ciao,
qualcuno mi fa un esempio di come si trasporta un valore numerico da un camnpo edit di un dialog a una semplicissima variabile di tipo int? facciamo che io ho questo edit Codice:
EDITTEXT TN,67,56,18,12,ES_AUTOHSCROLL | ES_NUMBER Codice:
LTEXT "0",IDC_STATIC,40,20,11,11 Codice:
BOOL CALLBACK DlgProced(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) {int tn, risultato; //punto 1 risultato=tn*2; //il fatto è molto più lungo ma... //punto 2 } nel punto 1 un qualcosa che prenda il valore dell'edit e lo inserisca in tn; nel punto 2 un qualcosa che inserisca il risultato nello static sopra espresso. evitate di rispondermi con "vai a studiare" o "è meglio se le fai tu stesso"... battetemi queste poche righe pleeeaaaseeeeeeee |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Con GetDlgItem recuperi l'handle dall'id della risorsa...
Con GetWindowText recuperi il testo tramite l'handle dell'edit... Con SetWindowText scrivi il testo nello static tramite l'handle... http://www.softzone.it/tutorials/showfaq.php?fldAuto=1 |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ah...ovviamente devi trasformare il testo in numero, altrimenti non funziona...fare la moltiplicazione e ritrasformarlo in testo...
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
oppure più semplicemente:
![]() da qui associ alla edit una variabile metodo di tipo int. con UpdateData(TRUE) leggi il valore della edit e lo carichi nella variabile int, con UpdateData(FALSE) scrivi sulla edit il valore della variabile membro.
__________________
![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non sta lavorando in MFC, ma con le API di Windows
![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
e c'hai ragione cavolo...devo disintossicarmi dalle mfc.
![]()
__________________
![]() |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Sep 2006
Città: M.O.F.N. (Middle of Fuckin Nowhere)
Messaggi: 309
|
ok ho risolto
ora ho una variabile int e la devo mandare nella messagebox come faccio? Codice:
int x=88; MessageBox(0, x, "Risultato", MB_OK); |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
devi passare una stringa alla funziona messagebox, prova con sscanf
__________________
![]() |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Sep 2006
Città: M.O.F.N. (Middle of Fuckin Nowhere)
Messaggi: 309
|
si lo so che devo passare una stringa, infati il codice che ho postato di sopra non funziona perchè messagebox non vuole un int.
come faccio a convertire l'int in stringa senza che mi vengano cose strane? |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Questo non riguarda le API, ma il C e il C++, quindi se stai studiando le API almeno queste cose le dovresti saper fare.
Comunque in C puoi usare sprintf, mentre in C++ con ostringstream... |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Sep 2006
Città: M.O.F.N. (Middle of Fuckin Nowhere)
Messaggi: 309
|
ok torniamo alle API...
ho un edit dove c'è testo. con la funzione GetWindowText prendo il testo e lo inserisco nella variabile str in questo modo Codice:
LPTSTR str; GetWindowText(hwndDlg, str, EOPEN); grazie |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:16.