6. Интерфейс пользователя

DragFilesToOS(Files, Effects: Array; OnDrop: TbtkScriptOperationObject=nil): TbtkDropEffect

Метод инициализирующий перетаскивание (Drag&Drop) файлов средствами операционной системы.

Может быть вызван, к примеру, в обработчике OnCanStartDrag в мануальном режиме DragAndDrop(свойство выборки “Начало перетаскивания” = “Ручной”).

Parameters:
  • Files (Array) – массив (или одна строка) имён файлов (с полным путём), файлы не обязаны существовать на момент начала перетаскивания.
  • Effects (Array) – массив(или одно значение) допустимых действий в результате перетаскивания, если выбрано несколько - пользователь может выбрать желаемое действие завршив перетаскивание отпусканием правой кнопки мыши - вывалится меню. Порядок элементов в массиве не имеет никакого значения.
  • OnDrop (TbtkScriptOperationObject) –

    Параметр не обязательный.

    Операция-обработчик, вызывается в тот момент, когда пользователь отпустил кнопку мыши, до того как операционнкая система совершит манипуляции над указанными перетаскиваемыми файлами. В этой операции можно создать файлы над которыми будут совершены указанные действия, если указанные при инициализации процесса файлы ещё не существуют. Операция выполняется в том же контексте что и операция вызвавшая метод DragFilesToOS.

    Параметры обработчика:

    Args: TbtkNamedArgs, содержит поля:

    • FileNames: array of string - файлы(с указанием полных путей) к которым будет применён эффект перетаскивания.
    • DropEffect: TbtkDragEffect - выбранный пользователем эффект.
Return type:

TbtkDropEffect

GetShiftState(Key: Integer): Boolean

Метод позволяет определить нажата ли в данный момент одна из функциональных клавиш (Alt, Ctrl, Shift)

Parameters:Key (Integer) – Код клавиши: ssCtrl, ssAlt, ssShift
Return type:Boolean
Пример использования
<PASCAL>
  Ctrl := GetShiftState(ssCtrl);
  Alt := GetShiftState(ssAlt);
  Shift := GetShiftState(ssShift);

  if Ctrl then
    ShowMessage('Нажат Ctrl');

  if Alt then
    ShowMessage('Нажат Alt');

  if Shift then
    ShowMessage('Нажат Shift');
</PASCAL>
ScreenShot: TbtkScriptScreenShotObject

Создает объект типа TbtkScriptScreenShotObject.

Аттрибут только для чтения

Return type:TbtkScriptScreenShotObject

6.1. TbtkScriptScreenShotObject

class TbtkScriptScreenShotObject

Создание снимков окна и экрана

PrintWindowClientArea(Form: TbtkScriptFormObject = ActiveForm): TbtkScriptBitMapImageObject

Сделать снимок рабочей области заданного окна. Без заголовка окна, системного меню и границ окна.

Parameters:Form (TbtkScriptFormObject) – Окно
Return type:TbtkScriptBitMapImageObject
PrintWindow(Form: TbtkScriptFormObject = ActiveForm): TbtkScriptBitMapImageObject

Сделать снимок заданного окна. Вместе с заголовком, системным меню и границами окна.

Parameters:Form (TbtkScriptFormObject) – Окно
Return type:TbtkScriptBitMapImageObject
Пример использования
<Pascal>
  bmp := ScreenShot.PrintWindow;
  jpgImg := BitMapToJpeg(bmp);
  jpgImg.SaveToFile('Window.jpg');
</Pascal>
PrintScreen(): TbtkScriptBitMapImageObject

Сделать снимок всего рабочего стола.

Return type:TbtkScriptBitMapImageObject
Пример использования
<Pascal>
  bmp := ScreenShot.PrintScreen;
  jpgImg := BitMapToJpeg(bmp);
  jpgImg.SaveToFile('Screen.jpg');
</Pascal>

6.2. TbtkDropEffect

class TbtkDropEffect

Перечисление. OLE Drag&Drop эффект бросания файла

deMove
deCopy
deNone

6.3. TDropEffect (Deprecated)

class TDropEffect

Перечисление. Определяет поведение при обмене файлами между процессами

deMove
deCopy
deNone

6.4. Буфер обмена

GetClipboardAsText(): String

Метод возвращает содержимое буфера обмена в текстовом представлении.

Return type:String
GetClipboardAsSylk(): String

