0

我正在尝试使用来自 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 工作。

4

1 回答 1

0

您的代码对我有用,尽管我不确定您所说的“_binf.pidlRoot”是什么意思。你期望代码做什么,它实际上做什么?您发布的部分之前或之后是否有任何代码?这可能会影响事情...

于 2013-08-20T16:26:46.817 回答