Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.07;
Скачать: CL | DM;

Вниз

Есть dll с ресурсами. Подскажите, как можно прочитать строковые   Найти похожие ветки 

 
Alexander ©   (2002-09-24 13:45) [0]

ресурсы и ресурсы меню?


 
MBo ©   (2002-09-24 13:56) [1]

для работы с ресурсами есть куча функций, начиная с FindResource, LoadMenu,LoadString
Кое-что инкапсулировано в TResourceStream


 
Alexander ©   (2002-09-24 14:59) [2]

Спасибо, разобрался. Только вопрос по LoadMenu:
там второй параметр:
Points to a null-terminated string that contains the name of the menu resource. Alternatively, this parameter can consist of the resource identifier in the low-order word and zero in the high-order word. To create this value, use the MAKEINTRESOURCE macro.
По идентификатору ресурса обращаюсь, всё нормально. А вот что за имя ресурса меню? где его можно узнать, чтобы обратиться по имени?


 
MBo ©   (2002-09-24 15:33) [3]

Если сам создавал, имя знаешь, иначе просмотрщиком ресурсов, даже IMAGE Editor из Delphi


 
Alexander ©   (2002-09-24 15:59) [4]

Ладно, по имени не получилось, можно и по индексу.
Ещё вопрос:
вот так выглядит начало этого ресурса меню:

403 MENU
LANGUAGE LANG_RUSSIAN, 0x1
{
POPUP "&Принтер"
{
MENUITEM "Подкл&ючить", 100
MENUITEM SEPARATOR
MENUITEM "&Использовать по умолчанию", 103
MENUITEM "&Настройка печати...", 108
MENUITEM SEPARATOR
MENUITEM "&Приостановить печать", 101
MENUITEM "О&чистить очередь печати", 102
MENUITEM SEPARATOR
MENUITEM "О&бщий доступ...", 104
MENUITEM "Отло&женная печать", 109
MENUITEM SEPARATOR
MENUITEM "Сво&йства", 106
MENUITEM SEPARATOR
MENUITEM "&Закрыть", 107
}

Пишу так (хочу названия всех пунктов прочитать):

hLib := LoadLibrary("printui.dll");
if (hLib <> 0) then
try
hMenu := LoadMenu(hLib, PChar(433));
if (hMenu <> 0) then
try
// здесь номально считал первый пункт
GetMenuString(hMenu, 0, @Str, 256, MF_BYPOSITION);
// узнаю Handle субменю
GetMenuItemInfo(hMenu, 1, True, MII);
// читаю первый пункт подменю, но он оказывается пустой, хотя в MII.hSubMenu нормальный Handle
GetMenuString(MII.hSubMenu, 0, @Str, 256, MF_BYPOSITION);



Страницы: 1 вся ветка

Текущий архив: 2002.11.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
6-21705
!Daemon
2002-09-09 12:14
2002.11.07
PING


1-21647
Anatoly P
2002-10-27 12:29
2002.11.07
TColor в String


1-21493
Ghost!
2002-10-28 17:36
2002.11.07
считывание по символу


4-21883
ikos
2002-09-26 09:14
2002.11.07
Активация MDI окна


3-21402
sas1
2002-10-15 10:23
2002.11.07
ADO и dll