1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Диалог выбора папки

Тема в разделе "Работа с API", создана пользователем morpheus, 5 июн 2008.

  1. morpheus

    morpheus скриптописец

    Репутация:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    3.915
    Симпатии:
    1
    В Notes нету стандартого дилога для выбора папки. Оказываеться всё просто решаетьс
    з.ы. в лотусе етсь диалог в котором можно показать ТОЛЬКО папки notesUIWorkspace SaveFileDialog где первый параметр будет равен True


    а это можно использовать в лотусе ниже 5ки
    (Declarations)
    Код:
    Const BIF_RETURNONLYFSDIRS = 1
    Const BIF_DONTGOBELOWDOMAIN = 2
    Const MAX_PATH = 260
    Type BrowseInfo
    hWndOwner As Long
    pIDLRoot As Long
    pszDisplayName As Long
    lpszTitle As String
    ulFlags As Long
    lpfnCallback As Long
    lParam As Long
    iImage As Long
    End Type
    Declare Function SHBrowseForFolder Lib "shell32" Alias "SHBrowseForFolderA" (lpbi As BrowseInfo ) As Long
    Declare Function SHGetPathFromIDList Lib "shell32" Alias "SHGetPathFromIDListA" ( Byval pidList As Long, Byval lpBuffer As String ) As Long
    Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( Byval lpClassName As Any, Byval lpWindowName As Any ) As Long

    И создаём такую функцию, где
    dialogPrompt - то что будет написано в диалоге выбора
    результатом выполнения функции будет полный путь к папке

    Код:
    Function ChooseFolder ( dialogPrompt As String ) As String
    Dim lpIDList As Long
    Dim sBuffer As String * 255
    Dim sReturnVal As String
    Dim szTitle As String
    Dim tBrowseInfo As BrowseInfo
    
    sBuffer = String ( Len ( sBuffer ) , Chr(0) )
    szTitle = dialogPrompt
    tBrowseInfo.hWndOwner = FindWindow ( "notes", &H0 )
    tBrowseInfo.lpszTitle = szTitle
    tBrowseInfo.ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
    lpIDList = SHBrowseForFolder ( tBrowseInfo )
    
    If ( lpIDList ) Then
    SHGetPathFromIDList lpIDList, sBuffer
    ChooseFolder = Left ( sBuffer, Instr ( sBuffer, Chr(0) ) - 1)
    End If
    End Function
    источник - тут
     
Загрузка...

Поделиться этой страницей