Нажать кнопку из Delphi

  • Автор темы mrDuke
  • Дата начала
M

mrDuke

#1
Подскажите пожалуйста... Есть презентация на которой находится кнопка CommandButton1. По ее нажатию совершается какое либо действие... Вопрос: Как эту кнопку можно нажать программно из Delphi?
 
04.09.2006
2 566
3
#2
Получить описатель окна презентации, а затем описатель окна-кнопки. Для этого используется функция WinAPI FindWindow. Потом отправить кнопке сообщение о нажатии
 
M

mrDuke

#6
PPA.Presentations.Open('c:\1.ppt',0,1,1); - открыть документ
PPA.Presentations.Item(1).SlideShowSettings.Run; - запустить показ презентации
PPA.Presentations.Item(1).Slides.Item(1).Shapes.Item(1) - выбрать в 1ой презентации на первом слайде 1ую кнопку...

Возможно ли таким же образом ее нажать? (PostMessage не подходит)
 
04.09.2006
2 566
3
#8
COM серверу PowerPoint глубоко нас... плевать на то, какие кнопки у него в окне. Ты определись что тебе надо: COM или сообщения. И почему PostMessage не подходит?
 
M

mrDuke

#9
Для: Morpheus

Создаю кнопку на презентации, и задаю ей следующее действие:
Private Sub CommandButton1_Click()
ActivePresentation.SlideShowWindow.View.Next
End Sub

PPA.Presentations.Item(1).Slides.Item(1).Shapes.Item(1) - тут процедуру Click не видно
 

morpheus

скриптописец
07.08.2006
3 915
1
#10
наверное и не будет, то я так ляпнул не подумав )))
чем PostMessage не подходит?
 
M

mrDuke

#11
С PostMessage никак не разберусь что к чему.... На моем слайде 10 кнопок перехода к различным страницам(кол-во на каждой странице варьируется) и две кнопки 'назад' и 'далее'... Как мне можно получить весь список кнопок и как их отличить друг от друга и нажать какую хочу...
 
04.09.2006
2 566
3
#13
<!--QuoteBegin-mrDuke+19:12:2007, 13:01 -->
<span class="vbquote">(mrDuke @ 19:12:2007, 13:01 )</span><!--QuoteEBegin-->На моем слайде 10 кнопок перехода к различным страницам
[snapback]90562" rel="nofollow" target="_blank[/snapback]​
[/quote]
Странно, похоже эти кнопки это не окна, т.к. Spy их не видит...
Речь идет про пользовательские кнопки навигации?
 
B

Barmutik

#15
Не 100% факт что кнопка будет виндозным окном и ей можно будет послать сообщение...
 
04.09.2006
2 566
3
#16
Для: Barmutik
Я тут уже говорил:<!--QuoteBegin-European+19:12:2007, 13:46 -->
<span class="vbquote">(European @ 19:12:2007, 13:46 )</span><!--QuoteEBegin-->Странно, похоже эти кнопки это не окна, т.к. Spy их не видит...
[snapback]90576" rel="nofollow" target="_blank[/snapback]​
[/quote]
 
M

mrDuke

#17
А если кнопку сделать посредством - Автофигуры->Управляющие кнопки... Возможно ее как нибудь нажать из Delphi?
 
04.09.2006
2 566
3
#18
<!--QuoteBegin-mrDuke+24:12:2007, 07:38 -->
<span class="vbquote">(mrDuke @ 24:12:2007, 07:38 )</span><!--QuoteEBegin-->А если кнопку сделать посредством - Автофигуры->Управляющие кнопки... Возможно ее как нибудь нажать из Delphi?
[snapback]91040" rel="nofollow" target="_blank[/snapback]​
[/quote]
Послать ей сообщение не удастся
 
M

mrDuke

#19
Для: sax_ol
Честно говорю - не умею... Если не сложно приведите пример того как это сделать можно... Пытался что нить сделать - не получилось.
 
M

mrDuke

#20
Для: sax_ol
По гуглю я искал... ничего не нашлось...
а как применить эту команду для Delphi я никак не разберусь (РРА.Run("button_click", nil); )