CFileDialog



  • Hallo.

    Kann man in dieses Standarddialogfenster noch zusätzlich
    Button hinzufügen?

    Ich muß für meine Anwendung die Funktionen von CFileDialog
    erweitern.
    Leider muß es unter WIN_32 und unter CE funktionieren.

    Oli



  • class CMyFileDialog : public CFileDialog {
    ...
    

    :p



  • Hallo.

    Ich habe schon eine Klasse von CFileDialog abgeleitet. Das habe ich unter WIN_32 und unter CE. Bei CE springt er leider nicht mal in die virtual Funktion OnInitDialog, obwohl sie völlig identisch sind.

    Wie kann ich den in so einen abgeleiteten Dialog Button hinzufügen und die Standardbutton auch noch behalten?

    Oli



  • Nen zusätzlichen Button würde ich einfach per CreateWindow("BUTTON",.. oder über Ein CButton::Create dazubastlen.

    Zu OnInitDialog: laut MSDN gibt es ne OnInitDialog auch auf Windows CE, das problem muss also irgendwo in deinem code sein 🤡



  • Ich habe die Funktion OnInitDialog wie folgt deklariert:

    protected:
      virtual BOOL OnInitDialog()
    

    In den Konstruktor meiner abgeleiteten Klasse kann ich noch debuggen, aber in OnInitDialog komme ich nicht mehr.

    Über die Funktion CButton::Create habe ich noch nie einen Button zur Laufzeit erstellt. Wie kann ich dann darauf reagieren, wenn er betätigt wird?

    Oli



  • CButton::Create

    BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );

    Du übergibts der Funktion als pParentWnd einen zeiger auf deine Dialog-Klasse und als nID ne schöne ID (z.B. IDB_MY_NICE_NEW_BUTON). Der Rest sollte dann gleich laufen wie mit nem anderen button auch.
    ON_BN_CLICKED(IDB_MY_NICE_NEW_BUTON, OnMyNiceNewButton) zur Messagemap hinzufügen und das wars.

    Zu InitDialog:

    Windows CE calls the OnInitDialog method through the standard global dialog-box procedure common to all Microsoft Foundation Class Library dialog boxes, rather than through the message map, so you do not need a message-map entry for this method.

    Das ich leider noch nie das vergügen hatte ein CE prog zu schreiben kann ich dir da leider auch net wirklich weiterhelfen. 😕



  • Hallo.

    Danke für Deine Informationen und Hilfe.

    Oli


Anmelden zum Antworten