ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
1361
1361
EMPFEHLEN
-
25.01.07 17:33 #1
Hallo an alle, ich möchte in meine Anwendung eine Toolbar einbauen, die Symbole mit 256 Farben beinhaltet.
Da arbeitet mir aber dieentgegen.Code cpp:1
m_wndToolBar.LoadToolBar()
Wie kann man es bewerkstelligen dass in der Toolbar 256 Farben angezeigt werden?
Ich arbeite mit MS Visual Studio 2005.
Habe schon auf codezone und codeguru nachgeschaut aber nur uralte Anleitungen gefunde, die alle nicht funktionieren. (Fehler wie "Failed to create empty document".)
mfg DR
-
Evt. hilft dir das weiter.
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
27.01.07 17:56 #3
Dankeschön aber irgendwie klappt das net, die Toolbar zeigt keine Veränderung:
Dekliration in mainframe.h:
Code cpp:1 2 3 4 5
... CToolBar m_Toolbar; CImageList *pImageList; CBitmap bmp; ...
in OnCreate in mainframe.cpp:
Code cpp:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||!m_wndToolBar.LoadToolBar(IDR_MAINFRAME)) { TRACE0("Symbolleiste konnte nicht erstellt werden\n"); return -1; // Fehler bei Erstellung } if (!m_wndStatusBar.Create(this) ||!m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT))) { TRACE0("Statusleiste konnte nicht erstellt werden\n"); return -1; // Fehler bei Erstellung } // TODO: Löschen Sie diese drei Zeilen, wenn Sie nicht möchten, dass die Systemleiste andockbar ist m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); DockControlBar(&m_wndToolBar); //Eigener Code: pImageList=m_wndToolBar.GetToolBarCtrl().GetImageList(); pImageList->DeleteImageList(); bmp.LoadBitmap(IDB_TOOLBARHI); pImageList->Create(320, 15, ILC_MASK | ILC_COLOR24, 28, 0); pImageList->Add(&bmp,RGB(255,0,255)); m_toolBar.GetToolBarCtrl().SetImageList(pImageList); return 0;
Und wenn ich zeile 28 durch
Code cpp:1
m_wndToolBar.GetToolBarCtrl().SetImageList(pImageList);
ersetze bleibt die Toolbar größenteils grau, und es lässt sich keinerlei Interaktion vornehmen.
Was mache ich falsch?
mfg DR
-
Beim Erzeugen der Image-List wird die Breite/Höhe für die Bildgröße pro Button angegeben. Die Höhe (15) wäre dann wohl ok und die Breite wäre dann Gesambreite/Anzahl (320/28), was allerdings bei deinen Werten ein krummes Ergebnis ergibt. Bei 256 Farben würde dann auch der Parameter-Wert "ILC_COLOR8" zutreffen.
Ein neues Toolbar-Objekt brauchst du nicht zu deklarieren. Das Bitmap wird bei dem vorhandenen "m_wndToolBar" ausgetauscht.
GrußCode cpp:1 2 3
pImageList->Create(15 /* ? */, 15, ILC_MASK | ILC_COLOR8, 28 /* ? */, 0); pImageList->Add(&bmp,RGB(255,0,255)); m_wndToolBar.GetToolBarCtrl().SetImageList(pImageList);
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
28.01.07 14:43 #5
Ok thx,
die Toolbar wird nun angezeigt, jedenfalls die Buttons mit 16 Farben(die auch mit der normalen Toolbar identisch sind), die anderen bleiben grau und bieten keine Interaktionsmöglichkeit...
Code cpp:1
pImageList->Create(16, 15, ILC_MASK | ILC_COLOR8, 20, 0);
Irgendwas klappt noch nicht.
mfg DR
-
28.01.07 22:26 #6
Also die Buttons in der Toolbar werden nur dann korrekt angezeigt, wenn sie aktiv sind.Wenn sie inaktiv sind, sehen sie nicht blass, sondern dann ist die ganze Fläche völlig grau,aber nur bei den Farben die nicht in den normalen 16 Farben enthalten sind, woran liegt das?
mfg DRGeändert von DigitalRevolution (28.01.07 um 22:50 Uhr)
-
30.01.07 15:52 #7
Naja habs jetz n bisschen anders geregelt.Aber wenn jmd. doch noch ne Lösung hat kann er sie ja trotzdem reinschreiben
mfg DR
-
"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
15.02.07 17:07 #9
Danke MCoder, werd's bei nächster Gelegenheit mal ausprobieren.
mfg
Ähnliche Themen
-
CS2 Farben Monitor vs. Farben Drucker
Von Ludger im Forum PhotoshopAntworten: 9Letzter Beitrag: 05.08.07, 22:22 -
Bild in Toolbar bzw. Toolbar-Button mit anderer Größe
Von sTEk im Forum VisualStudio & MFCAntworten: 0Letzter Beitrag: 01.11.06, 18:19 -
Toolbar mit mehr als 16 Farben?
Von mki_germo im Forum VisualStudio & MFCAntworten: 2Letzter Beitrag: 15.09.06, 08:54 -
XML + vB für Toolbar
Von MiSTRiXER im Forum XML TechnologienAntworten: 0Letzter Beitrag: 12.02.06, 22:36 -
Toolbar für IE
Von andreas_gierisch im Forum C/C++Antworten: 0Letzter Beitrag: 01.11.05, 10:34





Zitieren

Login






