Главная страница
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.016 c
3-21401
Nick A.
2002-10-18 10:59
2002.11.07
Interbase = как работать с Shadow


14-21794
MaximatorVeter
2002-10-17 23:20
2002.11.07
Вот такая процедура!


1-21589
GIL
2002-10-29 23:16
2002.11.07
Создание ярлыков


1-21629
Дмитрий К.К.
2002-10-26 14:48
2002.11.07
В чем разница...


3-21445
Sten
2002-10-19 22:39
2002.11.07
как перенести программу на PC User а?