Метод возвращает содержимое буфера обмена в формате SYLK. Используется для получения полной информации о данных, скопированных из Excel, таблиц Word и т.д.

Return type:String
CreateSYLKBufHelper(Buf: String=Clipboard sylk buf): TbtkMicrosoftSYLKHelper

Возвращает обект, содержащий методы получения информации о данных в формате SYLK.

Parameters:Buf (String) – Строка в формате SYLK. Если аргумент не указан - берется значение из буфера обмена.
Return type:TbtkMicrosoftSYLKHelper
Пример использования
<PASCAL>
  excel := CreateOLEObject('Excel.Application');
  excel.Visible := False;
  workBook :=
  excel.WorkBooks.Open('D:\Belov\Problems\Xlsx\Test.xlsx');
  workBook.ActiveSheet.Range('A1:C3').Copy;
  sylkHelper := CreateSYLKBufHelper(GetClipboardAsSylk);
  str := 'RowCount: ' + VarToStr(sylkHelper.RowCount) + #13#10
   + 'ColCount: ' + VarToStr(sylkHelper.ColCount) + #13#10;

  for j := 0 to 2 do
    for i := 0 to 2 do
      str := str + '[' + VarToStr(i) + ',' + VarToStr(j) + '] = '
      + 'CellInternalValue: ' + sylkHelper.CellInternalValue(i, j)
      + '; CellValue: ' + VarToStr(sylkHelper.CellValue(i, j))
      + '; CellFormat: ' + VarToStr(sylkHelper.CellFormat(i, j)) + #13#10;

  ShowMessage(str);
  workBook := Null;
  excel.Quit;
  excel := Null;
</PASCAL>

6.4.1. TbtkMicrosoftSYLKFormat

class TbtkMicrosoftSYLKFormat

Перечисление

Возможные форматы ячеек SYLK:

msfDefault

Общий формат

msfNumerical

Числовой формат

msfExponent

Экспоненциальный формат

msfCurrency

Денежный формат

msfDateTime

Дата/время

msfPercent

Процентный формат

msfDollar

Финансовый формат

msfFractional

Дробный формат

msfText

Текстовый формат

6.4.2. TbtkMicrosoftSYLKHelper

class TbtkMicrosoftSYLKHelper

Класс позволяет получить информацию о данных в формате SYLK

ColCount: Integer

Количество столбцов данных в формате SYLK.

Return type:Integer
Пример использования
<PASCAL>
  excel := CreateOLEObject('Excel.Application');
  excel.Visible := False;
  workBook :=
  excel.WorkBooks.Open('D:\Belov\Problems\Xlsx\Test.xlsx');
  workBook.ActiveSheet.Range('A1:C3').Copy;
  sylkHelper := CreateSYLKBufHelper(GetClipboardAsSylk);
  str := 'RowCount: ' + VarToStr(sylkHelper.RowCount) + #13#10
    + 'ColCount: ' + VarToStr(sylkHelper.ColCount) + #13#10;

  for j := 0 to 2 do
    for i := 0 to 2 do
      str := str + '[' + VarToStr(i) + ',' + VarToStr(j) + '] = '
      + 'CellInternalValue: ' + sylkHelper.CellInternalValue(i, j)
      + '; CellValue: ' + VarToStr(sylkHelper.CellValue(i, j))
      + '; CellFormat: ' + VarToStr(sylkHelper.CellFormat(i, j)) + #13#10;

  ShowMessage(str);
  workBook := Null;
  excel.Quit;
  excel := Null;
</PASCAL>
RowCount: Integer

Количество строк данных в формате SYLK.

Return type:Integer
Пример использования
<PASCAL>
  excel := CreateOLEObject('Excel.Application');
  excel.Visible := False;
  workBook :=
  excel.WorkBooks.Open('D:\Belov\Problems\Xlsx\Test.xlsx');
  workBook.ActiveSheet.Range('A1:C3').Copy;
  sylkHelper := CreateSYLKBufHelper(GetClipboardAsSylk);
  str := 'RowCount: ' + VarToStr(sylkHelper.RowCount) + #13#10
    + 'ColCount: ' + VarToStr(sylkHelper.ColCount) + #13#10;

  for j := 0 to 2 do
    for i := 0 to 2 do
      str := str + '[' + VarToStr(i) + ',' + VarToStr(j) + '] = '
      + 'CellInternalValue: ' + sylkHelper.CellInternalValue(i, j)
      + '; CellValue: ' + VarToStr(sylkHelper.CellValue(i, j))
      + '; CellFormat: ' + VarToStr(sylkHelper.CellFormat(i, j)) + #13#10;

  ShowMessage(str);
  workBook := Null;
  excel.Quit;
  excel := Null;
</PASCAL>
CellValue(Col, Row: Integer): Variant

Фактическое значение ячейки, приведенное к соответствующему типу Variant.

Пример::
дата 20.02.1991. Возвращаемое значение: 20.02.1991 типа varDate

Attention

Формат SYLK имеет ограничение - 255 символов на ячейку (источник). При копировании ячеек, содержащих больший объем текста, этот текст будет обрезан до длины в 255 символов.

Parameters:
  • Col (Integer) – Индекс колонки, относительно первой среди данных, начиная с 0. Например, если данные скопированы из Excel, то значение Col соответствует индексу колонки относительно первой скопированной.
  • Row (Integer) – Индекс строки, относительно первой среди данных, начиная с 0. Например, если данные скопированы из Excel, то значение Row соответствует индексу строки относительно первой скопированной.
Return type:

Variant

Пример использования
<PASCAL>
  excel := CreateOLEObject('Excel.Application');
  excel.Visible := False;
  workBook :=
  excel.WorkBooks.Open('D:\Belov\Problems\Xlsx\Test.xlsx');
  workBook.ActiveSheet.Range('A1:C3').Copy;
  sylkHelper := CreateSYLKBufHelper(GetClipboardAsSylk);
  str := 'RowCount: ' + VarToStr(sylkHelper.RowCount) + #13#10
    + 'ColCount: ' + VarToStr(sylkHelper.ColCount) + #13#10;

  for j := 0 to 2 do
    for i := 0 to 2 do
      str := str + '[' + VarToStr(i) + ',' + VarToStr(j) + '] = '
      + 'CellInternalValue: ' + sylkHelper.CellInternalValue(i, j)
      + '; CellValue: ' + VarToStr(sylkHelper.CellValue(i, j))
      + '; CellFormat: ' + VarToStr(sylkHelper.CellFormat(i, j)) + #13#10;

  ShowMessage(str);
  workBook := Null;
  excel.Quit;
  excel := Null;
</PASCAL>
CellFormat(Col, Row: Integer): TbtkMicrosoftSYLKFormat

Формат ячеейки SYLK (подробнее см. TbtkMicrosoftSYLKFormat)

Parameters:
  • Col (Integer) – Индекс колонки, относительно первой среди данных, начиная с 0. Например, если данные скопированы из Excel, то значение Col соответствует индексу колонки относительно первой скопированной.
  • Row (Integer) – Индекс строки, относительно первой среди данных, начиная с 0. Например, если данные скопированы из Excel, то значение Row соответствует индексу строки относительно первой скопированной.
Return type:

TbtkMicrosoftSYLKFormat

Пример использования
<PASCAL>
  excel := CreateOLEObject('Excel.Application');
  excel.Visible := False;
  workBook :=
  excel.WorkBooks.Open('D:\Belov\Problems\Xlsx\Test.xlsx');
  workBook.ActiveSheet.Range('A1:C3').Copy;
  sylkHelper := CreateSYLKBufHelper(GetClipboardAsSylk);
  str := 'RowCount: ' + VarToStr(sylkHelper.RowCount) + #13#10
   + 'ColCount: ' + VarToStr(sylkHelper.ColCount) + #13#10;

  for j := 0 to 2 do
    for i := 0 to 2 do
      str := str + '[' + VarToStr(i) + ',' + VarToStr(j) + '] = '
      + 'CellInternalValue: ' + sylkHelper.CellInternalValue(i, j)
      + '; CellValue: ' + VarToStr(sylkHelper.CellValue(i, j))
      + '; CellFormat: ' + VarToStr(sylkHelper.CellFormat(i, j)) + #13#10;

  ShowMessage(str);
  workBook := Null;
  excel.Quit;
  excel := Null;
</PASCAL>
CellInternalValue(Col, Row: Integer): String

Внутреннее (строковое) значение ячейки в формате SYLK, без наложения форматирования.

Пример:

дата 20.02.1991. Возвращаемое значение: 33289

Attention

Формат SYLK имеет ограничение - 255 символов на ячейку (источник). При копировании ячеек, содержащих больший объем текста, этот текст будет обрезан до длины в 255 символов.

Parameters:
  • Col (Integer) – Индекс колонки, относительно первой среди данных, начиная с 0. Например, если данные скопированы из Excel, то значение Col соответствует индексу колонки относительно первой скопированной.
  • Row (Integer) – Индекс строки, относительно первой среди данных, начиная с 0. Например, если данные скопированы из Excel, то значение Row соответствует индексу строки относительно первой скопированной.
Return type:

String

Пример использования
<PASCAL>
  excel := CreateOLEObject('Excel.Application');
  excel.Visible := False;
  workBook :=
  excel.WorkBooks.Open('D:\Belov\Problems\Xlsx\Test.xlsx');
  workBook.ActiveSheet.Range('A1:C3').Copy;
  sylkHelper := CreateSYLKBufHelper(GetClipboardAsSylk);
  str := 'RowCount: ' + VarToStr(sylkHelper.RowCount) + #13#10
    + 'ColCount: ' + VarToStr(sylkHelper.ColCount) + #13#10;

  for j := 0 to 2 do
    for i := 0 to 2 do
      str := str + '[' + VarToStr(i) + ',' + VarToStr(j) + '] = '
      + 'CellInternalValue: ' + sylkHelper.CellInternalValue(i, j)
      + '; CellValue: ' + VarToStr(sylkHelper.CellValue(i, j))
      + '; CellFormat: ' + VarToStr(sylkHelper.CellFormat(i, j)) + #13#10;

  ShowMessage(str);
  workBook := Null;
  excel.Quit;
  excel := Null;
</PASCAL>

6.5. Диалоги

ShowMessageEx(Msg: String; ParamNames, ParamValues: Array)

Функция выводит сообщение в модальном окне. Отличием от ShowMessage является то, что в метод можно передать параметры.

Допустимые параметры:

“Scale”
Определяет размер шрифта в процентном соотношении. Новый размер расчитывается относительно размера используемого по умолчанию.
Parameters:
  • Msg (String) – Текст сообщения
  • ParamNames (Array) – Массив имен параметров
  • ParamValues (Array) – Массив значений параметров
Пример использования
<PASCAL>
  MessageEx('Двукратно увеличенное сообщение', ['Scale'], [200]);
</PASCAL>
MessageDlgEx(Msg: String; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Integer; ParamNames, ParamValues: Array): Variant

Метод открывает диалог с сообщением Msg и кнопками указанными в массиве Buttons. Метод возвращает результат TModalResult, согласно нажатой кнопке. Отличием от MessageDlg является то, что в метод можно передать параметры. Допустимые параметры:

“DefaultButton”
указывает, какая кнопка будет назначена кнопкой по умолчанию (на ней будет установлен фокус ввода при открытии диалога). В качестве значения параметра указывается порядковый номер кнопки, начиная с 1 (единицы).
“Scale”
определяет размер шрифта в процентном соотношении. Новый размер расчитывается относительно размера используемого по умолчанию. По умолчанию Scale равен 100.
Parameters:
  • Msg (String) – Текст сообщения
  • DlgType (TMsgDlgType) – Тип диалогового окна.
  • Buttons (TMsgDlgButtons) – Массив кнопок, которые требуется отобразить в диалоговом окне
  • HelpCtx (Integer) – Идентификатор окна контекстной справки данного окна, вызываемый по F1, либо по кнопке mbHelp. Если справочное окно не требуется, следует использовать 0.
  • ParamNames (Array) – Массив имен параметров
  • ParamValues (Array) – Массив значений параметров
Return type:

Variant

Пример использования
<PASCAL>
  case MessageDlgEx('да – нет - отмена '
  , mtWarning
  , [mbYes, mbNo, mbCancel], 0
  , ['DefaultButton', 'Scale'], [2, 150]
  ) of
    mrYes: ShowMessage('Да');
    mrNo: ShowMessage('Нет');
    mrOk: ShowMessage('Ok');
    mrCancel: ShowMessage('Отмена');
    mrAbort: ShowMessage('Отменить');
  end;
</PASCAL>
DesignEditButton(EditSettings: String): String

