Сделать окно Word дочерним приложению

Язык C#: программирование на C#, портирование кода C# на VB и VB на C#.

Модератор: Ramzes

SBJoker
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 28.01.2009 (Ср) 14:36

Сделать окно Word дочерним приложению

Сообщение SBJoker » 25.02.2009 (Ср) 16:56

Возник вопрос как сделать окно Word дочерним приложению.
Т.е. чтобы его окно нельзя было перетащить из главного окна программы, и при сворачивании программы окно ворда так же сворачивалось.

Сам ворд открывается из приложения таким образом:
Код: Выделить всё
using Word = Microsoft.Office.Interop.Word;
....
Word.Application WordApp = new Word.Application();
WordApp.Visible = true;


Полученный объект WordApp лишен объекта Window или hWnd (их просто нет в списке). Так же у него нету многих полезных событий, например для отслеживания закрытия ворда.

Как быть?

vick2312
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 17.10.2008 (Пт) 17:43

Re: Сделать окно Word дочерним приложению

Сообщение vick2312 » 25.02.2009 (Ср) 17:14

http://wladm.narod.ru/C_Sharp/comexcel.html#9 тут по обработке событий Excel, попробуй то же с Word :)

SBJoker
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 28.01.2009 (Ср) 14:36

Re: Сделать окно Word дочерним приложению

Сообщение SBJoker » 25.02.2009 (Ср) 19:58

Спасибо, с доступными событиями проблем нет, а вот с недоступными есть, т.к. они недоступны :D .

SBJoker
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 28.01.2009 (Ср) 14:36

Re: Сделать окно Word дочерним приложению

Сообщение SBJoker » 27.02.2009 (Пт) 14:20

Проблема решена всем спасибо.

vick2312
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 17.10.2008 (Пт) 17:43

Re: Сделать окно Word дочерним приложению

Сообщение vick2312 » 02.03.2009 (Пн) 10:41

Привет!
Интересно, как. Можешь поделиться? Я вот тут тоже ещё кое-что нашёл: http://www.codeproject.com/KB/miscctrl/winwordcontrol.aspx

SBJoker
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 28.01.2009 (Ср) 14:36

Re: Сделать окно Word дочерним приложению

Сообщение SBJoker » 27.04.2009 (Пн) 11:44

общий алгоритм такой:
1. Присваиваем заголовку ворда какой нибудь заранее определённый текст (я присваиваю рандомное число).
2. С помощью WinApi функции FindWindow ищем окно по заголовку, получаем искомый hWnd
3. Восстанавливает заголовок ворда
4. С помощью SetParent делаем окно ворда дочерним нашему окну или вообще любому окну.


Вернуться в C#

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18

    TopList