Страница: 1 | 2 | 3 |
|
Вопрос: Послать команды из VBA в другое приложение!
|
Добавлено: 10.10.05 23:39
|
|
Номер ответа: 32 Автор ответа: vall
Вопросов: 6 Ответов: 31
|
Профиль | | #32
|
Добавлено: 21.10.05 09:09
|
Я с помощью Wininspector определил WM_COMMAND-33277,
это сообщение на нажатие кнопки! Почему в одном случае работает , а другом нет? Обрати внимание, что в программе
я на окна я поставил "o While...Loop", они тоже работали
без "o While...Loop" в режиме "ebag" , а с Exelя не работали! По видимому не успевали инициализироваться,
программа работала быстрее, чем появлялись окна!
Может и здесь так же?
(А вообще то я сейчас разбираюсь с сабклассингом,
хочу задать вопросы, но попозже, можно???)
Ответить
|
Номер ответа: 35 Автор ответа: vall
Вопросов: 6 Ответов: 31
|
Профиль | | #35
|
Добавлено: 22.10.05 10:59
|
Все в мире относительно! Ну вообще то да, две недели
без выходных только этим и занимался!
Для меня это дело новое, а я человек увлекающийся,
как у Высоцкого:"Ежли я чего решил, то...!"
-------------------------------------------
Ну это еще не конец, у меня в Металиксе есть еще
одно приложение -Autonesting, но с ним, я думаю,
справлюсь таперь быстрее!
---------------------------------------------
Почитал помощь по SubClassing, появились вопросы
пока общего порядка.
Я понял так, что можно перехватить сообщение Windows
и вместо нее послать свое сообщение, но это, как бы,
уже в заранее известном окне или текст боксе и т. д.
Чтобы кнопка веер делала или свое контестное меню всплывало,но это все как добавочные полезные опции, причем, как ответы на "клики" мыши.
А чем может SubClassing помочь в моем случае, когда все должно программно прокрутиться, особенно открытие окон???
Ведь все равно надо искать хэндлы и сообщения с Wininspector!? Или опять не догнал?
Вот, например, какую именно ты оконную процедуру поменял
или добавил ???(окно было синее, стало красное или что?)
Самое интересное ты не написал !?
-------------------------------------------------------
'Меняем оконную процедуру (например при загрузке)
gOldSubClassProc = SetWindowLong(hTextBox1, %GWL_WNDPROC, CodePtr(SubClassProc))
Function SubClassProc( ByVal hWnd&, ByVal wMsg&, ByVal wParam&, ByVal lParam& As Long
'Вот здесь кидаешь все параметры в лог
'...
'Вызов родной процедуры сообщений
Function = CallWindowProc(gOldSubClassProc, hWnd&, wMsg&, wParam&, lParam&
End Function
'Ну и в конце отключаешь субклассирование
SetWindowLong hTextBox1, %GWL_WNDPROC, gOldSubClassProc
Ответить
|
Страница: 1 | 2 | 3 |
Поиск по форуму