Метод вызывает диалог настройки редакторов. В качестве параметра метода передаётся строка содержащая текущие настройки. При закрытии диалога настройки по кнопке “OK” метод вернёт строку, содержащую настройку. Если диалог был закрыт по кнопке “Отмена”, метод вернёт пустую строку. Порядковый номер следования кнопки внутри массива определяет их порядок расположения. Слева на право. Та кнопка, имя которой было первой в массиве, будет крайней левой, последним в массиве - крайней правой.

Зарезервированы следующие имена кнопок:

Lookup#
Кнопка с тремя точками
Reset#
Кнопка сброса значения (крест)
OpenCard#
Открытие карточки (лист с ручкой)

Пользовательские кнопки могут иметь произвольные имена, отличающееся от зарезервированных и не должны оканчиваться символом #.

Parameters:EditSettings (String) – Cтрока содержащая текущие настройки редактора.
Return type:String
ShowButtonsDialog(Caption, Text: String; ColCount: Integer; Buttons: Variant; ImageList: String; FocusIndex: Integer): Integer

Данный метод вызывает диалоговое окно и возвращает номер нажатой кнопки. Нумерация кнопок начинается с 0. Если нажата клавиша ESC, то вернет -1.

Parameters:
  • Caption (String) – Заголовок окна.
  • Text (String) – Информационный текст для пользователя.
  • ColCount (Integer) – Количество кнопок в строке. Все кнопки выравниваются по левому краю. Если не задан, то изображений на кнопках не будет.
  • Buttons (Variant) –

    Массив кнопок. Каждая кнопка описывается вложенным массивом.

    Формат описания: ['Text', Imageindex, Enabled].

    Text
    Текст на кнопке
    Imageindex
    пиктограма, порядковый номер изображения в коллекции. Если значение равно -1, то кнопка будет без картинки.
    Enabled
    Активность кнопки.

    Последние 2 параметра необязательны. Если они не заданы, то кнопка будет без изображения и/или активна.

  • ImageList (String) – Системное имя коллекции изображения, откуда берутся пиктограмы кнопок.
  • FocusIndex (Integer) – Номер кнопки в фокусе. Если данная кнопка неактивна, то в фокусе будет первая активная кнопка.
Return type:

Integer

Пример использования
<pascal>
  ShowButtonsDialog('Перемещение', 'Вы действительно хотите переместить данный файл?',
    2, [['Переместить все', 0, False], ['Переместить', 1, true], ['Не перемещать', -1],
    ['Отмена']], 'ImageList', 2);

  case ShowButtonsDialog('Перемещение', 'Вы действительно хотите
  переместить данные файлы?', 2, [['Переместить все'], ['Переместить'],
  ['Не перемещать'], ['Отмена']]) of
    0: DoSomthing;
    1: DoSomthing;
    2: DoSomthing;
    3: DoSomthing;
  end;
</pascal>
ShowInfoForm(Message: String)

Отображает информационное сообщение с текстом Message. Сообщение будет видимо до тех пор, пока не будет вызван метод HideInfoForm. Если метод будет вызван повторно, но с другим текстом, текст сообщения будет изменён.

Parameters:Message (String) – Текст сообщения
HideInfoForm()

Скрывает информационное сообщение.

MessageDlg(Msg: String; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Integer): Integer

Показывает диалоговое окно с сообщением. Функция возвращает выбранный пользователем вариант ответа (нажатую кнопку). Возможные возвращаемые значения (в зависимости от того, какая кнопка из заданных нажата):

mbOk
возвращается mrOk
mbCancel
mrCancel
mbYes
mrYes
mbNo
mrNo
mbAbort
mrAbort
mbRetry
mrRetry
mbIgnore
mrIgnore
mbAll
mrAll
mbNoToAll
mrNoToAll
mbYesToAll
mrYesToAll

Можно использовать комбинацию клавиш CTRL + C для копирования текста сообщения в буфер обмена.

Parameters:
  • Msg (String) – Текст сообщение который будет выведен в диалоговом окне.
  • DlgType (TMsgDlgType) – Тип диалога.
  • Buttons (TMsgDlgButtons) – Массив кнопок, которые требуется отобразить в диалоговом окне.
  • HelpCtx (Integer) – Контекст помощи (пишите 0).
Return type:

Integer

Пример использования
<pascal>
  If MessageDlg('Удалить?', mtConfirmation, 'mbYes, mbNo', 0) = mrYes then
     Selection.Delete;
</pascal>
ShowProcessBar(Caption: String; Message: String; EventName: String; FinalValue: Integer)

Метод открывает модальное окно с полосой прогресса, которое слушает Pipe канал EventName. Сообщения, приходящие с сервера должны содержать число в диапазоне [0 .. FinalValue]. По приходу сообщения с числом равным или больше FinalValue, диалог будет закрыт. Если FinalValue = 0, то диалог будет закрыт при получении первого сообщения

Parameters:
  • Caption (String) – Заголовок окна
  • Message (String) – Текст сообщения
  • EventName (String) – Имя Pipe канала
  • FinalValue (Integer) – Финальное значение
InputBox(Caption, Prompt, Default: String): String

Функция выводит диалог с полем ввода текстовой строки. По умолчанию в поле отображается значение, переданное в параметре Default.

Если пользователь нажмёт в диалоге “ОК”, вернётся строка отображаемая в поле ввода. Если пользователь нажмёт в диалоге “Отмена”, вернётся пустая строка.

Parameters:
  • Caption (String) – Заголовок диалога.
  • Prompt (String) – Текст в диалоге, около поля ввода.
  • Default (String) – Текст по умолчанию.
Return type:

String

Пример использования 1
<pascal>
  r := InputBox('Введите строку', 'Тест метода InputBox', 'Значние по умолчанию');
  ShowMessage('Возвращена строка: ' + r);
</pascal>
Пример исползования 2:
<pascal>
  SystemName := Trim(InputBox('Ввод','Введите системное имя класса.' + #13#10+
   'Вы можете использовать символы % или * в конце для указания неизвестных символов.', ''));

  if SystemName <> '' then
  begin
    c := SystemName[length(SystemName)];
    if (c = '%') or (c = '*') then
    begin
      Delete(SystemName, length(SystemName), 1);
      f := [loCaseInsensitive, loPartialKey];
    end
    else
      f := [loCaseInsensitive];

    if not Selection.Locate('ssystemname', Systemname, f ) then
      MessageDlg('Не найдено', mtInformation, 'mbOk', 0 );
  end;
</pascal>
InputQuery(Caption, Prompt, Value: String): Boolean

Метод отображает диалог с полем ввода, позволяющем пользователю ввести строку. Если пользователь нажмёт кнопку «OK», функция вернёт True, а в переменную Value будет записана строка, введённая пользователем. Если пользователь нажмёт кнопку «Отмена», функция вернёт False.

Parameters:
  • Caption (String) – Заголовок диалога.
  • Prompt (String) – Текст в диалоге, около поля ввода.
  • Value (String) – Переменная, в которую будет записано введённое пользователем значение.
Return type:

Boolean

Пример использования
<PASCAL>
  v := 'Значние по умолчанию';
  if InputQuery('Введите строку', 'Тест метода InputBox', v) then
    ShowMessage('Возвращена строка: ' + v);
</PASCAL>
ShowMessage(Str: String): String

Функция выводит сообщение Str в модальном окне.

Parameters:Str (String) – Текст сообщения
Return type:String
SelectColor(Color: Integer): Variant

Метод принимает в качестве параметра Color исходный цвет. Если в диалоге будет нажата кнопка “OK” в эту переменную будет записано новое значение, а в качестве результата метод вернёт True. Если в диалоге была нажата кнопка “Отмена”, метод вернёт False.

Parameters:Color (Integer) – Исходное значение цвета
Return type:Variant
Пример использования
<PASCAL>
  C := $800000;
  if SelectColor(C) then
    ShowMessage('Выбран цвет: ' + VarToStr(C));
</PASCAL>
EditStyleDlg(Style: String): String

Метод вызывает диалог настройки стиля раскраски. Диалог позволяет выбрать существующий стиль, либо сформировать произвольный, задав шрифт текста, размер, начертание, цвет и фон текста. При закрытии модального окна настройки стиля по кнопки “OK” возвращаются настройки стиля в виде строки, если сформирован произвольный стиль, либо возвращается имя стиля из реестра, если выбран существующий стиль. При закрытии по кнопке “Отмена” будет возращена строка переданная в качестве параметра конструктору диалога. В качестве Style может выступать строка свойств стиля в виде "C=clred;FN=Terminal;FS=12;FC=$440033;FB=1;FI=1;FU=0;FO=1;", либо имя стиля. Передача всех свойств стиля в строке не обязательна.

