Zdravím.
Rozhodl jsem se pomoct kámošce s projektem na maturu. C++, říká mi. No už jsem tenhle jazyk zkoušel (já raději pascal, visual basic, javascript, html, snad už i delphi), na mě moc složitý, ale takovou jednoduchou věc (vzít hodnoty z Edit boxů, vypočítat z nich cosi a zobrazit) přece zvládnu!
A hrůza! Než jsem jen přišel na to, jak se s inicializuje dialog, jak tam všecko naházet atd...
Ale už jsem nepřišel na toto:
Jak přečíst a uložit do proměnné číslo z edit boxu?
Asi bude výsledkem řetězec, jak ho převézt na float?
Jak změnit text v labelu (popisku), jde myslím o vlastnost caption?
všechny tyhle prvky jsou na dialogu vyvolaném z menu...
Samozřejmě, jestli tu to někde je napsané, zasloužím to omlátit o hlavu, ale zkoušel jsem to najít...
Všem, kdo mi pomůžou budu vděčný, radost mi udělá i odkaz na stránky o programováni c++ ve windows.
Fórum › C / C++
Práce s Edit boxem
mno pokud jde o windows tak reseni je snadne, pokud tedy jedete win32api tak takto:
Jak přečíst a uložit do proměnné číslo z edit boxu?
Asi bude výsledkem řetězec, jak ho převézt na float?
edit ma styl ES_NUMBER
int iCount = GetWindowTextLength(g_hwndMainEdit);
int cislo = GetDlgItemInt(handleDlg, IDC_EDIT1, NULL, iCount);
Pokud nactete GetDlgItemText, prevadite na cislo sprintf, atof (wtof) , ....
Jak změnit text v labelu (popisku), jde myslím o vlastnost caption?
SetDlgItemInt(IDC_EDIT, iCislo, FALSE);
nebo SetDlgItemText
pokud neznam handle editu tak jedu:
HWND hEdit = GetDlgItem(hWnd, IDC_EDIT1);
takze to muze vypdat i takhle:
SetDlgItemInt(GetDlgItem(hWnd, IDC_EDIT1), iCislo, FALSE);
mno MSDN je jedna z nejlepsich veci co je :o) ale ja stejne raci napovedu nebo internet,tady treba ma historicka vc ++ 6.0 napoveda pri zadani setdlgitemtext:
The SetDlgItemText function sets the title or text of a control in a dialog box.
BOOL SetDlgItemText(
HWND hDlg, // handle of dialog box
int nIDDlgItem, // identifier of control
LPCTSTR lpString // text to set
);
Parameters
hDlg
Identifies the dialog box that contains the control.
nIDDlgItem
Identifies the control with a title or text that is to be set.
lpString
Points to the null-terminated string that contains the text to be copied to the control.
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
The SetDlgItemText function sends a WM_SETTEXT message to the specified control.
See Also
GetDlgItemInt, GetDlgItemText, SetDlgItemInt, WM_SETTEXT
tam mate rozepsany kazdy parameter, takze si myslim nebude problem a kdyz jo od ceho sou poradny typu programujte.com a builder.cz ;)
To zacatecnik:
zas to zkusim a kdyby byl ještě nějaký problém, zeptám se tu.
PS: builder.cz jsem neznal, dobrý server... hlavně první co jsem tam zbystřil, byl seriál Učíme se Win API... jak jsem to hledal, že jsem to nenašel? pročtu a snad žádné další dotazy už nebudou.
No, už nám to začíná i fungovat, přesto neumím převézt proměnou TCHAR chText[200] na float, poradíte?
GetDlgItemText(hDlg4, IDC_Db, szDb, 20);
(float)Db = (float)atof(szDb);
rychly vinatek z meho projektu, snad se zoerientujete
(atof(wtof) je vase cesta)
heh to mi fandite protoze ja C++ neumim :o)
ja umim jen C a Win32 API
ale i tak musim rict: neni zac tohle je opravdu trivka, ps : k tomu linku prihazuju:
http://www.koders.com/
ChaoticRoman píše:#
# No, už nám to začíná i fungovat, přesto neumím převézt proměnou TCHAR chText[200] na float, poradíte?
jeste bych doplnil:
nepouzivejte chText, jak jiste znate od pana Chalupy z builder.cz, ale szText, je to sice jen nazev a na chod programu nema vliv, ale :
ch by mel byt znak (char)
sz - string terminate to a zero
dodneska mi neni jasny proc pouziva(l) chText :)
To zacatecnik:
no jasně, tohle byl přepracovaný zdroj z builderu... samozřejmě u rozsáhlejších projektů může být nepřehledný kód smrtelný stejně jako špatné názvy proměnných, procedur apod... tak už se poučilo moc zelenáčů, včetně mě... nepostradatelný je navíc u spolupráce více programátorů...
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Edit Registru — založil Odin
Ovladace-edit — založil toomadd
Edit DataGridView — založil Mrakoplas
Subory (vymazanie, edit) — založil jozo0025
Prázdný Edit Box — založil Los Gigantos
Moderátoři diskuze