textbox (NewLine && Hintergrundsfarbe)
-
hi ich möchte in einer textbox '\n' s haben, jedoch erscheinen diese als |...
ich hab das soSetDlgItemText(hwnd, IDC_READ, "/*******************************/\nund ich möchte, dass man in die textbox nichts hineinschreiben kann, jedoch deren hintergrundsfarbe weiß ist

Ich bedanke mich schon einmal :p
P.S.:
wie mache ich so ein manifest, sodass alles im WinXP-Style ist?
ich habe schon gesucht, aber das was da stand funktioniert bei mir nicht..
-
Also wenn Du mit "hi ich möchte in einer textbox '\n' s haben" das Einfügen von New-Line Zeichen meinst, dann heißt das bei einem Edit-Control "\r\n" und in einem Static-Control '\n'. Falls Dein Edit-Control nicht auf 'multi-line' eingstellt ist, kann das natürlich auch nicht funktionieren: Style-Flag ist ES_MULTILINE.
Für die Hintergrundfarbe schreibst Du einen Message-Handler für die Nachricht WM_CTLCOLORSTATIC und gibst folgendes zurück:
return (reinterpret_cast<LRESULT>(GetStockObject(WHITE_BRUSH)));Bei einem Dialog ist der Zieltyp beim Cast nicht LRESULT sondern INT_PTR.
roflcopter schrieb:
P.S.:
wie mache ich so ein manifest, sodass alles im WinXP-Style ist?
ich habe schon gesucht, aber das was da stand funktioniert bei mir nicht..Was heißt konkret 'funktioniert nicht ? Welchen Compiler/IDE verwendest Du ?
-
ich habe ein edit-control mit multiline
hmm escape-r + escape-n probiere ich gleich mal aus danke..das mit der hintergrundsfarbe erscheint mir im moment noch zu kompliziert...
ich benutze MSDEV 6.0
-
Deine Anwendung mit VC6 im XP-Stil hier n Link http://www.winapi.net/index.php?inhalt=t8
-
roflcopter schrieb:
das mit der hintergrundsfarbe erscheint mir im moment noch zu kompliziert...
...oha, also das ist doch pippifax^^:// in Deiner WndProc: // ... case WM_CTLCOLORSTATIC: if(GetWindowLongPtr(reinterpret_cast<HWND>(lParam), GWL_ID) == EBX_ID_DEINER_EDITBOX) { SetBkMode(reinterpret_cast<HDC>(wParam), TRANSPARENT); return (reinterpret_cast<LRESULT>(GetStockObject(WHITE_BRUSH))); } break; // ...
-
Ist reinterpret_cast nicht ein C++ Befehl?
Ich verwende C <.<
-
Dann eben So

case WM_CTLCOLORSTATIC: if(hWnd, IDDEINEDIT == (HWND)lParam) { SetBkMode ((HDC) wParam, TRANSPARENT); SetBkColor ((HDC) wParam, RGB ( 255, 255, 255)); return (long)CreateSolidBrush(RGB( 255, 255, 255)); } break;
-
roflcopter schrieb:
Ist reinterpret_cast nicht ein C++ Befehl?
Ich verwende C <.<Jo, sry alternativ, den C-Cast: (Type)
Ascharan schrieb:
Dann eben So

case WM_CTLCOLORSTATIC: if(hWnd, IDDEINEDIT == (HWND)lParam) { SetBkMode ((HDC) wParam, TRANSPARENT); SetBkColor ((HDC) wParam, RGB ( 255, 255, 255)); return (long)CreateSolidBrush(RGB( 255, 255, 255)); } break;Ne dat ist Mist, da gibts GDI-Leaks
.