IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Меню, WinAPI
Client
сообщение 14.08.2009 13:59
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


procedure TForm1.Button1Click(Sender: TObject);
var wnd:hwnd;
TmpArray : array[0..100 - 1] of Char;
mymenu:Hmenu;
begin
Wnd := FindWindow('Notepad',nil);
GetWindowText(wnd, @TmpArray, 100);
label1.caption:=tmparray;
mymenu:=getmenu(wnd);
label2.Caption:=inttostr(GetMenuItemCount(mymenu));
end;
Тут я нашел окно блокнота, узнал его заголовок и количество пунктов меню. Как узнать название пункта ? и если есть его подпунтков?

Сообщение отредактировано: Client - 14.08.2009 14:02
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Client   Меню   14.08.2009 13:59
volvo   Скажем, вот так: procedure ListSubmenus(s: string;...   14.08.2009 14:57
Client   Спасибо! есть 2 вопроса GetMenuString(menu, i,...   14.08.2009 15:11
volvo   Это параметр, который определяет, что передается в...   14.08.2009 15:20
Client   Т.е. берется название его? А это тоже самое что ес...   15.08.2009 13:54
volvo   Нет, ты не понял... Смотри, допустим имеется вот т...   15.08.2009 14:10
Client   Понял, спасибо. Щас еще покапаю что-нибудь)   15.08.2009 14:19
Client   :) теперь хочу скопировать меню из блокнота в мен...   16.08.2009 18:20
volvo   А при чем тут PopupMenu? Ты ж хочешь меню скопиров...   16.08.2009 18:35
Client   Да я хочу скопировать МЕНЮ целиком из блокнота в с...   16.08.2009 19:06
volvo   В таком случае название темы не соответствует дейс...   16.08.2009 19:54
Client   я пока создавал только VCL приложения (форма, кноп...   16.08.2009 19:59
volvo   Это не совсем консоль. Это оконное приложение, но ...   16.08.2009 20:01
Client   program Project1; uses windows,messages; const w...   17.08.2009 13:28
volvo   Что именно не понятно?   17.08.2009 13:39
Client   wnd1:=FindWindow('Notepad',nil); SetMenu(w...   17.08.2009 13:47
volvo   Ну, это уж я не знаю, как ты пробовал: Только пе...   17.08.2009 14:17
Client   омг я не туда смотрел) Думал из блокнота в мой про...   17.08.2009 14:21
volvo   Это тебе так надо: wnd1 := FindWindow('Notepad...   17.08.2009 14:30
Client   case msg of wm_destroy: begin SetMenu(wn...   17.08.2009 14:40
volvo   Ты своему классу поставил в соответствие эту саму...   17.08.2009 14:59
Client   Надо ловить нажатие кнопки меню и выполнять тоже д...   18.08.2009 17:22
volvo   Надо блокноту "подсунуть" обработчик соб...   18.08.2009 17:59
Client   Гуглил, гуглил и нагуглил :) Тут описан сабкласс...   20.08.2009 18:15
volvo   Странно... Первая ссылка Гугла выводит на Виноград...   20.08.2009 18:31
Client   пасиб за ссылки) получается что окнами могут быть ...   20.08.2009 18:40
volvo   Естественно. Все наследники TWinControl (я про VCL...   20.08.2009 18:58
Client   Обязательно :) А что такое HWND и THANDLE? какая...   20.08.2009 19:17
volvo   Технически - никакой. И то и другое - переименован...   20.08.2009 20:10
Client   ОК :) будет еще 1 тема СПАСИБО VOLVO ЗА ПОМОЩЬ...   20.08.2009 21:26


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 8.07.2025 22:21
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"