Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
2-1175845494
worldmen
2007-04-06 11:44
2007.04.29
Работа с Excel (заголовок файла)


2-1176295220
I-New
2007-04-11 16:40
2007.04.29
Динамическая загрузка картинок в Timage


3-1171286284
bafy
2007-02-12 16:18
2007.04.29
Ошибка при вызове метода OpenDatabase


15-1175408250
Sind
2007-04-01 10:17
2007.04.29
Тест на delphi7


2-1176042241
ppcumax
2007-04-08 18:24
2007.04.29
Как избежать тормзов при IdHTTP1.get()?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский