![]() |
|
|
![]()
|
|
| AlexPro |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 9.11.2005 Где: Санкт-Петербург Репутация: 3 Всего: 4 |
Earnest совершенно права! SeregaLBN, нельзя же так пугать! 1. Используем секции в ini-файле (для каждого диалога своя секция), что позволяет использовать числа, уникальные только для диалога, но не обязательно для всего проекта, а также упрощает работу с ini-файлом. 2. Используем числа, соответствующие значениям идентификаторов (для чего - см. ниже) 3. Создаем функцию, которая будет извлекать строку и изменять элемент. Поскольку ID элемента равен числу в ini-файле, в функцию достаточно передавать один параметр (за исключением hwnd), что быдет выглядеть примерно как Translate(hwnd, IDC_STATIC_FIRST);, а если закинуть в базовай класс окна, то и того меньше: Translate(IDC_STATIC_FIRST); Вероятно, можно даже организовать в этой функции цикл с обходом всех элементов и тогда нам не потребуется вызывать Translate для каждого элемента, а просто один раз в OnInitDialog вызвать Translate(); (совсем без параметров!) и мы получим желаемый результат. Но подходит это только для диалогов. |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Теоретически для любых окон. Только перевод делается в другом месте. Реально, нужно еще только для блокнотов (PropertySheet): там перевод делается для каждой страницы. Кстати, не забудте о переводе строк комбобокса, которые добавляются непосредственно в ресурсах. А что еще нужно? Меню - сразу после загрузки (LoadMenu), можно свой класс сочинить и там функцию перегрузить. Ну еще в LoadFrame можно добавить. -------------------- ... |
|||
|
||||
| takedo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 501 Регистрация: 1.6.2005 Репутация: нет Всего: 3 |
Earnest, а как из утилиты сразу ресурсы высмотреть и отобразить какие там диалоги, строки и т.д.???
-------------------- я не гольфист - я хоккеист |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
В смысле, как добраться до ресурсов другого исполняемого модуля?
Грузишь (LoadLibrary, exe тоже можно) с флагом что-то про ресурсы, без разрешения ссылок. Получаешь HINSTANCE и перебираешь ресурсы. Точно сейчас функции не вспомню, но было тема в этом форуме или в API о ресурсах, я там писала, как перечислить ресурсы. -------------------- ... |
|||
|
||||
| takedo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 501 Регистрация: 1.6.2005 Репутация: нет Всего: 3 |
нашёл размышления Kergan- влепил ему плюс, думаю можно будет если что разобраться
-------------------- я не гольфист - я хоккеист |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Поищи в этом форуме слово "EnumResourceTypes".
А еще вот статья MSDN:
Найди ее (есть переход из описания EnumResourceTypes), там есть примеры. -------------------- ... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |