Hintergrundfarbe in ComboBox klappt nur bedingt.
-
Das ist eine Standardmethode von pDC.
Wenn Du pDC-> eingibst, öffnet sich dein Vervollständigungsfenser.
Da ist es schon drin.
Zumindest unter C++.NETSiehe auch MSDN.
MFC Library Reference
CDC::SetDCBrushColorSets the current device context (DC) brush color to the specified color value.
COLORREF SetDCBrushColor(
COLORREF crColor
);
Parameter
crColor
Specifies the new brush color.
Return ValueNonzero if the function is successful; otherwise 0.
RemarksThis member function emulates the functionality of the function SetDCBrushColor, as described in the Platform SDK.
-
Das hat denselben Effekt wie bei mir!
Die Combobox ist vom Rahmen her Farblich! Der Inhalt bleibt weiss!
Es sollte aber die ganze Combobox Farblich sein!
-
Na dann änder doch einfach die farben von white_brush.
statt
white_brush.CreateSolidBrush(RGB(255,255,255));
machst du
white_brush.CreateSolidBrush(RGB(255,0,0));
und siehe da es werde rot.
-
Trikor schrieb:
Na dann änder doch einfach die farben von white_brush.
statt
white_brush.CreateSolidBrush(RGB(255,255,255));
machst du
white_brush.CreateSolidBrush(RGB(255,0,0));
und siehe da es werde rot.
Hast du das ganze mal mit einer Combobox versucht?
Wie gesagt der Rahmen geht! Der Rest nicht!
-
Stell mal in den eigenschaften von Dropdown-Listenfeld auf Dropdown.
Dann ist es komplett farbig.
Bei Dropdown-Listenfeld ist leider der erste Eintrag immer weiß, alle anderen farbig.
Aber das war ja auch mein Problem aus dem ursprünglichen posting.Weil ich nun ein Dropdown-Listenfeld in meiner Combobox benötige, lasse ich diese weiß.
-
Trikor schrieb:
Stell mal in den eigenschaften von Dropdown-Listenfeld auf Dropdown.
Dann ist es komplett farbig.
Bei Dropdown-Listenfeld ist leider der erste Eintrag immer weiß, alle anderen farbig.
Aber das war ja auch mein Problem aus dem ursprünglichen posting.Weil ich nun ein Dropdown-Listenfeld in meiner Combobox benötige, lasse ich diese weiß.
Die Combobox hat als Type Dropdown und nicht DropList!
Es funktioniert nicht!
-
bekommst du irgendeine fehlermeldung?
Wenn ja, dann welche.
Wenn nein, dann poste mal Code vom Konstruktor und von OnCtlColor.
-
Trikor schrieb:
bekommst du irgendeine fehlermeldung?
Wenn ja, dann welche.
Wenn nein, dann poste mal Code vom Konstruktor und von OnCtlColor.
//Id der Combobox
if ( DlgCtrlID == IDC_VPD_WERT_BOX )
{
//Alter brush gelöscht
::DeleteObject( hbr );
int dRowColor = DCRGBWert::getColorRef(STR_COLOR_RED);
hbr = ::CreateSolidBrush(dRowColor);
pDC->SetBkColor(dRowColor);
return hbr;
}
-
In der OnCtlColor mußt du schon die übergebenen Variablen und Pointer nutzen.
Dementsprechend muß deine if-Anweisung so lauten.if(pWnd->GetDlgCtrlID() == IDC_VPD_WERT_BOX) { CBrush brRed; brRed.CreateSolidBrush(RGB(255,0,0)); pDC->SetDCBrushColor(brRed)); pDC->SetBkColor(brRed); hbr = (HBRUSH) brRed; } return hbr;
ist nicht getestet sollte aber funktionieren.
-
Hallo,
die funktion SetDCBrushColor()
get die nur in .net oder bekomme ich das auch in VC++6.0 hin?MfG TaccoGo
-
kann ich dir leider nicht sagen.
Aber lass sie mal weg, dann müßte der Hintergrund trotzdem rot sein.
Der Rand hat dann halt die Systemfarbe, dürfte aber eigentlich nicht weiter schlimm sein.
-
get aber nicht?
if (pWnd->GetDlgCtrlID()== IDC_COMBO2||pWnd->GetDlgCtrlID()== IDC_COMBO1||pWnd->GetDlgCtrlID()== IDC_annoJustify) { pDC->SetTextColor(RGB(0,0,0)); pDC->SetBkColor(RGB(255,255,255)); hbr = (HBRUSH)white_brush; }
es bleibt bei mir schwartz und ich möchte es weiss haben
MFG TaccoGo
-
ich habe gerade festgestelt das wen du pDC->SetBkColor() benutzt dan dien ziel erreichst.
aber wen man aufklap dan hat es die falsche farbe.
MFG TaccoGo
-
weis den nimand wie die farbe der combobox für das aufgeglapte(wo alle möglichen wahlmöglichkeiten stehen) änder kann?
MFG TaccoGo
-
Hi, ich habe gerade wegen meinem Färberoblem bei Edits rumgesucht und das hier gefunden:
http://www.codeproject.com/miscctrl/colorcontols.aspIm Demoprojekt ist auch die Klappliste rot.
Hoffe es hilft.
-
der macht doch in siener klasse nichts anders als ich... nur ich ohne klasse?
aber wo Klappliste färbt der die Klappliste?
MFG TaccoGo
-
Ich rätsel auch noch, wie das im Detail funktioniert.
Ich vermute, dass was du suchst steckt in dieser Zeile:
if( nCtlColor == CTLCOLOR_LISTBOX || nCtlColor == CTLCOLOR_EDIT || nCtlColor == CTLCOLOR_MSGBOX )
Ich habe das gerade mal durch die MSDN Suche geschickt, da gibt es einen Artikel, wie man Comboboxen färbt.
Wenn du ihn nicht findest Mail mir mal, dann kopier ich ihn raus.
-
bis jetzt habe ich das in der MSDN noch nicht gefunden
kanst es ja mal schieken.
MFG TaccoGo
-
Danke für die mal
das lag wirklich an der if.
ich habe es geschaft das er mir nicht die falsche farbe rein malt aber neandere kan ich noch nicht.brauch ich jetzt eigentlich auch nicht aber interesant ist es schon.
MFG TaccoGo