74 / 54 / 17
Регистрация: 10.07.2014
Сообщений: 329
|
|
1 | |
MessageBox и VCL-стили01.10.2014, 15:23. Показов 1837. Ответов 5
Метки нет (Все метки)
Столкнулся с проблемой...
При использовании Application->MessageBox() - это окно не поддерживает VCL-стиль примененный ко всей остальной программе. Зато кнопки на русском (Ок, Отмена, Да....) При использовании MessageDlg() - кнопки и заглавие окна на английском, но окошко в VCL стиль нормально отрисовывает. Можно конечно свое диалоговое окошко нарисовать.. Но может есть варианты либо применить стиль к MessageBox либо русифицировать MessageDlg Метод русификации нашел только один - в исходниках vcl менять. Это плохой метод.
0
|
01.10.2014, 15:23 | |
Ответы с готовыми решениями:
5
Можно ли добавить новые стили для кнопок VCL формы или создать свои в RAD Studio 10.1 Berlin? Два раза открывается MessageBox.Show после второго вызова MessageBox А что находится внутри функции MessageBox или как еще можно создать MessageBox? Встроенные стили элементов или стили в отдельном файле |
Native x86
5594 / 3338 / 951
Регистрация: 13.02.2013
Сообщений: 10,587
|
|
01.10.2014, 15:30 | 2 |
Это потому, что MessageBox вообще не является VCL-окном. Это простейшая обертка над системным вызовом MessageBox() из user32.dll.
Да, есть такая проблема. Тут или править VCL или свое окно делать, третьего не дано.
0
|
Супер-модератор
|
|
01.10.2014, 15:32 | 3 |
Сообщение было отмечено krv как решение
Решение
Причина понятна, надеюсь? Внутри этот метод вызывает API-шную функцию, которая никакого отношения к VCL-стилям не имеет...
Это ты плохо искал: MessageDlgPos: 1) изменение названий кнопок и 2) размещение в центре вызвавшей формы
0
|
01.10.2014, 20:09 | 4 |
Логично было предположить что должен, ибо вызывается через Application.
Это уже разрабам влом было видимо дорабатывать. А Application->MessageBox() вроде как единственный руссифицированный диалог.
0
|
3 / 3 / 0
Регистрация: 22.01.2013
Сообщений: 26
|
|
02.10.2014, 15:06 | 5 |
0
|
Супер-модератор
|
|
02.10.2014, 15:10 | 6 |
Это VCL-тема "Metro Blue"
0
|
02.10.2014, 15:10 | |
02.10.2014, 15:10 | |
Помогаю со студенческими работами здесь
6
MessageBox: Как сделать так, чтобы если окно модальное, при клике на родительское окно MessageBox мигал? При нажатии в одном messagebox "Нет" всё равно появляется другой messagebox Новые стили не применяются, удалил все стили а они все равно работают VCL vs Qt Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |