Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Нажать кнопку из Delphi  (Прочитано 8505 раз)
0 Пользователей и 1 Гость смотрят эту тему.
mrDuke
Гость
« : 19-12-2007 07:56 » 

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

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 19-12-2007 09:12 » 

mrDuke, найти окно и отправить ему сообщение WM_COMMAND при помощи
::PostMessage

Код:
Syntax

BOOL PostMessage(          HWND hWnd,
    UINT Msg,
    WPARAM wParam,
    LPARAM lParam
);
Parameters

hWnd
[in] Handle to the window whose window procedure is to receive the message. The following values have special meanings.
HWND_BROADCAST
The message is posted to all top-level windows in the system, including disabled or invisible unowned windows, overlapped windows, and pop-up windows. The message is not posted to child windows.
NULL
The function behaves like a call to PostThreadMessage with the dwThreadId parameter set to the identifier of the current thread.
Msg
[in] Specifies the message to be posted.
wParam
[in] Specifies additional message-specific information.
lParam
[in] Specifies additional message-specific information.
Return Value

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

формат сообщения
Код:
WM_COMMAND

    WPARAM wParam
    LPARAM lParam;
   
Parameters

wParam
The high-order word specifies the notification code if the message is from a control. If the message is from an accelerator, this value is 1. If the message is from a menu, this value is zero.
The low-order word specifies the identifier of the menu item, control, or accelerator.

lParam
Handle to the control sending the message if the message is from a control. Otherwise, this parameter is NULL.

(описание сишное, правда , но смысл тот же)
« Последнее редактирование: 19-12-2007 09:14 от Алексей1153++ » Записан

mrDuke
Гость
« Ответ #2 : 19-12-2007 10:32 » 

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 не подходит)
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines