Страница 1 из 1

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

Добавлено: 17 янв 2009, 12:42
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 по сути лишнее. Плюс получаю неприятный момент:

Изображение

Подскажите пожалуйста, как такое решить? Или может добавите еще один конструктор?

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

Добавлено: 17 янв 2009, 12:46
compositum
и еще вопрос: подскажите пожалуйста, как подписываться на топики, чтобы на электронный ящик приходило извещение, что мне ответили? Не найду никак в настройках. броузер - мозилла.

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

Добавлено: 19 янв 2009, 06:21
t0lik
compositum писал(а):и еще вопрос: подскажите пожалуйста, как подписываться на топики, чтобы на электронный ящик приходило извещение, что мне ответили? Не найду никак в настройках. броузер - мозилла.
Эх, Композитум, Композитум...... :-)
Справа вверху темы кнопка "Options".

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

Добавлено: 19 янв 2009, 08:36
Edward
Здравствуйте.

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

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

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

Спасибо.

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

Добавлено: 23 янв 2009, 16:25
Vital
Здравствуйте,

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

Спасибо.

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

Добавлено: 23 янв 2009, 16:35
compositum
Vital писал(а):Здравствуйте,

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

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

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

Добавлено: 27 янв 2009, 15:00
Vital
Здравствуйте,

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

Спасибо.

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

Добавлено: 27 янв 2009, 15:28
compositum
Vital писал(а):Здравствуйте,

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

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