edit control selbst zeichnen
-
Hallo, ich will ein Edit-Control selbst zeichnen, momentan mach ich das so:
case WM_CTLCOLOREDIT: { RECT rc; HGDIOBJ old_brush = NULL; HGDIOBJ old_pen = NULL; GetWindowRect((HWND)lParam, &rc); SetBkMode((HDC)wParam, TRANSPARENT); // Texthintergrund auf transparent setzen SetTextColor((HDC)wParam, RGB(255,255,255)); // Textfarbe auf Weiss setzen SelectObject((HDC)wParam, myfont); old_brush = SelectObject((HDC)wParam, CreateSolidBrush(RGB(84, 65, 171))); old_pen = SelectObject((HDC)wParam, p_bt_border); Rectangle((HDC)wParam, 0, 0, rc.right - rc.left, rc.bottom - rc.top); DeleteObject(SelectObject((HDC)wParam, old_brush)); SelectObject((HDC)wParam, old_pen); return (LRESULT)GetStockObject(NULL_BRUSH); } break;Das funktioniert zwar soweit aber ich hab noch 2 Probleme:
1. Wenn ich den Text im edit-control markiere wird er mit der Standardschrift dargestellt!
2. Wird die markierung wieder aufgehoben kommt es vor dass diese Teile des Textes überhaup nicht mehr dargestellt werden!
Wie kann ich dagegen machen?