С
Цвет фона
FN
название шрифта
FC
цвет шрифта
FS
размер шрифта

Свойства начертания, логического типа:

FB
жирный
FI
курсив
FU
подчеркнутый
FS
зачеркнутый
Parameters:Style (String) – Строка свойств стиля, либо имя стиля.
Return type:String
Пример использования
<pascal>
  EditStyleDlg('C=clred;FN=Terminal;FS=12;FC=$440033;FB=1;FI=1;FU=0;FO=1;');
  EditStyleDlg('Btk_AppStyle');
</pascal>

6.5.1. Файловые

AskFileNameForSave(DefaultFileName: String): String

Вызывают окно сохранения файла, если пользователь файл не выбрал, то возвращают пустую строку.

Parameters:DefaultFileName (String) – Полное имя файла по умолчанию, т.е. каталог, которые будет открываться в диалоге.
Return type:String
AskImageFileNameForSave(DefaultFileName: String): String

Вызывает окно сохранения файла-изображения, если пользователь файл не выбрал, то возвращают пустую строку.

Parameters:DefaultFileName (String) – Полное имя файла по умолчанию, т.е.каталог, которые будет открываться в диалоге.
Return type:String
AskFileNameForOpen(DefaultFileName: String): String

Вызывают окно открытия файла, если пользователь файл не выбрал, то возвращают пустую строку.

Parameters:DefaultFileName (String) – Полное имя файла по умолчанию, т.е.каталог, которые будет открываться в диалоге.
Return type:String
AskFileNamesForOpen(DefaultFileName: String): Variant

Вызывают окно сохранения файла, если пользователь файл не выбрал, то возвращают пустую строку.

Parameters:DefaultFileName (String) – Полное имя файла по умолчанию, т.е.каталог, которые будет открываться в диалоге.
Return type:Variant
AskImageFileNameForOpen(DefaultFileName: String): String

Вызывает окно открытия файла-изображения, если пользователь файл не выбрал, то возвращают пустую строку.

Parameters:DefaultFileName (String) – Полное имя файла по умолчанию, т.е.каталог, которые будет открываться в диалоге.
Return type:String
AskFolderName(var Path: String; Caption: String): boolean

Метод вызывает диалог выбора каталога.

Parameters:
  • Path (String) – Путь, который будет указан в диалоге при его открытии. При подтверждении выбора пользователем в этом параметре будет возвращён путь к выбранному каталогу.
  • Caption (String) –

    Необязательный параметр.

    Заголовок диалога выбора папки. Если не задан, то будет использовано значение по умолчанию - “Выберите каталог”.

Return type:

boolean

Returns:

True

Пользователь подтвердил выбор каталога.

False

В остальных случаях.

6.5.2. TMsgDlgType

class TMsgDlgType

Перечисление. Тип диалога.

mtWarning

Отображает символ восклицания

mtCustom

Отображает только сообщение

mtConfirmation

Отображает знак вопроса

mtInformation

Отображает “i” в круге

mtError

Отображает красный “Х”

6.5.3. TMsgDlgButtons

class TMsgDlgButtons

Перечисление. Кнопки, которые будут расположены на диалоге.

mbYes

Отображает кнопку “Yes”

mbAbort

Отображает кнопку “Abort”

mbNoToAll

Отображает кнопку “No to all”

mbHelp

Отображает кнопку “Help”

mbYesToAll

Отображает кнопку “Yes to all”

mbAll

Отображает кнопку “All”

mbIgnore

Отображает кнопку “Ignore”

mbRetry

Отображает кнопку “Retry”

mbCancel

Отображает кнопку “Cancel”

mbOK

Отображает кнопку “Ok”

mbNo

Отображает кнопку “No”

Также предусмотрены массивы предопределенных комбинаций кнопок:

mbYesNoCancel

Включает в себя кнопки: mbYes, mbNO, mbCancel.

mbYesAllNoAllCancel

Включает в себя кнопки: mbYes, mbYesToAll, mbNo, mbNoToAll, mbCancel.

mbOKCancel

Включает в себя кнопки: mbOK, mbCancel.

mbAbortRetryCancel

Включает в себя кнопки: mbAbort, mbRetry, mbCancel.

mbAbortIgnore

Включает в себя кнопки: mbAbort, mbIgnore.