Farbe eines Rahmen (WS_BORDER) ändern
-
Hi Jungs und Mädels,
hat jemand ne Idee wie ich die Farbe ines Rahmen ändere, der Rahmen wird mit dem Window Style WS_BORDER erstellt. Das ganze ist ein CStatic, aber dder Rahmen ist immer schwarz.
Wäre super wenn ihr mir antworten könntet , danke.
-
hmm, weiß keiner was?
Ok ich werd mal genauer beschreiben welchen Rahmen ich meine. Wenn ihr zum Beispiel im Dialogfedl Editor ein Static reinmacht, und bei den Styles Rahmen(Border) wählt, diesen meine ich. Der ist immer schwarz, kann man die farbe auch ändern?
-
-
Was glaunbst was ich benutze, ich benutze diese klasse, aber mann kann trotzdem nicht die farbe ändern, die klasse setzt ja auch nur den style WS_BORDER
-
/me wusste das nicht .. laut Screenshots sah es halt anders aus
CMyStatic::OnNcPaint() { if( GetStyle() & WS_BORDER) { CWindowDC dc( this); CPen pen( PS_SOLID, 1, MeineRahmenFarbe); CPen *pOldPen = dc.SelectObject( &pen); CRect rc; GetWindowRect( rc); ScreenToClient( rc); dc.Rectangle( rc); dc.SelectObject( pOldPen); return; } CStatic::OnNcPaint(); }
-
Jo so könnte man des natürlioch auch machen. Vielen Danke für die Mühe.
-
Ist es auch möglich das rechteck nicht zu füllen, also laut MSDN wird immer der aktuelle Brush genutzt, kann ich den auch TRANPARENT machen