Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: HWnd ThisDocument.ActiweWindow Добавлено: 29.12.08 17:17  

Автор вопроса:  GDK
Есть ли какой-нибудь "нормальный" способ получить Hwnd окна документа, даже если оно свёрнуто.
  Это понадобилось для вывода окна формы так, чтобы его можно было сделать дочерним для ЛЮБОГО документа и переключать между документами при необходимости. Под "ненормальными" способами понимаю сделать окно активным и с пом. GetForegroundWindow() получать HWnd; Искать HWnd окна по его классу и названию.

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #1
Добавлено: 31.12.08 13:45
Почему поиск окна ты считаешь ненормальным способом? Встроенного свойства hWnd в объектной модели Office/Word/Excel нет.

Ответить

Номер ответа: 2
Автор ответа:
 Father



Вопросов: 0
Ответов: 159
 Профиль | | #2 Добавлено: 01.01.09 10:11
Если считать, что документы Excel - это mdi-child окна, то найти активный можно через WM_MDIGETACTIVE.
Имеей ввиду: посылается в MDIclient.

Ответить

Номер ответа: 3
Автор ответа:
 GDK



Вопросов: 13
Ответов: 348
 Профиль | | #3 Добавлено: 15.01.09 12:53
Mc_black, если открыто несколько документов, у некоторых из них могут быть одинаковые заголовки. Т.к. класс окон одинаковый, способ поиска по классу и заголовку окажется ненадёжным.
Father, для Excel всё же можно поискать окна по заголовку и классу потому что в Excel нельзя открывать два файла с одинаковым именем. Значит никогда не будет два окна Excel с одинаковым заголовком, значит будет гарантия, что Hwnd найден верно. А вот для Word{a} это уже не подойдёт.
Что то не понятно с MDIclient. Если это окно то чтобы послать в него - надо выяснить его Hwnd. А как?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам