![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Maksim |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 5.4.2004 Репутация: нет Всего: нет |
Всем привет!
Подскажите плиз если не сложно... 1. При создании проекта в окне Application Type есть поле Resource language. В том пакете который я приобрёл (на 8 дисках, Enterprise Architect) в этом поле есть все языки кроме русского. Можно как-то где-нибудь скачать и подгрузить русский файл? Или это вообще нереально? Если попробовать, например, пункты меню сделать на русском, то вместо слов абракадабра... Как исправить? 2. Как передать значение из DDX переменной соответствующему объекту и наоборот? Прочитал что это делается с помощью функции UpdateData, но она не передаёт ничего. Более того, скачал файлик с примером, там эта функция присутствует и работает как надо, но перед загрузкой этого примера выдаётся сообщение что он был сделан в другой версии студии и требуется его конвертировать. После конвертирования всё там работает, но внутрь UpdateData по F11 не залезает, чем она отличается от моей непонятно... Заранее спасибо, с уважением, Максим. |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 1 Всего: 165 |
если ты знаешь как сделать Label мембером формы, тогда перед тем как осущствлять передачу делай UpdateData(FALSE);
а в конце после всего UpdateData(TRUE); или наооборот... точно не помню... пытаюсь понять куда майкрософт засунула ClassWizard и главное ЗАЧЕМ? --------------------
|
|||
|
||||
| Maksim |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 5.4.2004 Репутация: нет Всего: нет |
Я наверно что-то не понимаю, но:
по Тому Арчеру UpdateData нужно делать не до и после передачи, а она и есть передача. С параметром TRUE значение из объекта (допустим edit control) передаётся в его DDX переменную, c FALSE наоборот - значение переменной передаётся объекту... Никаких дополнительных передач не треба... Вот, например, почему так получается: если войти по F11 в UpdateData (мою), затем войти в DoDataExchange, то там видим следующий код: void CERR_diaDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } тогда как Арчер в своей DoDataExchange видит вот это: void CERR_diaDlg::DoDataExchange(CDataExchange* pDX) { DDX_Text(pDX, IDC_EDIT1, m_strVariable); CDialog::DoDataExchange(pDX); } Этот код генерится автоматически в обоих случаях, так почему в моей версии студии не происходит обращение к DDX_Text? А ведь именно поэтому не работает - если её ручками добить, то всё ОК, но хотелось бы знать причину... Упс! Вот, нашёл ответ, по-моему: This problem can be chalked up to the joys of writing a book while working on a beta product Я не слишком силён в ангицком, но суть понятна. Это сообщение отредактировал(а) Maksim - 5.4.2004, 23:27 |
|||
|
||||
| Maksim |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 5.4.2004 Репутация: нет Всего: нет |
Всё, со вторым вопросом более или менее разобрался.
Остаётся первый |
|||
|
||||
| Maksim |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 5.4.2004 Репутация: нет Всего: нет |
А-у-у!
Что, у всех русский resource language присутствует изначально? Меню на русском никто не делал никогда? |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 6 Всего: 118 |
Я просто меню всегда создавал ручками, поэтому не сталкивался. А где такое окно искать надо ? |
|||
|
||||
| Maksim |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 5.4.2004 Репутация: нет Всего: нет |
Имеется ввиду окно создания проекта - MFC Application Wizard, вкладка Application Type, там раскрывающийся список Resource language. Хотя мож оно к меню и не относится, не знаю, но русского там нет и меню не получается на русском. Мож совпадение...
Вот скриншот: http:\\oldslav.chat.ru\pro\ex.gif |
|||
|
||||
| Guest |
|
||||
|
Unregistered |
Есть в MSDN такая информация: When you install Visual Studio, the setup application detects the locale listed in your system and installs the appropriate language template or templates for that locale. For example, for Western European locales, setup installs English, French, Italian, Spanish, and German. These languages appear in the Resource language list on the Application Type page of the MFC Application Wizard. Not all templates are installed on all systems, because the templates are ANSI encoding based, and not all resources can be edited on all systems. For example, by default, you cannot edit Japanese resources on a French system. If you are using Windows 2000 or later and you want to create an MFC application in another language, then you must copy the template directory for the appropriate language from the Visual Studio CD to your system. Note To edit the created project, you must set your system locale to the appropriate locale for the selected language. The templates are each assigned a folder in the \Microsoft Visual Studio .NET 2003\Vc7\VCWizards\mfcappwiz\templates\ directory, as listed in the following table . To access the desired language template, copy the appropriate folder to the \mfcappwiz\templates\ directory on your computer. Once you have copied the folder, the language will appear in the Resource language list on the Application Type page of the MFC Application Wizard. Пожалуйста, посмотрите у себя на инсталляционном CD соответствующую поддиректорию, согласно указанному выше. Может быть, там есть и русские ресурсы. Я сам не проверял, но надеюсь на наличие. Если у Вас нет этого CD или, все же, нет там русских ресурсов, то я могу посмотреть тогда у себя и прислать Вам - куда укажете. Но, может быть, я не совсем правильно понимаю Ваш вопрос и Ваша проблема заключается не в самом русском ресурсе, то есть его содержании, а в отображении его на экране - например, в меню. Тогда перейдите на UNICODE и проблемы не будет.
UpdateData работает как надо, и именно так как надо Вам. Я это сейчас проверил и на V.Studio 6.0, и на V.Studio .NET 2003. Надо соответствено указывать для данного метода значение аргумента: TRUE - значения передаются от диалоговых объектов переменным, а при FALSE - наоборот. Если переменные введены Вами средствами визуальной разработки или же вручную и правильно (то есть все сделано для DDX), то UpdateData работает. |
||||
|
|||||
| Maksim |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 5.4.2004 Репутация: нет Всего: нет |
Да, точно, у меня на установочном диске нет русского ресурса!
Буду очень благодарен если получу его Пожалуйста, пришлите его, кто-нибудь! [email protected] Заранее спасибо. |
|||
|
||||
| [ t.i.m. ] |
|
|||
|
Unregistered |
Нет необходимости искать русскоязычную dll...
Просто забей на абракадабру, поставь язык при мастере оздания на Английский, а когда визард произведет все построения и перед тобой будет редактор с диалогом. Зайди в Resource View, выбери ресурс с диалогом (типа IDD_SOMEMY_DIALOG), а потом переключись на Properties View, там в пункте Language выберешь Русский. Не удивляйся если лейбл с написанными русскими буквами останется абракадаброй... Просто тектс в поле Caption заново надо набрать... Попробуй, если не поможет пиши еще... [ t.i.m. ] |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |