Как пользоваться методами интерфейса IApplicationDialogs?

Автор maksim krotov, 20.09.25, 09:46:30

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

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

maksim krotov

Мне удалось получить интерфейс IApplicationDialogs:

 IApplication application = Marshal.GetActiveObject("KOMPAS.Application.7") as IApplication;
 IPartDocument partDoc = (IPartDocument)application.Documents.Add(Kompas6Constants.DocumentTypeEnum.ksDocumentPart);
 IApplicationDialogs applicationDialogs = application as IApplicationDialogs;


Но мне непонятно, что можно подать в параметры таких его методов как ChoiceMaterial

p3452


maksim krotov

Все. Я разобрался:

    internal class Program
    {
        static void Main(string[] args)
        {
            IApplication application = Marshal.GetActiveObject("KOMPAS.Application.7") as IApplication;
            IPartDocument partDoc = (IPartDocument)application.Documents.Add(Kompas6Constants.DocumentTypeEnum.ksDocumentPart);

            IApplicationDialogs applicationDialogs = application as IApplicationDialogs;

            IThreadDialogParam threadDialog = applicationDialogs.GetDialogParam(KompasAPIObjectTypeEnum.ksObjectThreadDialogParam) as IThreadDialogParam;

            IDocumentFrame documentFrame = partDoc.DocumentFrames[0];

            applicationDialogs.SelectThread(documentFrame.GetHWND(), threadDialog as ThreadDialogParam);
        }
    }

p3452

 :o: Нормально, так - спрашивать о "ChoiceMaterial", а удовлетворится "IThreadDialogParam"...

maksim krotov

Цитата: p3452 от 20.09.25, 10:38:30:o: Нормально, так - спрашивать о "ChoiceMaterial", а удовлетворится "IThreadDialogParam"...
Мне непонятен был как ChoiceMaterial, так и IThreadDialogParam. Плюс, получение этих интерфейсов +- одинаковое.