RichEdit XP Style anpassen
-
Also ich ahbe meiner anwendung XP Style gegeben mit der manifest datei alles uch wunderschön bis uff dat RichEditCtrl. Alle Controls werden angepasst nur RichEditCtrl nicht kann mir jemand sagen ob das irgendwie geht?
-
ich mein codeproject.com oder codeguru.com hätte, sich jemand mit auseinander gesetzt... musst de mal gucken...
Devil
-
Hai, also ich ahbe mir diese lösung mal angeschaut und finde sie recht umständlich meine lösung is ziemlich simpel und für alle die dat uch mal brauchen hier:
Also als erstes eine Klasse von CRichEditCtrl ableiten. Dann erzeugt überschreibt ihr die Funktion WM_NCPAINT mit folgendem code:CClientDC dc(this); CRect rect; DWORD dwResult = GetSysColor(COLOR_ACTIVECAPTION); GetWindowRect(rect); CPen pen; pen.CreatePen(PS_SOLID,1,RGB(GetRValue(dwResult),GetGValue(dwResult),GetBValue(dwResult))); dc.SelectObject(&pen); dc.Rectangle(-1,-1,rect.Width()+1,rect.Height()+1);
Das war es schon und fertig ist der XP style border. Er passt sich natürlich auch jedem theme wechsel an. Der einzige anchteil wenn ihr den Win95 look anhabt dann macht er keinen ClientEdge. Liegt daran das er durch das überschreiben von NCPaint keinerlei border malt. Vieleicht kennt ja jemand auch dafür ne lösung. Man müste eben zur not selber das Client Edge malen. Den code müst ihr euch dann selber rausfummeln wegen der farben falls jemand noch lösung hat oder eben nen code für das ClientEdge dann kann er ja posten.