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

Тема в разделе "Delphi - FAQ", создана пользователем mrDuke, 19 дек 2007.

  1. mrDuke

    mrDuke Гость

    Подскажите пожалуйста... Есть презентация на которой находится кнопка CommandButton1. По ее нажатию совершается какое либо действие... Вопрос: Как эту кнопку можно нажать программно из Delphi?
     
  2. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Получить описатель окна презентации, а затем описатель окна-кнопки. Для этого используется функция WinAPI FindWindow. Потом отправить кнопке сообщение о нажатии
     
  3. mrDuke

    mrDuke Гость

    Если не сложно можно пример?
     
  4. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
  5. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
  6. mrDuke

    mrDuke Гость

    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 не подходит)
     
  7. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    у неё видно процедуру Click ?
     
  8. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    COM серверу PowerPoint глубоко нас... плевать на то, какие кнопки у него в окне. Ты определись что тебе надо: COM или сообщения. И почему PostMessage не подходит?
     
  9. mrDuke

    mrDuke Гость

    Для: Morpheus

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

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

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    наверное и не будет, то я так ляпнул не подумав )))
    чем PostMessage не подходит?
     
  11. mrDuke

    mrDuke Гость

    С PostMessage никак не разберусь что к чему.... На моем слайде 10 кнопок перехода к различным страницам(кол-во на каждой странице варьируется) и две кнопки 'назад' и 'далее'... Как мне можно получить весь список кнопок и как их отличить друг от друга и нажать какую хочу...
     
  12. mrDuke

    mrDuke Гость

    эээ... а именно так комманда пишется?
     
  13. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    <!--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 их не видит...
    Речь идет про пользовательские кнопки навигации?
     
  14. mrDuke

    mrDuke Гость

    Кнопка делается на слайде на VBA...
     
  15. Barmutik

    Barmutik Гость

    Не 100% факт что кнопка будет виндозным окном и ей можно будет послать сообщение...
     
  16. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Для: 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]
     
  17. mrDuke

    mrDuke Гость

    А если кнопку сделать посредством - Автофигуры->Управляющие кнопки... Возможно ее как нибудь нажать из Delphi?
     
  18. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    <!--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]
    Послать ей сообщение не удастся
     
  19. mrDuke

    mrDuke Гость

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

    mrDuke Гость

    Для: sax_ol
    По гуглю я искал... ничего не нашлось...
    а как применить эту команду для Delphi я никак не разберусь (РРА.Run("button_click", nil); )
     
Загрузка...
Похожие Темы - Нажать кнопку из
  1. Shouldercannon
    Ответов:
    16
    Просмотров:
    1.789
  2. passwd
    Ответов:
    0
    Просмотров:
    1.103
  3. AndreyS
    Ответов:
    7
    Просмотров:
    2.385
  4. Shouldercannon
    Ответов:
    2
    Просмотров:
    3.149
  5. morpheus
    Ответов:
    0
    Просмотров:
    5.034

Поделиться этой страницей