xtd - Reference Guide  0.2.0
Modern c++17/20 framework to create console, GUI and unit test applications on Windows, macOS, Linux, iOS and android.
open_file_dialog.cpp

The following code example demonstrate the use of open_file_dialog dialog.

Windows
open_file_dialog_w.png

open_file_dialog_wd.png
macOS
open_file_dialog_m.png

open_file_dialog_md.png
Gnome
open_file_dialog_g.png

open_file_dialog_gd.png
#include <xtd/xtd>
using namespace std;
using namespace xtd;
using namespace xtd::forms;
class form1 : public form {
public:
form1() {
text("Open file dialog example");
controls().push_back(button1);
button1.location({10, 10});
button1.text("Open...");
button1.click += [&] {
dialog.initial_directory(!file_name.empty() ? io::path::get_directory_name(file_name) : environment::get_folder_path(environment::special_folder::desktop));
dialog.file_name(io::path::get_file_name(file_name));
dialog.filter("Text Files (*.txt)|*.txt|All Files (*.*)|*.*");
file_name = dialog.file_name();
label1.text(ustring::format("File = {}", file_name));
}
};
label1.parent(*this);
label1.text("File = ");
label1.auto_size(true);
label1.location({10, 40});
}
private:
label label1;
ustring file_name;
};
int main() {
application::run(form1());
}