MessageBox... OK и Cancel
От: Аноним  
Дата: 04.02.11 16:41
Оценка:
Вопрос был забанен на этюдах... Может тут всплывет..., я не про гэ.

Здравствуйте, всем.
Наверное в юмор надо писать было...

Есть ряд, людей, к которым отношусь я, которые накидывали кнопки OK и Cancel в форме.
При условии, что заказчик не англоязычный, то требовалось изменить caption'ы кнопок.
Дело до маразма доходило...

Вопрос 1. Можно ли из недр API вытянуть Caption'ы OK, Cancel и им подобных батонов из MessageBox'а?
Без хаков.
Т.е. на сколько это ресурс.

Вопрос 2. (тут смешнее) MS столько сделало, чтобы работать с "культурами", неужели она позабыла про MessageBox? Но на русской винде я вижу то Да/Нет, то Yes/No.

Прокомментируйте, плз
Re: MessageBox... OK и Cancel
От: Pavel Dvorkin Россия  
Дата: 04.02.11 16:43
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Вопрос был забанен на этюдах...


Не забанен, а я проголосовал за его перенос сюда. Если еще двое проголосуют там, он сюда перенесется автоматически.
With best regards
Pavel Dvorkin
Re: MessageBox... OK и Cancel
От: CEMb  
Дата: 04.02.11 17:21
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, всем.

А>Наверное в юмор надо писать было...

А>Есть ряд, людей, к которым отношусь я, которые накидывали кнопки OK и Cancel в форме.

А>При условии, что заказчик не англоязычный, то требовалось изменить caption'ы кнопок.
А>Дело до маразма доходило...

А>Вопрос 1. Можно ли из недр API вытянуть Caption'ы OK, Cancel и им подобных батонов из MessageBox'а?

А>Без хаков.
А>Т.е. на сколько это ресурс.

Это ресурс, я находил все эти строчки в системной области памати. Как вытащить, не знаю.

А>Вопрос 2. (тут смешнее) MS столько сделало, чтобы работать с "культурами", неужели она позабыла про MessageBox? Но на русской винде я вижу то Да/Нет, то Yes/No.


Я не знаю.
Ну, это, возможно зависит от того что приложение Unicode или нет. Т.е. юникодные приложения локализуются в области системных ресурсов, неюникодные — английские всегда (гипотеза)
Re: MessageBox... OK и Cancel
От: MTimur  
Дата: 04.02.11 23:13
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Вопрос был забанен на этюдах... Может тут всплывет..., я не про гэ.


А>Здравствуйте, всем.

А>Наверное в юмор надо писать было...

А>Есть ряд, людей, к которым отношусь я, которые накидывали кнопки OK и Cancel в форме.

А>При условии, что заказчик не англоязычный, то требовалось изменить caption'ы кнопок.
А>Дело до маразма доходило...

А>Вопрос 1. Можно ли из недр API вытянуть Caption'ы OK, Cancel и им подобных батонов из MessageBox'а?

А>Без хаков.
А>Т.е. на сколько это ресурс.

Самый обыкновенный строковой ресурс. Для XP и старше — эти строки в ресурсах user32.dll. Для версий с MUI и для систем после XP — в ресурсах \Windows\System32\ru-RU\user32.dll.mui (ru-RU заменить на то, что вам нужно). ID'ки любой ковырялкой ресурсов посмотреть можно, мб в мсдн где-нибудь есть. Вот здесь можно поискать.


А>Вопрос 2. (тут смешнее) MS столько сделало, чтобы работать с "культурами", неужели она позабыла про MessageBox? Но на русской винде я вижу то Да/Нет, то Yes/No.

А>Прокомментируйте, плз

MessageBoxEx умеет показывать окошко на выбранном программистом языке. Т.е. по-умолчанию Ру, а там где хотели сохранить единый язык для всей программы, например, намеренно выставили En. Возможно в этом дело, хотя не факт.
Re[2]: MessageBox... OK и Cancel
От: CEMb  
Дата: 05.02.11 05:30
Оценка:
Здравствуйте, MTimur, Вы писали:

MT>MessageBoxEx умеет показывать окошко на выбранном программистом языке. Т.е. по-умолчанию Ру, а там где хотели сохранить единый язык для всей программы, например, намеренно выставили En. Возможно в этом дело, хотя не факт.


Это в какой операционке про язык работает? В msdn-е про этот параметр написано “reserved“
Re[3]: MessageBox... OK и Cancel
От: MTimur  
Дата: 05.02.11 10:32
Оценка:
Здравствуйте, CEMb, Вы писали:

CEM>Здравствуйте, MTimur, Вы писали:


MT>>MessageBoxEx умеет показывать окошко на выбранном программистом языке. Т.е. по-умолчанию Ру, а там где хотели сохранить единый язык для всей программы, например, намеренно выставили En. Возможно в этом дело, хотя не факт.


CEM>Это в какой операционке про язык работает? В msdn-е про этот параметр написано “reserved“


http://msdn.microsoft.com/en-us/library/ms645507(VS.85).aspx

где? не вижу “reserved“.
Re[4]: MessageBox... OK и Cancel
От: Aniskin  
Дата: 05.02.11 16:50
Оценка:
Здравствуйте, MTimur, Вы писали:

MT>Здравствуйте, CEMb, Вы писали:


CEM>>Здравствуйте, MTimur, Вы писали:


MT>>>MessageBoxEx умеет показывать окошко на выбранном программистом языке. Т.е. по-умолчанию Ру, а там где хотели сохранить единый язык для всей программы, например, намеренно выставили En. Возможно в этом дело, хотя не факт.


CEM>>Это в какой операционке про язык работает? В msdn-е про этот параметр написано “reserved“


MT>http://msdn.microsoft.com/en-us/library/ms645507(VS.85).aspx


MT>где? не вижу “reserved“.


У меня в MSDN 2005 года указано reserved. Кстати, по приведенной ссылке внизу страницы кто-то жалуется, что в XP SP2 этот параметр ни чего не меняет.
Re[5]: MessageBox... OK и Cancel
От: MTimur  
Дата: 05.02.11 23:42
Оценка:
Здравствуйте, Aniskin, Вы писали:

A>Здравствуйте, MTimur, Вы писали:


MT>>где? не вижу “reserved“.


A>У меня в MSDN 2005 года указано reserved. Кстати, по приведенной ссылке внизу страницы кто-то жалуется, что в XP SP2 этот параметр ни чего не меняет.


В 2k и XP точно не будет работать если не установлен MUI ввиду отсутствия ресурсов. В этих системах MUI ставится отдельно. Vista и 7 вроде всегда волокут за собой все известные им языки, хотя тоже не факт. Может быть поэтому у кого-то и не работает на XP.
У меня в XP работало, правда сейчас уже не вспомню какой в том момент был SP. В 2k никогда не пробовал.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.