查看源代码 wxFilePickerCtrl (wx v2.4.3)
此控件允许用户选择文件。
通用实现是一个按钮,点击时会弹出wxFileDialog
。原生实现可能有所不同,但通常是一个(小的)小部件,用于访问文件选择对话框。只有在wxUSE_FILEPICKERCTRL
设置为 1(默认)时才可用。
样式
此类支持以下样式
wxFLP_DEFAULT_STYLE:默认样式:包括 wxFLP_OPEN | wxFLP_FILE_MUST_EXIST,以及在 wxMSW 和 wxOSX 下的 wxFLP_USE_TEXTCTRL。
wxFLP_USE_TEXTCTRL:在选择器按钮的左侧创建一个文本控件,该控件完全由
wxFilePickerCtrl
管理,用户可以使用它来指定路径(请参阅 SetPath)。文本控件会自动与按钮的值同步。使用wxPickerBase
中定义的函数来修改文本控件。wxFLP_OPEN:创建一个选择器,允许用户选择要打开的文件。
wxFLP_SAVE:创建一个选择器,允许用户选择要保存的文件。
wxFLP_OVERWRITE_PROMPT:只能与 wxFLP_SAVE 组合使用:在选择文件之前向用户请求确认。
wxFLP_FILE_MUST_EXIST:只能与 wxFLP_OPEN 组合使用:在弹出
wxFileDialog
中选择的文件必须是现有文件。请注意,如果也使用了wxFLP_USE_TEXTCTRL
,用户仍然可以在文本控件中输入不存在的文件名,此标志是对用户的提示,而不是保证程序所选文件确实存在。wxFLP_CHANGE_DIR:在每次用户选择文件更改时更改当前工作目录。
wxFLP_SMALL:使用较小版本的控件,使用小“...”按钮而不是普通的“浏览”按钮。此标志是自 wxWidgets 2.9.3 以来的新功能。
参见
此类派生自以下类,可以使用这些类的函数:
wxWidgets 文档:wxFilePickerCtrl
事件
从此类发出的事件类型
摘要
类型
-type wxFilePickerCtrl() :: wx:wx_object().
函数
-spec create(This, Parent, Id) -> boolean() when This :: wxFilePickerCtrl(), Parent :: wxWindow:wxWindow(), Id :: integer().
-spec create(This, Parent, Id, [Option]) -> boolean() when This :: wxFilePickerCtrl(), Parent :: wxWindow:wxWindow(), Id :: integer(), Option :: {path, unicode:chardata()} | {message, unicode:chardata()} | {wildcard, unicode:chardata()} | {pos, {X :: integer(), Y :: integer()}} | {size, {W :: integer(), H :: integer()}} | {style, integer()} | {validator, wx:wx_object()}.
使用给定的参数创建此小部件。
如果控件成功创建,则返回 true,如果创建失败,则返回 false。
-spec destroy(This :: wxFilePickerCtrl()) -> ok.
销毁对象
-spec getPath(This) -> unicode:charlist() when This :: wxFilePickerCtrl().
返回当前所选文件的绝对路径。
-spec new() -> wxFilePickerCtrl().
-spec new(Parent, Id) -> wxFilePickerCtrl() when Parent :: wxWindow:wxWindow(), Id :: integer().
-spec new(Parent, Id, [Option]) -> wxFilePickerCtrl() when Parent :: wxWindow:wxWindow(), Id :: integer(), Option :: {path, unicode:chardata()} | {message, unicode:chardata()} | {wildcard, unicode:chardata()} | {pos, {X :: integer(), Y :: integer()}} | {size, {W :: integer(), H :: integer()}} | {style, integer()} | {validator, wx:wx_object()}.
初始化对象并使用所有参数调用create/4
。
-spec setPath(This, Filename) -> ok when This :: wxFilePickerCtrl(), Filename :: unicode:chardata().
设置当前所选文件的绝对路径。
如果控件使用wxFLP_FILE_MUST_EXIST
且不使用wxFLP_USE_TEXTCTRL
样式,则filename
必须是现有文件的名称,如果不是这种情况,原生 wxGTK 实现将简单地忽略它(在其他平台下使用的通用实现目前甚至接受无效的文件名,但这在未来可能会更改,请不要依赖于能够使用它来使用不存在的路径)。