74 / 54 / 17
Регистрация: 10.07.2014
Сообщений: 329
1

MessageBox и VCL-стили

01.10.2014, 15:23. Показов 1837. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Столкнулся с проблемой...
При использовании Application->MessageBox() - это окно не поддерживает VCL-стиль примененный ко всей остальной программе. Зато кнопки на русском (Ок, Отмена, Да....)
При использовании MessageDlg() - кнопки и заглавие окна на английском, но окошко в VCL стиль нормально отрисовывает.

Можно конечно свое диалоговое окошко нарисовать.. Но может есть варианты либо применить стиль к MessageBox либо русифицировать MessageDlg
Метод русификации нашел только один - в исходниках vcl менять. Это плохой метод.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.10.2014, 15:23
Ответы с готовыми решениями:

Можно ли добавить новые стили для кнопок VCL формы или создать свои в RAD Studio 10.1 Berlin?
Распишу по подробнее нужно изменить стиль компонента Button1. У него есть свойство Style в нем есть...

Два раза открывается MessageBox.Show после второго вызова MessageBox
Здравствуйте! Подскажите пожалуйста... Мне вот надо было сделать диалоговое окно для ввода данных...

А что находится внутри функции MessageBox или как еще можно создать MessageBox?
Помните сказку о лягушке-царевне? Что необходимо было сделать, чтобы убить Кащея-бессмертного?...

Встроенные стили элементов или стили в отдельном файле
Здравствуйте. Вопрос чисто из интереса, хотелось бы знать, как лучше с теоретической точки зрения. ...

5
Native x86
Эксперт Hardware
5594 / 3338 / 951
Регистрация: 13.02.2013
Сообщений: 10,587
01.10.2014, 15:30 2
Цитата Сообщение от krv Посмотреть сообщение
При использовании Application->MessageBox() - это окно не поддерживает VCL-стиль примененный ко всей остальной программе.
Это потому, что MessageBox вообще не является VCL-окном. Это простейшая обертка над системным вызовом MessageBox() из user32.dll.

Цитата Сообщение от krv Посмотреть сообщение
При использовании MessageDlg() - кнопки и заглавие окна на английском
Да, есть такая проблема. Тут или править VCL или свое окно делать, третьего не дано.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32959 / 21276 / 8169
Регистрация: 22.10.2011
Сообщений: 36,546
Записей в блоге: 8
01.10.2014, 15:32 3
Лучший ответ Сообщение было отмечено krv как решение

Решение

Цитата Сообщение от krv Посмотреть сообщение
это окно не поддерживает VCL-стиль примененный ко всей остальной программе.
Причина понятна, надеюсь? Внутри этот метод вызывает API-шную функцию, которая никакого отношения к VCL-стилям не имеет...
Цитата Сообщение от krv Посмотреть сообщение
Метод русификации нашел только один - в исходниках vcl менять. Это плохой метод.
Это ты плохо искал: MessageDlgPos: 1) изменение названий кнопок и 2) размещение в центре вызвавшей формы
Миниатюры
MessageBox и VCL-стили  
0
Эксперт С++
8482 / 6149 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
01.10.2014, 20:09 4
Цитата Сообщение от krv Посмотреть сообщение
ри использовании Application->MessageBox() - это окно не поддерживает VCL-стиль примененный ко всей остальной программе.
Логично было предположить что должен, ибо вызывается через Application.
Это уже разрабам влом было видимо дорабатывать. А Application->MessageBox() вроде как единственный руссифицированный диалог.
0
3 / 3 / 0
Регистрация: 22.01.2013
Сообщений: 26
02.10.2014, 15:06 5
Цитата Сообщение от UI Посмотреть сообщение
Причина понятна, надеюсь? Внутри этот метод вызывает API-шную функцию, которая никакого отношения к VCL-стилям не имеет...Это ты плохо искал: MessageDlgPos: 1) изменение названий кнопок и 2) размещение в центре вызвавшей формы
А что за стиль оформления у Вас используется?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32959 / 21276 / 8169
Регистрация: 22.10.2011
Сообщений: 36,546
Записей в блоге: 8
02.10.2014, 15:10 6
Это VCL-тема "Metro Blue"
0
02.10.2014, 15:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.10.2014, 15:10
Помогаю со студенческими работами здесь

MessageBox: Как сделать так, чтобы если окно модальное, при клике на родительское окно MessageBox мигал?
Здравия всем! Никак не найду нужный MB_*, как можно сделать так, чтобы если сделать MessageBox...

При нажатии в одном messagebox "Нет" всё равно появляется другой messagebox
При удалении записи сделал messagebox с подтверждением Да или Нет. При нажатии Нет всё равно...

Новые стили не применяются, удалил все стили а они все равно работают
Всем здравствуйте. У меня катастрофа!!! Мозг уже разплавился! Вообщем что случилось: Вчера решил...

VCL vs Qt
Что лучше, мое мнение что VCL.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru