⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filepickerg.h

📁 很牛的GUI源码wxWidgets-2.8.0.zip 可在多种平台下运行.
💻 H
字号:
/////////////////////////////////////////////////////////////////////////////// Name:        wx/generic/filepickerg.h// Purpose:     wxGenericFileDirButton, wxGenericFileButton, wxGenericDirButton// Author:      Francesco Montorsi// Modified by:// Created:     14/4/2006// Copyright:   (c) Francesco Montorsi// RCS-ID:      $Id: filepickerg.h,v 1.8 2006/07/15 15:13:03 VS Exp $// Licence:     wxWindows Licence/////////////////////////////////////////////////////////////////////////////#ifndef _WX_FILEDIRPICKER_H_#define _WX_FILEDIRPICKER_H_#include "wx/button.h"#include "wx/filedlg.h"#include "wx/dirdlg.h"extern WXDLLEXPORT_DATA(const wxEventType) wxEVT_COMMAND_DIRPICKER_CHANGED;extern WXDLLEXPORT_DATA(const wxEventType) wxEVT_COMMAND_FILEPICKER_CHANGED;//-----------------------------------------------------------------------------// wxGenericFileDirButton: a button which brings up a wx{File|Dir}Dialog//-----------------------------------------------------------------------------class WXDLLIMPEXP_CORE wxGenericFileDirButton : public wxButton,                                                public wxFileDirPickerWidgetBase{public:    wxGenericFileDirButton() { }    wxGenericFileDirButton(wxWindow *parent,                           wxWindowID id,                           const wxString& label = wxFilePickerWidgetLabel,                           const wxString& path = wxEmptyString,                           const wxString &message = wxFileSelectorPromptStr,                           const wxString &wildcard = wxFileSelectorDefaultWildcardStr,                           const wxPoint& pos = wxDefaultPosition,                           const wxSize& size = wxDefaultSize,                           long style = 0,                           const wxValidator& validator = wxDefaultValidator,                           const wxString& name = wxFilePickerWidgetNameStr)    {        Create(parent, id, label, path, message, wildcard,               pos, size, style, validator, name);    }    virtual ~wxGenericFileDirButton() {}    virtual wxControl *AsControl() { return this; }public:     // overrideable    virtual wxDialog *CreateDialog() = 0;    virtual wxWindow *GetDialogParent()        { return GetParent(); }    virtual wxEventType GetEventType() const = 0;public:    bool Create(wxWindow *parent, wxWindowID id,           const wxString& label = wxFilePickerWidgetLabel,           const wxString& path = wxEmptyString,           const wxString &message = wxFileSelectorPromptStr,           const wxString &wildcard = wxFileSelectorDefaultWildcardStr,           const wxPoint& pos = wxDefaultPosition,           const wxSize& size = wxDefaultSize,           long style = 0,           const wxValidator& validator = wxDefaultValidator,           const wxString& name = wxFilePickerWidgetNameStr);    // event handler for the click    void OnButtonClick(wxCommandEvent &);protected:    wxString m_message, m_wildcard;};//-----------------------------------------------------------------------------// wxGenericFileButton: a button which brings up a wxFileDialog//-----------------------------------------------------------------------------#define wxFILEBTN_DEFAULT_STYLE                     (wxFLP_OPEN)class WXDLLIMPEXP_CORE wxGenericFileButton : public wxGenericFileDirButton{public:    wxGenericFileButton() {}    wxGenericFileButton(wxWindow *parent,                        wxWindowID id,                        const wxString& label = wxFilePickerWidgetLabel,                        const wxString& path = wxEmptyString,                        const wxString &message = wxFileSelectorPromptStr,                        const wxString &wildcard = wxFileSelectorDefaultWildcardStr,                        const wxPoint& pos = wxDefaultPosition,                        const wxSize& size = wxDefaultSize,                        long style = wxFILEBTN_DEFAULT_STYLE,                        const wxValidator& validator = wxDefaultValidator,                        const wxString& name = wxFilePickerWidgetNameStr)    {        Create(parent, id, label, path, message, wildcard,               pos, size, style, validator, name);    }public:     // overrideable    virtual long GetDialogStyle() const    {        long filedlgstyle = 0;        if (this->HasFlag(wxFLP_OPEN))            filedlgstyle |= wxFD_OPEN;        if (this->HasFlag(wxFLP_SAVE))            filedlgstyle |= wxFD_SAVE;        if (this->HasFlag(wxFLP_OVERWRITE_PROMPT))            filedlgstyle |= wxFD_OVERWRITE_PROMPT;        if (this->HasFlag(wxFLP_FILE_MUST_EXIST))            filedlgstyle |= wxFD_FILE_MUST_EXIST;        if (this->HasFlag(wxFLP_CHANGE_DIR))            filedlgstyle |= wxFD_CHANGE_DIR;        return filedlgstyle;    }    virtual wxDialog *CreateDialog()    {        wxFileDialog *p = new wxFileDialog(GetDialogParent(), m_message,                                    wxEmptyString, wxEmptyString,                                    m_wildcard, GetDialogStyle());        // this sets both the default folder and the default file of the dialog        p->SetPath(m_path);        return p;    }    wxEventType GetEventType() const        { return wxEVT_COMMAND_FILEPICKER_CHANGED; }protected:    void UpdateDialogPath(wxDialog *p)        { wxStaticCast(p, wxFileDialog)->SetPath(m_path); }    void UpdatePathFromDialog(wxDialog *p)        { m_path = wxStaticCast(p, wxFileDialog)->GetPath(); }private:    DECLARE_DYNAMIC_CLASS(wxGenericFileButton)};//-----------------------------------------------------------------------------// wxGenericDirButton: a button which brings up a wxDirDialog//-----------------------------------------------------------------------------#define wxDIRBTN_DEFAULT_STYLE                     0class WXDLLIMPEXP_CORE wxGenericDirButton : public wxGenericFileDirButton{public:    wxGenericDirButton() {}    wxGenericDirButton(wxWindow *parent,                       wxWindowID id,                       const wxString& label = wxDirPickerWidgetLabel,                       const wxString& path = wxEmptyString,                       const wxString &message = wxDirSelectorPromptStr,                       const wxPoint& pos = wxDefaultPosition,                       const wxSize& size = wxDefaultSize,                       long style = wxDIRBTN_DEFAULT_STYLE,                       const wxValidator& validator = wxDefaultValidator,                       const wxString& name = wxDirPickerWidgetNameStr)    {        Create(parent, id, label, path, message, wxEmptyString,               pos, size, style, validator, name);    }public:     // overrideable    virtual long GetDialogStyle() const    {        long dirdlgstyle = wxDD_DEFAULT_STYLE;        if (this->HasFlag(wxDIRP_DIR_MUST_EXIST))            dirdlgstyle |= wxDD_DIR_MUST_EXIST;        if (this->HasFlag(wxDIRP_CHANGE_DIR))            dirdlgstyle |= wxDD_CHANGE_DIR;        return dirdlgstyle;    }    virtual wxDialog *CreateDialog()    {        return new wxDirDialog(GetDialogParent(), m_message, m_path,                                   GetDialogStyle());    }    wxEventType GetEventType() const        { return wxEVT_COMMAND_DIRPICKER_CHANGED; }protected:    void UpdateDialogPath(wxDialog *p)        { wxStaticCast(p, wxDirDialog)->SetPath(m_path); }    void UpdatePathFromDialog(wxDialog *p)        { m_path = wxStaticCast(p, wxDirDialog)->GetPath(); }private:    DECLARE_DYNAMIC_CLASS(wxGenericDirButton)};#endif // _WX_FILEDIRPICKER_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -