004
12.09.2004, 20:08 Uhr
~CDW
Gast
|
1) versuchs mal damit: SendMessage,hWnd,WM_SETICON,TRUE,Iconhandle dabei ist die hWnd das Handle zum Fenster... alles andere sollte eigentlich selbsterklärend sein (sorry dass ich kein C++ Syntax kann)
2)so wie ich das sehe erwartet GetDlgItemText hier die Adresse des strings: LPTSTR lpString, // address of buffer for text und aufjedenfall liefert die funktion nur die anzahl der eingelesenen zeichen zurück wenn ich das richtig weiß dann ist LPTSTR nur ein Pointertyp... irgendwo müsstest du schon Speicherplatz reservieren
Zitat: |
LPTSTR A 32-bit pointer to a character string that is portable for Unicode and DBCS.
|
und winAPI ist eher C-Style, also einfach mal mit einem klassischen chararray versuchen oder zumindest nicht nur einen leeren pointer angeben (ich bin des C++ nicht mächtig, aber ob hier automatisch ein chararray angelegt wird ?)
zu 3: in deine Messageloop noch eine WM_CTLCOLOREDIT verarbeitung einfügen:
Code: |
.ELSEIF uMsg==WM_CTLCOLOREDIT INVOKE SetTextColor,wParam,0ffba43h INVOKE SetBkColor,wParam,03f3333h mov eax, hBrush cmp eax, 0 jne BrushAlreadyCreated
invoke CreateSolidBrush,03f3333h mov hBrush, eax BrushAlreadyCreated: mov eax, hBrush ret
|
ok, ist zwar masm, aber ich glaube die erforderliche Struktur und die Apis sind ersichtlich (bevor ich hier falsches C++ poste ) zu de du fragst einfach ab ob eine Brush besteht und wenn nicht erschaffst du eine vielleicht hilft dir das etwas |