Форум: "WinAPI";
Текущий архив: 2007.04.29;
Скачать: [xml.tar.bz2];
ВнизНажать на элемент чужой TPopupMenu Найти похожие ветки
← →
Виктор1 © (2006-11-28 17:36) [0]Доброго времени суток, подскажите пожалуйста как нажать программно на кнопку всплывающего по правой кнопке меню? Эта минюшка чужой формы. Чтото вроде TPopupMenu
← →
tesseract © (2006-11-28 17:52) [1]Ввяснить какое сообщение отсылается при клике по данному меню и послать это сообщения окну приложения.
← →
Elen © (2006-11-29 07:43) [2]
> Ввяснить какое сообщение отсылается при клике по данному
> меню и послать это сообщения окну приложения.
Не поможет. На Попупе свое окно. Автор Почитай http://delphimaster.net/view/4-1164215836/
← →
Leonid Troyanovsky © (2006-11-29 22:04) [3]
> Elen © (29.11.06 07:43) [2]
> > меню и послать это сообщения окну приложения.
> Не поможет. На Попупе свое окно.
Дельфийское окно PopupList, все же, есть окно приложения.
См., также:
http://groups.google.com/group/fido7.ru.delphi/msg/8c27f707490716b2
--
Regards, LVT.
← →
Elen © (2006-11-30 07:51) [4]
> Leonid Troyanovsky
> Дельфийское окно PopupList, все же, есть окно приложения.
Автор пишет : Эта минюшка чужой формы.
← →
Leonid Troyanovsky © (2006-11-30 12:29) [5]
> Elen © (30.11.06 07:51) [4]
> Автор пишет : Эта минюшка чужой формы.
Буквально это понимается так: чужое приложение есть
дельфийское (or BCB), т.е., имеющее то самое прокси-окно
для всплывающих меню.
--
Regards, LVT.
← →
tesseract © (2006-11-30 16:14) [6]
> Не поможет. На Попупе свое окно.
Кто спорит, но сообщение-то от меню отсылается приложению! И не важно какому.
Хоть под MFC хоть под API.
MENUITEM Statement
This resource-definition statement creates a menu item.
MENUITEM text, result, [[optionlist]] MENUITEM SEPARATOR
result
Specifies the result generated when the user selects the menu item. This parameter takes and returns an integer value. When the user selects the menu-item name, the result is sent to the window that owns the menu.
Ищё
Handling Menu Commands
When a user selects a menu item, Windows sends a WM_COMMAND message to the window that owns the menu. The low word of the wParam parameter contains the ID of the menu item that was selected. The high word of wParam contains the notification code. For a menu selection, this value is always 0. The lParam parameter is 0 for WM_COMMAND messages sent due to a menu selection. Those familiar with Windows 3.x programming might notice that the layout of wParam and lParam match the standard Win32 assignments and are different from Win16 programs. So to act on a menu selection, a window needs to field the WM_COMMAND message, decode the ID passed, and act according to the menu item that was selected.
Now that I"ve covered the basics of menu creation, you might wonder where all this menu creation code sits in a Windows program. The answer is, it doesn"t. Instead of dynamically creating menus on the fly, most Windows programs simply load a menu template from a resource. To learn more about this, let"s take a detour from the description of input methods and look at resources.
← →
tesseract © (2006-11-30 16:15) [7]Последний абзац зря скопировал :-)
← →
clickmaker © (2006-11-30 16:24) [8]
> the result is sent to the window that owns the menu.
> но сообщение-то от меню отсылается приложению
противоречие, однако. window that owns может быть любым. К тому же сообщение нельзя послать "приложению". Только окну или потоку, если в нем есть цикл выборки
← →
tesseract © (2006-11-30 16:29) [9]
> противоречие, однако. window that owns может быть любым.
> К тому же сообщение нельзя послать "приложению". Только
> окну или потоку, если в нем есть цикл выборки
window that owns известно:
> Эта минюшка чужой формы.
"приложение" без окна - это консоль, оно popup иметь не должно.
Осталось получить handle чужой формы-обработчка и послать ему WM_COMMAND.
← →
clickmaker © (2006-11-30 17:10) [10]
> Осталось получить handle чужой формы-обработчка и послать
> ему WM_COMMAND
а откуда такая уверенность, что именно эта форма захочет обработать твой WM_COMMAND ожидаемым образом?
← →
tesseract © (2006-11-30 17:17) [11]
> clickmaker © (30.11.06 17:10) [10]
Если бы не захотела, то и меню бы не обрабатывало, потому что WM_COMMAND посылается окну-хозяину.
Если хозяин не форма, то надо узнать кто хозяин :-). Я рассматривал общий случай.
← →
Leonid Troyanovsky © (2006-11-30 19:13) [12]
> tesseract © (30.11.06 17:17) [11]
> Если бы не захотела, то и меню бы не обрабатывало, потому
> что WM_COMMAND посылается окну-хозяину.
> Если хозяин не форма, то надо узнать кто хозяин :-). Я
Я ж говорил, кому отсылается.
Рассматривался частный случай, т.е. формы.
См., например,
http://groups.google.com/group/fido7.ru.delphi/msg/5b9dbffffc9d6b13
--
Regards, LVT.
← →
Leonid Troyanovsky © (2006-11-30 19:17) [13]
> Leonid Troyanovsky © (29.11.06 22:04) [3]
> См., также:
> http://groups.google.com/group/fido7.ru.delphi/msg/8c27f707490716b2
Это было предназначено другому вопросу.
Sorry.
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2007.04.29;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.038 c