ArcShowDialogProcW функция |
Начало Предыдущая Следующая |
Плагин может использовать эту функцию для вывода, как простого окна сообщения (например, окно About), так и окна с элементами диалога. Использование данной функции вместо собственных окон позволяет уменьшить размер плагина. Для использования данной функции плагин должен запомнить указатель на неё в ArcInitPluginW. Синтаксис C++
Параметры Session [in] Тип: LONG_PTR WinCaption [in] Тип: wchar_t* 0-терминированная строка, заголовок окна. FormattedText [in] Тип: wchar_t* 0-терминированная строка, текст сообщения в окне. Строка может записываться в специальном форматированном виде. ControlsDesc [in] Тип: wchar_t* 0-терминированная строка, описывающая элементы диалога окна. Пустая строка – элементы диалога в окне отсутствуют, иначе строка имеет специальный формат. ResultsBuffer [out, optional] Тип: wchar_t* Указатель на буфер юникод-строк (может быть NULL, если введенные пользователем значения отсутствуют или не интересуют). Строки отделяются друг от друга 0-символом. Каждая строка – это результат ввода в очередном элементе. Таким образом, в данном буфере количество строк равняется количеству элементов CheckBox, RadioButton, ComboBox и TextBox. Для CheckBox и RadioButton – это один символ: "1" – флажок установлен, "0" – не установлен. Для ComboBox без возможности редактирования – это число, номер выбранного текста в выпадающем списке, если ничего не выбрано – число -1. Для ComboBox с возможностью редактирования и TextBox – это введенная строка. В данную строку не попадают результаты выбора контролов Label, Space, CommandLink и Button. Их результаты попадают в результат самой функции ArcShowDialogProcW, а Label и Space просто не имеет результатов. pResultsBufferLen [in, out] Тип: int* На входе – это указатель на максимальную длина буфера ResultsBuffer в юникод-символах, на выходе – размер результирующего буфера (включая последний 0-символ). Если на выходе возвращается размер результирующего буфера больше максимального размера, то это означает, что в буфер не вместились все значения. В этом случае результирующие значения в буфере будут обрезаны (0-символа в конце может не быть). ImageIndex [in] Тип: int Картинка в окне сообщения:
Возвращаемое значение Тип: int В случае, если в окне присутствуют контролы CommandLink, то возвращается порядковый номер одного из этих контролов (начиная с 0). Если пользователь нажал одну из кнопок, то вернется порядковый номер кнопки с минусом (отсчет кнопок идет слева). Если пользователь нажал клавишу Esc или использовал кнопку закрытия окна, то вернется -1000. |