uses commdlg该单元是commdlg.pas不行再试试添加comdlg32.lib

解决方案 »

  1.   

    uses commdlg;//...........
    procedure TForm1.Button1Click(Sender: TObject);
    var tag : tagOFNA;
    begin
      //.............  if GetOpenFileName( tag ) then
        //.........
    end;
      

  2.   

    把鼠标放在 GetOpenFileName 上按F1即可看到
      

  3.   

    看msdn,搞清tagOFNA的意思就行了,有点钻研精神嘛
      

  4.   

    我把MSDN里的EXAMPLE复制到VC里也显示不出来。你在DELPHI里通过了?
      

  5.   

    你得先填充TOpenFilename记录变量:
    var
      Option: TOpenOption;
      OpenFilename: TOpenFilename;
    begin  FillChar(OpenFileName, SizeOf(OpenFileName), 0);
      with OpenFilename do
      begin
        lStructSize := SizeOf(TOpenFilename); // 这个很重要
        hInstance := SysInit.HInstance;
        lpstrFilter := ...;
        nFilterIndex := ...;
        nMaxFile := ...;
        lpstrFile := ...;
        hWndOwner := Application.Handle;
        ...
        if GetOpenFileName(OpenFileName) then
        begin
          ...
        end;
      end;