Einem Dialog eine Toolbar hinzufügen?
-
Hi forum,
hat vieleicht jemand Zeit mir kurz zu beschreiben wie ich einem Dialog eine Toolbar verpassen kann? Das an Beispielen was ich habe richtet sich alles auf CFrameWnd und damit komme ich halt nicht ganz klar?
Die Sysmbolleiste hab ich erstellt, eine Variable von Typ CToolBar ist auch drin, nur wie soll jetzt das erstellte auf dem Dialog gezeigt werden?
MFG
Mirsad
-
in CMyDlg::OnInitDialog:
m_toolBar.Create(this);erzeugt en Toolbar als Child Window des Dialogs.
Der Toolbar positioniert sich selbst (in Abhängigkeit der Styles, die du bei Create optional angeben kannst).Aber Achtung: Der Toolbar liegt im Cient Area, du mußt also in der Dialog-Resource oben genug Platz haben.
-
Hallo peterchen,
danke für die Hilfe, werde es gleich machen, ich dachte es geht so:// das steht in InitInstance() CTaskDlg dlg; m_pMainWnd = &dlg; //die Toolbar laden??? dlg.m_Symbolleiste.LoadToolBar(IDR_TOOLBAR1);
mfg
Mirsad
-
IIRC erst Create, dann Load
(Create erstellt das Toolbarctrl-Window, und Load lädt die resourcen)
-
Ich habe den vorherigen Posting gelöscht da er nicht so zum Thema passte und ich das Problem auch gelöst habe, jetzt bleibt noch die Toolbar zu implementieren!
Mirsad
-
Ok, habs gefunden, ich hatte in dem Dialog ein Menue, das hab ich gelöscht aber in den Dialogeigenschafen nicht das Menue zurückgesetzt, so das beim dlg.DoModal() das Menue nicht gefunden werden konnte!
sorry Leute ich wollte niemanden "zutexten"!
mfg
mirsad
-
Na ganz so einfach ist es ja doch nicht?! Oder? Oder ist das nur bei mir so ???
m_Toolbar.Create(this); m_Toolbar.LoadToolBar(IDR_MAINFRAME); // Oder so, aber auch kein Erfolg //m_Toolbar.Create(this,WS_CHILD | WS_VISIBLE | CBRS_TOP, IDR_MAINFRAME);
Ähm, da passiert jetzt noch nichts..
, hab ich was vergessen, kommt noch was mit rein, muß ich das Bitmap auch mit irgendwo setzen?
danke
mirsad
-
IDR_MAINFRAME ist eine Toolbar-Resource?
-
Hallo peterchen,
die FAQ mal durchsuchen kann wunder wirken, hab es in dort gefuden!
Grüße
Mirsad
-
Link?
Oder mal in meinen eigenen Code
Aber ich arbeite direkt mit einem CToolBarCtrl, und einer TBBUTTON-Liste.
-
Hi, stimmt, aber das war ein bisschen zu wenig denn das Toolbar wird nicht angezeigt mit nur:
m_Toolbar.Create(this); m_Toolbar.LoadToolBar(IDR_MAINFRAME);
aber wenn noch danach:
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST,0);
gesetzt wird dann schon
und das ganze ist jetzt:m_Toolbar.Create(this); m_Toolbar.LoadToolBar(IDR_MAINFRAME); m_Toolbar.ShowWindow(SW_SHOW); m_Toolbar.SetBarStyle(CBRS_ALIGN_TOP | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC); RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST,0);
na wenigstens werden die schaltflächen jetzt angezeigt...
mfg
mirsad