Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
3-21394
VladTen
2002-10-17 10:33
2002.11.07
Как узнать Номер версии программы


3-21451
KDS
2002-10-21 11:23
2002.11.07
Формат таблиц базы данных *.DAT ??


4-21853
d-coder
2002-09-24 19:58
2002.11.07
Проблема 2002


3-21383
Alexander_K
2002-10-17 17:27
2002.11.07
Про параметры в OLE.....


1-21461
Luke
2002-10-24 20:41
2002.11.07
Поиск директорий




   Наверх