Студия/OnRightClick

From SunFlurry wiki
Revision as of 19:37, 19 August 2020 by Admin (talk | contribs) (Created page with "{{infobox function |name=OnRightClick |element=Текстовое поле, Редактируемое поле, Кнопка, Флажок, Переключатель, Пол...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  OnRightClick (Визуальные события)
Применимость:Текстовое поле, Редактируемое поле, Кнопка, Флажок, Переключатель, Поле со списком, Список значений, Группа элементов, Группа страниц с закладками, Таблица значений, Внедренная электронная таблица, Дерево значений
Тип события:Асинхронное, Прерывающее (внедренная электронная таблица)
Статус разработки: Реализована

Событие, возникающее при клике правой клавишей мыши по элементу. Для электронных таблиц событие работает как прерывающее и использует переменную результата Result.

Аргументы

  • <Result> - (возможен аргумент-переменная (ByRef)) Переменная результата используется только для электронных таблиц и может принимать значения:
    • 0 (по умолчанию) -- Не выводить стандартное меню правой клавиши мыши.
    • 1 -- Вывести стандартное меню правой клавиши мыши.

Примеры

//Пример события OnRightClick для электронной таблицы
Result:=0;
aTab:=Form.Таблица.Value;
//Получить значение выбранного элемента таблицы -- ячейки или объекта
if aTab.SelectionMode<2 then
  Знч:=aTab.Area(aTab.CurCol,aTab.CurLine,aTab.CurCol,aTab.CurLine).Value;
Else
  Знч:=aTab.SelectedObjects.Get(1).Value;
EndIf;

If TypeStr(Знч)<>"LIST" Then
  Exit;
EndIf;
If Знч.GetByName("Связки")<>1 Then
  Exit;
EndIf;

//Если пользователь кликнул в нужное место, выведем меню
Стр0:=Стр0+"@Изменить картинку@-@Просмотр картинки@Сохранить картинку на диск...";
Зн:="";
If глВыполнитьВыборВМеню(Стр0,Зн)=0 Then
  Exit;
EndIf;
оТ.CurLine:=нСтр;
If Зн="Изменить картинку" Then
  If ВыбратьКартинку(""+нСтр+"a",Первая,максРазмерЛист) Then
    оТ.Лист:=""+нСтр+"a";
  EndIf;
  Изменить();
  ОбновлениеТаблицы();
ElseIf Зн="Просмотр картинки" Then
  а:=List.Create();
  Стр:=Trim(глБазовыйКаталог(Form.Object.Parent()))+"\"+СоздатьИмяКартинки(""+нСтр+"a");
  а.SetByName("Файл",Стр);
  LoadModule(10,"Ref.тмцПартииТМЦ",а,0,"Module2","ПоказатьКартинку");
ElseIf Зн="Сохранить картинку на диск..." Then
  Файл:=Trim(глБазовыйКаталог(Form.Object.Parent()))+"\"+СоздатьИмяКартинки(""+нСтр+"a");
  Файл2:=GetFileName(Файл);
  If SaveFileDialog(Файл2,"Выберите место и имя файла для сохранения:","Картинки jpeg|*.jpg",1,"jpg")<>1 Then
    Exit;
  EndIf;
  If File.CopyFile(Файл,Файл2,1) Then
    Box("Картинка была успешно сохранена!",Q_INFORMATION);
  Else
    Box("Ошибка при сохранении картинки!",Q_STOP);
  EndIf;
EndIf;