Вообщем, интересует сабж. Не предлагать MessageBox - в данном случае он не подходит. Конкретно интересует как сделать captions кнопок на русском в MessageDlg и заголовок тоже хотелось бы сделать на русском а не "Confirmation" Заранее сэнкс..
» MessageDlg - есть ли возможность руссифицировать?
Цитата:
Не предлагать MessageBox - в данном случае он не подходит. Конкретно интересует как сделать captions кнопок на русском в MessageDlg и заголовок тоже хотелось бы сделать на русском а не "Confirmation" Заранее сэнкс..
Почему не подходит? Самый правильный вариант это MessageBox. Чем он тебе не нравится. Крайний случай, это если он в самом деле тебе не подходит, это получаешь хэндл данного MessageDlg через FindWindow потом делаешь ему SetWindowText а потом чтобы поменять названия кнопок делаешь в этом хэндле FindWindowEx с названиями кнопок, получаешь хэндл каждой кнопки и опять SetWindowText. Если хочешь иметь гемор, используй второй способ.
Солидарен с ShIvADeSt.
Ну а если все таки в самом деле тебе не подходит, так в продолжении второго варианта после получения хэндла диалога есть возможности:
GetDlgItem(IDC_PUNCH)->SetWindowText(_T("...''));
или SetDlgItemText(...);
Ну а если все таки в самом деле тебе не подходит, так в продолжении второго варианта после получения хэндла диалога есть возможности:
GetDlgItem(IDC_PUNCH)->SetWindowText(_T("...''));
или SetDlgItemText(...);
Как вариант: самому изменить необходимые надписи в модуле Consts. В нем прописаны константы для диалоговых окон. Сохрани его где-нить с тем же именем. Путь к нему укажи в Tools -> Environment Options -> Library -> Browsing Path
Есть готовое давнишнее решение
Идем на http://polesoft.narod.ru/
Качаем набор руссификации для runtime'a.
Закидываем его в пути, компилим и все по-русски.
Сам пользую и другим советую.
Идем на http://polesoft.narod.ru/
Качаем набор руссификации для runtime'a.
Закидываем его в пути, компилим и все по-русски.
Сам пользую и другим советую.
Привет!
Если речь идет о Delphi, то брать файлы русификации строковых констант Delphi от Polaris. Можно заменить напрочь дельфовые, а можно в каталог приложения положить - будет только в Вашем приложении.
Если речь идет о Delphi, то брать файлы русификации строковых констант Delphi от Polaris. Можно заменить напрочь дельфовые, а можно в каталог приложения положить - будет только в Вашем приложении.
Спасибо. Воспользуюсь русификацией от Polaris.
ShIvADeSt
MessageBox лучше не использовать, ИМХО. Не случайно был написан модуль Dialogs...
Bonivur
Самое простое - взять этот модуль (Dialogs) в исходниках, скопировать с другим именем (например, DialogsRus) и поменять используемые им ресурсы на русские, а потом подключать, когда надо.
MessageBox лучше не использовать, ИМХО. Не случайно был написан модуль Dialogs...
Bonivur
Самое простое - взять этот модуль (Dialogs) в исходниках, скопировать с другим именем (например, DialogsRus) и поменять используемые им ресурсы на русские, а потом подключать, когда надо.
MrZeRo
Цитата:
После внимательного изучения как и что реализовано в этом модуле, я пришел к выводу что человек, который написал этот модуль либо не знал о существовании API функции,
либо не понял тех задание.
В Делфи очень много классов-оберток над API функционалом (зачастую с хорошим и удобным расширением), в данном случае это самостоятельная реализация, гораздо более слабая по возможностям чем API.
Для примера как можно установить кнопкой по умолчанию не первую кнопку? Ответ никак, а в API это просто добавление константы.
Цитата:
MessageBox лучше не использовать, ИМХО. Не случайно был написан модуль Dialogs...
После внимательного изучения как и что реализовано в этом модуле, я пришел к выводу что человек, который написал этот модуль либо не знал о существовании API функции,
либо не понял тех задание.
В Делфи очень много классов-оберток над API функционалом (зачастую с хорошим и удобным расширением), в данном случае это самостоятельная реализация, гораздо более слабая по возможностям чем API.
Для примера как можно установить кнопкой по умолчанию не первую кнопку? Ответ никак, а в API это просто добавление константы.
vserd
Не в этом дело. У меня был отрицательный опыт использования MessageBox при использовании модальных форм Delphi. Если форма показывается при помощи ShowModal, потом в этой форме вызывается MessageBox, а потом пользователь щелкает мышью на форму, то окно, выводимое при помощи MessageBox, теряло фокус!
Я так понял, что модуль Dialogs и был написан для того, чтобы обойти этот глюк.
(хотя сейчас попробовал в Delphi7+Upd1 - не смог воспроизвести эту ошибку! хотя точно помню, что когда-то было ...)
Не в этом дело. У меня был отрицательный опыт использования MessageBox при использовании модальных форм Delphi. Если форма показывается при помощи ShowModal, потом в этой форме вызывается MessageBox, а потом пользователь щелкает мышью на форму, то окно, выводимое при помощи MessageBox, теряло фокус!
Я так понял, что модуль Dialogs и был написан для того, чтобы обойти этот глюк.
(хотя сейчас попробовал в Delphi7+Upd1 - не смог воспроизвести эту ошибку! хотя точно помню, что когда-то было ...)
Цитата:
Не в этом дело. У меня был отрицательный опыт использования MessageBox при использовании модальных форм Delphi. Если форма показывается при помощи ShowModal, потом в этой форме вызывается MessageBox, а потом пользователь щелкает мышью на форму, то окно, выводимое при помощи MessageBox, теряло фокус!
Понимаешь, вообще то если выведен MessageBox, то щелкнуть мышью на форму не получится, если правильно выводить MessageBox. Просто в последнее время я многие вещи, которые можно сделать на АПИ и есть время делаю на АПИ, и поверь что модуль Диалоги был написан для ленивых, тем более что есть возможность вызвать MessageBox сл. образом
Application.MessageBox('qqq','qqqqqqqqqq',0);
только что проверил, создал две формы одну показал через ШоуМодал, а потом в ней показал MessageBox и нкак нельзя было щелкнуть саму форму пока наверху диалог. Дельфи 5 для интересующихся.
Страницы: 1
Предыдущая тема: Вопросы по Delphi
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.