Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
74 / 54 / 17
Регистрация: 10.07.2014
Сообщений: 329
1

MessageBox и VCL-стили

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

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

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

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

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

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

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

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

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

Решение

Цитата Сообщение от krv Посмотреть сообщение
это окно не поддерживает VCL-стиль примененный ко всей остальной программе.
Причина понятна, надеюсь? Внутри этот метод вызывает API-шную функцию, которая никакого отношения к VCL-стилям не имеет...
Цитата Сообщение от krv Посмотреть сообщение
Метод русификации нашел только один - в исходниках vcl менять. Это плохой метод.
Это ты плохо искал: MessageDlgPos: 1) изменение названий кнопок и 2) размещение в центре вызвавшей формы
Миниатюры
MessageBox и VCL-стили  
0
Эксперт С++
 Аватар для Avazart
8483 / 6150 / 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
 Аватар для volvo
33028 / 21328 / 8190
Регистрация: 22.10.2011
Сообщений: 36,638
Записей в блоге: 9
02.10.2014, 15:10 6
Это VCL-тема "Metro Blue"
0
02.10.2014, 15:10
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.10.2014, 15:10
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Как клонировать определенную ветку в Git
bytestream 24.01.2025
Одной из ключевых функций Git является возможность клонирования веток, что позволяет создавать локальные копии удаленных репозиториев и работать с определенными версиями проекта. Этот механизм. . .
Как в цикле обойти строки DataFrame в Pandas Python
bytestream 24.01.2025
DataFrame представляет собой одну из основных структур данных в библиотеке Python Pandas, которая организует информацию в виде двумерной таблицы с строками и столбцами. Эта структура данных особенно. . .
Как получить имя текущей ветки в Git
bytestream 24.01.2025
При работе с Git часто возникает необходимость определить имя текущей ветки, в которой ведется разработка. Знание текущей ветки является критически важным аспектом для эффективного управления. . .
Как отсортировать массив объектов по значению поля объекта в JavaScript
bytestream 24.01.2025
При разработке веб-приложений на JavaScript разработчики часто сталкиваются с необходимостью работать с массивами объектов. Эти структуры данных представляют собой упорядоченные наборы элементов, где. . .
Ошибка "src refspec master does not match any" при пуше коммита в Git
bytestream 24.01.2025
При работе с системой контроля версий Git разработчики нередко сталкиваются с различными ошибками, одной из которых является сообщение "src refspec master does not match any". Эта ошибка возникает. . .
Как округлить не более двух цифр после запятой в JavaScript
bytestream 24.01.2025
При работе с числами в JavaScript разработчики часто сталкиваются с необходимостью округления десятичных значений до определенного количества знаков после запятой. Это особенно важно при работе с. . .
Как сделать UPDATE из SELECT в SQL Server
hw_wired 24.01.2025
В современных системах управления базами данных операции обновления и выборки данных являются фундаментальными инструментами для работы с информацией. SQL Server предоставляет мощные команды UPDATE и. . .
Как вставить элемент в массив на указанный индекс в JavaScript
hw_wired 24.01.2025
Массивы являются одной из фундаментальных структур данных в JavaScript, предоставляющей разработчикам мощный инструмент для хранения и управления упорядоченными наборами данных. Они позволяют хранить. . .
Чем отличаются HashMap и Hashtable в Java
hw_wired 24.01.2025
В мире разработки на Java существует множество инструментов для работы с коллекциями данных, и среди них особое место занимают структуры данных для хранения пар ключ-значение. HashMap и Hashtable. . .
Как конвертировать видео в GIF
hw_wired 24.01.2025
В современном мире анимированные изображения стали неотъемлемой частью цифровой коммуникации. Формат GIF (Graphics Interchange Format) представляет собой особый тип файлов, который позволяет. . .
Как скопировать текст в буфер обмена на JavaScript во всех браузерах
hw_wired 24.01.2025
Копирование текста в буфер обмена стало неотъемлемой частью современных веб-приложений, значительно улучшающей пользовательский опыт и упрощающей работу с контентом. В эпоху активного обмена. . .
Как скрыть клавиатуру на Android
hw_wired 24.01.2025
При разработке Android-приложений часто возникает необходимость управлять видимостью экранной клавиатуры для улучшения пользовательского опыта. Одним из наиболее эффективных способов контроля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru