Открытие окна поиска объекта через собственный фрейм

Автор FeelsSoBad, 11.02.25, 09:13:12

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

FeelsSoBad

Добрый день, возник следующий вопрос: в Лоцмане есть окно поиска объектов по заданным параметрам (открывается через вкладку Инструменты на верхней панели или сочетанием клавиш Ctrl-F). Допустим, у меня есть фрейм, на котором висит кнопка. Нужно сделать так, чтобы при нажатии на эту кнопку программно открывалось это окно поиска. Есть ли какая-то возможность открывать собственные окна Лоцмана через simpleAPI или LoodsmanApplication, которые передаются фрейму? Заранее спасибо за ответы

Валерий Изранов

Переводчик:  Фраза «feel so bad» на русский язык переводится как «чувствовать себя так плохо"
А что у вас плохо?

teplinskiy

Приветствую.

Цитата: FeelsSoBad от 11.02.25, 09:13:12Есть ли какая-то возможность открывать собственные окна Лоцмана через simpleAPI или LoodsmanApplication, которые передаются фрейму? Заранее спасибо за ответы
Есть метод: "FLoodsmanApp.LoodsmanClientUtils.ShowSearchDialog()"

function ShowSearchDialog(ParentHandle: OLE_HANDLE; const SearchCondition: WideString; const SearchContext: IPDMObject2; HelpContext: Integer): WideString; safecall;
"FLoodsmanApp" это интерфейс "ILoodsmanApplication".

Простейший пример вызова:
FLoodsmanApp.LoodsmanClientUtils.ShowSearchDialog(Handle, '', nil, 0);
"FLoodsmanApp" можно получить в плагине:
if Assigned(PluginCall) then
      if PluginCall.QueryInterface(IID_ILoodsmanApplication, laLoodsmanApp) = S_OK then
...

Еще там же "FLoodsmanApp.LoodsmanClientUtils" есть такие методы:
function ShowSearchDialogByCondition(aParentHandle: OLE_HANDLE; const aWindowTitle: WideString; aCheckSelectedButton: WordBool; aHelpContext: Integer;
                                    var aXMLSearchCondition: WideString; var aSearchResultObjectsIDs: WideString): Integer; safecall;

function ShowSimpleSearchDialogByType(aParentHandle: OLE_HANDLE; aHelpContext: Integer;
                                      var aTypeName: WideString; var aSearchResultObjectsIDs: WideString): Integer; safecall;

Пробуйте.
+ Благодарностей: 1

FeelsSoBad

Цитата: teplinskiy от 12.02.25, 08:09:26Приветствую.
Есть метод: "FLoodsmanApp.LoodsmanClientUtils.ShowSearchDialog()"

function ShowSearchDialog(ParentHandle: OLE_HANDLE; const SearchCondition: WideString; const SearchContext: IPDMObject2; HelpContext: Integer): WideString; safecall;
"FLoodsmanApp" это интерфейс "ILoodsmanApplication".

Простейший пример вызова:
FLoodsmanApp.LoodsmanClientUtils.ShowSearchDialog(Handle, '', nil, 0);
"FLoodsmanApp" можно получить в плагине:
if Assigned(PluginCall) then
      if PluginCall.QueryInterface(IID_ILoodsmanApplication, laLoodsmanApp) = S_OK then
...

Еще там же "FLoodsmanApp.LoodsmanClientUtils" есть такие методы:
function ShowSearchDialogByCondition(aParentHandle: OLE_HANDLE; const aWindowTitle: WideString; aCheckSelectedButton: WordBool; aHelpContext: Integer;
                                    var aXMLSearchCondition: WideString; var aSearchResultObjectsIDs: WideString): Integer; safecall;

function ShowSimpleSearchDialogByType(aParentHandle: OLE_HANDLE; aHelpContext: Integer;
                                      var aTypeName: WideString; var aSearchResultObjectsIDs: WideString): Integer; safecall;

Пробуйте.
Большое спасибо, то что нужно

FeelsSoBad

Цитата: teplinskiy от 12.02.25, 08:09:26Есть метод: "FLoodsmanApp.LoodsmanClientUtils.ShowSearchDialog()"
Еще раз большое спасибо за информацию, есть еще вопрос - в открытом окне поиска (если вызывать его через этот метод) заблокирован чек-бокс "Контекстный поиск". В методе есть параметр int HelpContext, но непонятно, на что он влияет - я попробовал повставлять туда разные значения, но на окно поиска это никак видимо не повлияло. Не знаете, можно ли разблокировать чек-бокс с контекстным поиском в этом окне?

FeelsSoBad

Цитата: FeelsSoBad от 07.03.25, 14:09:31Еще раз большое спасибо за информацию, есть еще вопрос - в открытом окне поиска (если вызывать его через этот метод) заблокирован чек-бокс "Контекстный поиск". В методе есть параметр int HelpContext, но непонятно, на что он влияет - я попробовал повставлять туда разные значения, но на окно поиска это никак видимо не повлияло. Не знаете, можно ли разблокировать чек-бокс с контекстным поиском в этом окне?
Нашел, метод в тех же ClientUtils - ShowSearchDialogByCondition