IWin32Window в качестве параметра для метода, открывающего окно дизайнера

Обсуждение Stimulsoft Reports.NET
Ответить
Аватара пользователя
compositum
Сообщения: 252
Зарегистрирован: 15 янв 2008, 15:12
Откуда: Санкт-Петербург

IWin32Window в качестве параметра для метода, открывающего окно дизайнера

Сообщение compositum »

Добрый день. Хочу внедрить генератор отчётов в AutoCAD. Требуется, чтобы окно дизайнера открывалось в окне документа этой программы. Т.е. окно документа должно быть родительским. Есть проблема. Окно документа не является классом, наследуемым от Form. Вот код этого класса:

Код: Выделить всё

namespace Autodesk.AutoCAD.Windows
{
    public class Window : DisposableWrapper, IWin32Window
    {
        public virtual System.Windows.Point DeviceIndependentLocation { get; set; }
        public virtual System.Windows.Size DeviceIndependentSize { get; set; }
        public virtual IntPtr Handle { get; }
        public virtual Icon Icon { get; set; }
        public virtual Point Location { get; set; }
        public virtual Size Size { get; set; }
        public virtual string Text { get; set; }
        public virtual bool Visible { get; set; }
        public virtual FormWindowState WindowState { get; set; }

        public void Close();
        protected override void DeleteUnmanagedObject();
        public static System.Windows.Vector GetDeviceIndependentScale(IntPtr hWnd);
    }
}
а для того, чтобы сделать окно дизайнера отчетов дочерним, я должен передать ему в качестве объекта, экземпляр класса Form.
Как быть в этой ситуации? Выходит, что я мог бы передать IWin32Window, а не Form, но такого конструктора нет.
Сейчас делаю так:

Код: Выделить всё

            Document  doc = AcadServices.Application.DocumentManager.MdiActiveDocument;
//окно документа, являющееся экземпляром показанного мною выше класса:
            Window window = doc.Window;
//пока что делаю так:
            ParrentFormByCompositum parrentForm = new ParrentFormByCompositum();
            parrentForm.Text = "AutoCAD. Дизайнер отчётов.";
            AcadServices.Application.ShowModelessDialog(parrentForm);
            StiReport report = new StiReport();
            report.Design(parrentForm);
            
Но это не удобно. Окно parrentForm по сути лишнее. Плюс получаю неприятный момент:

Изображение

Подскажите пожалуйста, как такое решить? Или может добавите еще один конструктор?
Аватара пользователя
compositum
Сообщения: 252
Зарегистрирован: 15 янв 2008, 15:12
Откуда: Санкт-Петербург

IWin32Window в качестве параметра для метода, открывающего окно дизайнера

Сообщение compositum »

и еще вопрос: подскажите пожалуйста, как подписываться на топики, чтобы на электронный ящик приходило извещение, что мне ответили? Не найду никак в настройках. броузер - мозилла.
t0lik
Сообщения: 75
Зарегистрирован: 24 окт 2008, 12:35
Откуда: SPb

IWin32Window в качестве параметра для метода, открывающего окно дизайнера

Сообщение t0lik »

compositum писал(а):и еще вопрос: подскажите пожалуйста, как подписываться на топики, чтобы на электронный ящик приходило извещение, что мне ответили? Не найду никак в настройках. броузер - мозилла.
Эх, Композитум, Композитум...... :-)
Справа вверху темы кнопка "Options".
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

IWin32Window в качестве параметра для метода, открывающего окно дизайнера

Сообщение Edward »

Здравствуйте.

Разберемся с IWIN32HANDLE ...

Возможно есть также проблемы из-за application button.

Мы известим Вас о готовности в этом топике.

Спасибо.
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

IWin32Window в качестве параметра для метода, открывающего окно дизайнера

Сообщение Vital »

Здравствуйте,

Добавить IWin32Handle в качестве параметра для вызова дизайнера не сложно, но проблему с application button это не решит. На данный момент мы не можем предложить решения проблемы application button в child окне.

Спасибо.
Аватара пользователя
compositum
Сообщения: 252
Зарегистрирован: 15 янв 2008, 15:12
Откуда: Санкт-Петербург

IWin32Window в качестве параметра для метода, открывающего окно дизайнера

Сообщение compositum »

Vital писал(а):Здравствуйте,

Добавить IWin32Handle в качестве параметра для вызова дизайнера не сложно, но проблему с application button это не решит. На данный момент мы не можем предложить решения проблемы application button в child окне.

Спасибо.
Да Бог с ней пока что, с application button, для меня важнее IWin32Handle. Добавьте пожалуйста, еще один перегруженный вариант вызова метода, раз это не сложно для вас.
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

IWin32Window в качестве параметра для метода, открывающего окно дизайнера

Сообщение Vital »

Здравствуйте,

Перегрузка метода добавлена. Изменения будут доступны в билде от 2 февраля. Если билд необходим срочно, пошлите запрос на support@stimulsoft.com.

Спасибо.
Аватара пользователя
compositum
Сообщения: 252
Зарегистрирован: 15 янв 2008, 15:12
Откуда: Санкт-Петербург

IWin32Window в качестве параметра для метода, открывающего окно дизайнера

Сообщение compositum »

Vital писал(а):Здравствуйте,

Перегрузка метода добавлена. Изменения будут доступны в билде от 2 февраля. Если билд необходим срочно, пошлите запрос на support@stimulsoft.com.

Спасибо.
Огромное вам спасибо! До 2-го февраля я подожду, могу пока другие дела поделать.
Ответить