1. Уважаемые участники и гости, 19 октября codeby будет работать в режиме "Только чтение". Регистрация новых участников будет закрыта. 20 октября портал продолжит работу в прежнем режиме.

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

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

  1. mrDuke

    mrDuke Гость

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

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

    mrDuke Гость

    Репутация:
    0
    Если не сложно можно пример?
     
  4. morpheus

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

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

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

    mrDuke Гость

    Репутация:
    0
    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 скриптописец

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

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

    mrDuke Гость

    Репутация:
    0
    Для: 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 скриптописец

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

    mrDuke Гость

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

    mrDuke Гость

    Репутация:
    0
    эээ... а именно так комманда пишется?
     
  13. European

    Репутация:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    2.566
    Симпатии:
    2
    <!--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 Гость

    Репутация:
    0
    Кнопка делается на слайде на VBA...
     
  15. Barmutik

    Barmutik Гость

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

    Репутация:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    2.566
    Симпатии:
    2
    Для: 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 Гость

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

    Репутация:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    2.566
    Симпатии:
    2
    <!--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 Гость

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

    mrDuke Гость

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

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