我正在尝试使用fltk 1.3中的Fl_Native_File_Chooser,除了设置起始目录外,该类工作正常。
const char *start_dir = "C:\\Program Files (x86)";
Fl_Native_File_Chooser native(Fl_Native_File_Chooser::BROWSE_DIRECTORY);
native.directory( start_dir );
native.title( "Select a directory");
native.type(Fl_Native_File_Chooser::BROWSE_DIRECTORY);
std::string directoryName;
switch ( native.show() )
{
case -1: break; //fprintf(stderr, "ERROR: %s\n", native.errmsg()); break; // ERROR
case 1: break; //fprintf(stderr, "*** CANCEL\n"); fl_beep(); break; // CANCEL
default: // PICKED FILE
if ( native.filename() ) directoryName = native.filename();
break;
}
std::cout << directoryName << std::endl;
我查看了代码。 在Fl_Native_File_Chooser_WIN32.cxx和int Fl_Native_File_Chooser :: showdir() 我不明白为什么没有设置_binf.pidlRoot。 我看过Fl_Native_File_Chooser :: showfile()但是拨号设置的方式不同。
当您浏览目录时,有没有人成功设置Fl_Native_File_Chooser的启动目录?
对我来说奇怪的是普通的Fl_File_Chooser可以工作。
答案 0 :(得分:0)
你的代码适合我,虽然我不确定你的意思是“_binf.pidlRoot”。 你期望代码做什么,它实际上做了什么?您发布的部分之前或之后是否有任何代码?这可能会影响事情......