Matthes Geschrieben 5. Februar 2004 Geschrieben 5. Februar 2004 Hallo, ich versuche einer Toolbar zur Laufzeit einen neuen Button hinzuzufügen. Das Bild des Buttons soll aus einer Bitmapdatei aus den Resourcen ausgelesen werden. Das ganze habe ich wie folgt realisiert: CToolBar *_wndToolBar = &((CMainFrame*)GetParent())->m_wndToolBar; CToolBarCtrl *_ctrlToolBar = &_wndToolBar->GetToolBarCtrl(); int nButCount = _ctrlToolBar->GetButtonCount(); _ctrlToolBar->AddBitmap(1,IDB_BITMAP1); int nStringCount = _ctrlToolBar->AddStrings("Test"); int nImgCount = _ctrlToolBar->GetImageList()->GetImageCount(); TBBUTTON tb; tb.iBitmap = nImgCount-1; tb.idCommand = ID_TEST; tb.fsState = TBSTATE_ENABLED; tb.fsStyle = TBSTYLE_BUTTON; tb.dwData = 0; tb.iString = nStringCount; _ctrlToolBar->InsertButton(nButCount, &tb); [/PHP] Das ganze klappt aber leider nur so halb: Wenn die Methode durchlaufen wurde, sieht man erstmal gar keine Veränderung, klickt man aber auf die Toolbar, so wird der neue Button sichtbar. Gibt es irgendeine Methode mit der die Anzeige der Toolbar aktualisiert wird? Ich habe es schon mit _ctrlToolBar->RedrawWindow und mit _ctrlToolBar->AutoSize() versucht, leider ohne Erfolg. Achso, ich benutze Visual C++ 6. Schonmal besten Dank im Voraus Matthes
Guybrush Threepwood Geschrieben 5. Februar 2004 Geschrieben 5. Februar 2004 UpdateWindow() sollte das Problem lösen.
Goos Geschrieben 5. Februar 2004 Geschrieben 5. Februar 2004 Hast auch schon ein Invalidate probiert? Goos
Matthes Geschrieben 5. Februar 2004 Autor Geschrieben 5. Februar 2004 Leider auch nicht. Ist der Teil in dem ich den Button hinzufüge denn OK? Vielleicht liegts ja auch daran :confused: Ich hab nämlich auch das komische Phänomen, dass die Buttons alle breiter werden, wenn ich einen zweiten Button neu einfüge.
Matthes Geschrieben 6. Februar 2004 Autor Geschrieben 6. Februar 2004 Das aktualisieran der Anzeige habe ich jetzt mit GetParentFrame()->RecalcLayout(); hinbekommen.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden