Ein Seitenfenster schaffen (aufklappen)
-
Hidiho,(Ich hasse es immer "Hallo" zu schreiben..komm mir schon doof vor
)man kennt ja diese Dialoge, die man nachträglich an seinen Hauptdialog
anhängen kann (ich meine nicht Dockingwindows).Wie könnte man sowas umsetzen? Ich möchte einen Button anlegen, der
links neben den Hauptdialog ein weiteres Dialogfeld anhängt.
Es muss sich nicht zwingend mit dem Hauptdialog mitbewegen beim Verschieben,
wäre aber toll wenn's ginge.Ich vermute ich muss die Koordinaten berechnen und das Fenster da hinbewegen.
Liege ich richtig, oder geht es noch ganz anders?
-
Meinst du sowas wie den Farbauswahl-Dialog bei MS Paint, wo man seitlich die komplette Farbpalette herausfahren kann? Wenn ja - da würde ich den anzuhängenden Teil schon (inaktiv) außerhalb der Dialogfläche bereitlegen und beim Buttonklick den Dialog per MoveWindow() vergrößeren und die neuen Elemente sichtbar schalten und aktivieren (ShowWindow(SW_SHOW) und EnableWindow(TRUE)).
-
Hi,
ich dachte es mir evtl. so:
m_pMyDlgPtr.Create(IDD_DIALOG1); m_pMyDlgPtr.ShowWindow(SW_SHOWNORMAL); m_pMyDlgPtr.SetWindowPos(NULL, 400, 10, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
-
Du kannst Dir einen CDialogBar bauen. Diese sind dockbar.
Wenn Du mehr von so etwas willst würde ich Dir dringend zu einer fertigen Bibliothek raten wie z.B. die BCG-Library Prof-UIS etc.
Es selber zu machen ist die Hölle...
-
Hallo Martin,
ich bin da leider nicht grad der Experte.
Ich erstelle also den Dialog weise ihm eine Klasse zu und rufe
dann mit .DoModal() auf(?).Hast du ggf. ein Beispiel für CDialogBar zur Hand? Codeproject/Codeguru
war da diesmal nicht besonders hilfreich.So soll es mal aussehen:
Äußeres Dockingfenster --> |Hauptanwendungsfenster|
Wie gesagt, es ist eine rein dialogbasierende Anwendung.
-
Vergiss die Dialog basierte Anwendung ganz schnell, wenn Du gedockte Fenster etc. haben möchtest!
Das Hauptfenster muss von CFrameWnd abgeleitet werden in diesem Fall.
Wenn Du kein Experte bist, dann sllte Dein erster Blick der MSDN gelten. Dort eine Blick auf die CDialogBar Doku liefert sofort:
http://msdn2.microsoft.com/en-us/library/4fta65sc(VS.80).aspxWenn Du in CodeProject/CodeGuru suchst findest Du mindestens 20 weitere Beispiele!
-
Hmm, ich kann ja das CDialogBar anzeigen, aber immer nur innerhalb
der Dialoganwendung
Codeproject hatte soweit ich es überblicken konnte auch nur
Beispiele für MDI/SDI, oder ich brauch ne Brille.
Ich bleibe wohl bei meiner Eingangslösung und habs halt nicht dockbar.
Dennoch vielen Dank für die Bemühungen.
Gruß
Kunibert
-
Nachmal ganz langsam zum mitschreiben:
Du benötigst eine SDI/MDI Anwendung. Vergiss eine CDialog basierende Anwendung bitte ganz schnell!