IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Ispolzovanie neskolkih yazykov v odnom resource fajle (VC++) (https://www.imho.ws/showthread.php?t=60724)

psa 03.06.2004 17:58

Ispolzovanie neskolkih yazykov v odnom resource fajle (VC++)
 
Hi all,
Moget ya neskolko ne tochno napisal temu, no u menya voznik sleduuschij vopros.
V VC6++ sozdan proekt. V resursah ya sozdau naprimer neobhodimye dialogi na odnom yazyke, potom delau kopii etih dialogov (cheres Insert Copy) i menyau tolko punkt Language i potom perevogu tekst. U oboih dialogov odinakovyj ID. Kak mne mogno potom perekluchat, resursy kakoj yazykovoj gruppy budut ispolzovatsya? Odtdelnyj dll s resursami ya delat ne hochu, hochetsya chtoby vse bylo v odnom fajle.

Dimm 03.06.2004 19:08

psa

Используй функцию:
Код:

HRSRC FindResourceEx(
  HMODULE hModule,
    LPCTSTR lpType,
    LPCTSTR lpName,
    WORD wLanguage
);

Полученный handle кидаешь в LoadResource.

Но я бы на твоём месте, не морочил себе голову, а дал бы этим диалогам просто разные ID.

Или дать ID в диапазонах по языку.
Например можно сделать так: ID в диапазоне от 1000 до 5000 - русский, ID в диапазоне от 5000 до 10000 русский и т.д.

Всё зависит от поставленной задачи.

psa 03.06.2004 23:36

Спасибо за ответ. Собственно особой задачи нет, должна быть поддержка переключения языков и очень желательно чтобы все было 1м файлом. Программа сама содержит около 15 диалоговых окон и кучу текстовых сообщений, так что действительно выберу 2й вариант, он наверно попроще.
Просто я думал, есть функции выбора языка для ресурсов и необходимые ресурсы для данного языка выберутся автоматически, но увы :(

gandalf_g 04.06.2004 15:00

Диалог как раз и выбирается автоматически под язык операционки на которой запускается приложение. Ручками можно подправить мессаги, т.е. определяешь текущий язык операционки (есть такая функция, копаться в Msdn лень) и в зависимости от языка показываешь определенный текст для мессага. А вот если вручную показывать диалог, то да, вариант с различными Id хорош, достаточно при создании диалого, подсовывать ему нужный Id.


Часовой пояс GMT +4, время: 17:46.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.