![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поменять надписи на кнопках MessageDlg? [D7, WinXP]
Trifle © (2005-10-17 15:41:00)Вообщем то сабж. Только не надо тыкать меня носом в Consts.pas. Мне это надо только в одном месте в одном проекте. Вообщем надо в runtimе поменять. Неужели придётся свой диалог рисовать?
Amoeba (2005-10-18 11:43:00) [1]Все модули со всеми переведенными константами давно уже лежат на http://polesoft.da.ru
Ega23 (2005-10-18 11:36:00) [2]А чем MessageBox из winAPI не устраивает???
Суслик (2005-10-18 11:32:00) [3]я просто спер код messagedlg из dialogs.pas, перевел, добавил еще своей функциональности и счастливо пользуюсь.
antoxa2005 (2005-10-18 10:27:00) [4]Есть такой файл в Dephi точно не помню, но что-то вроде Constants... меняешь там значения например Yes на ДА или Cancel на Отмена и т.д. и твоя Delphi при компеляции все устроит, и будут у тебя MessageDLG полностью на русском языке. Я сам пользуюсь уже давно... Если не найдешь файл то пиши на e-mail подробно отвечу.
Leonid Troyanovsky (2005-10-18 08:40:00) [5]
> Игорь Шевченко © (17.10.05 18:39) [10]
> Я проверял - не работает :)
Значит, нас снова надули.
http://support.microsoft.com/default.aspx?scid=kb;en-us;152670
--
Regards, LVT.
Игорь Шевченко (2005-10-17 18:39:00) [6]Leonid Troyanovsky © (17.10.05 18:09) [9]
Я проверял - не работает :)
Leonid Troyanovsky (2005-10-17 18:09:00) [7]
> Игорь Шевченко © (17.10.05 17:28) [6]
> > Если про локализацию, то, скажем, MessageBoxEx.
> Оно, я извиняюсь, никогда не работало - MessageBoxEx с указанием
> последнего параметра. Да и причина проста - в Win32k.sys
Никогда это - NT3.5-4.
В локализованной w2k, д.б., по-крайней мере, два - включая LANG_NEUTRAL.
Однако, проверять оное мня ломает.
--
Regards, LVT.
REA (2005-10-17 17:41:00) [8]Названия кнопок оттуда же:
ButtonNames: array[TMsgDlgBtn] of string = (
'Yes', 'No', 'OK', 'Cancel', 'Abort', 'Retry', 'Ignore', 'All', 'NoToAll',
'YesToAll', 'Help');
REA (2005-10-17 17:39:00) [9]А на что надо поменять?
MessageDlg использует TMessageForm, которая создается в
function CreateMessageDialog(const Msg: string; DlgType: TMsgDlgType;
Buttons: TMsgDlgButtons): TForm;
можно использовать эту функцию, найти кнопки и заменить текст.
См. исходники.
Игорь Шевченко (2005-10-17 17:28:00) [10]Leonid Troyanovsky © (17.10.05 16:22) [4]
> Если про локализацию, то, скажем, MessageBoxEx.
Оно, я извиняюсь, никогда не работало - MessageBoxEx с указанием последнего параметра. Да и причина проста - в Win32k.sys ресурсы на одном языке всегда были.
Германн (2005-10-17 16:27:00) [11]Ну если уж так далеко зашло дело, то File->New... Dialogs.
И пиши на кнопках всё, что хошь.
Leonid Troyanovsky (2005-10-17 16:22:00) [12]
> Trifle (17.10.05 16:06) [3]
> Речь идёт о MessageBox? Но всё равно мне нужно поменять
> надписи на кнопках, в MessageBox такой возможности я не
> нашёл :(
Зависит от. Если про локализацию, то, скажем, MessageBoxEx.
Если произвольно, то перед MessageDlg сделать, например,
главной форме PostMessage WM_USER, в обработчике которого:
FindWindow(Ex) & WM_SETTEXT.
--
Regards, LVT.
Trifle (2005-10-17 16:06:00) [13]Речь идёт о MessageBox? Но всё равно мне нужно поменять надписи на кнопках, в MessageBox такой возможности я не нашёл :(
Trifle (2005-10-17 15:57:00) [14]
> Не использовать MessageDlg, а использовать системные аналоги.
можно с этого места поподробней плиз или урл какой?
REA (2005-10-17 15:48:00) [15]варианты:
1) Не использовать MessageDlg, а использовать системные аналоги.
2) Сделать библиотеку ресурсов .rus