Почему глифы, включенные в TBitBtn, настолько уродливы и устарели?
Глифы, связанные с TBitBtn для даже Delphi 2010, являются прерывистыми и "уродливыми". Есть ли причина обратной совместимости, что они остаются? Включает ли Embarcadero обновленные замены png, которые я мог бы использовать вместо этих обычных глифов?
Возможно, это только я, но мне бы хотелось, чтобы Embarcadero попросил (или нанял) графических дизайнеров улучшить эти значки.
![alt text]()
Ответы
Ответ 1
О, как бы я хотел, чтобы этот контроль просто умер: -/... Он был представлен в Delphi 1, который нацелился на 16-битную Windows 3.x. В то время маленькие глифы на пуговицах были очень новыми и "одетыми" в пользовательский интерфейс. (Помните BWCC?) Я полагаю, что стандарты пользовательского интерфейса были намного ниже, потому что я каждый день сжимаю каждый раз, когда вижу приложение с этими глифами... Они в основном включены для обратной совместимости.
Просто придерживайтесь обычного TButton, который является родным элементом управления Windows, и теперь изначально поддерживает больше стилей, чем даже TBitBtn (в то время мы также обсуждали гласные). Если вы просто должны добавить глиф на кнопке Delphi/RAD Studio XE включает в себя целый набор бесплатных, более современных глифов из GlyFX (http://www.glyfx.com/).
Ответ 2
Почему вы даже используете их? Кнопкам не нужны значки. У них достаточно визуальных сигналов без появления uxtheme. Возможно, это объяснение: зачем обновлять то, что теперь является наследием?
Ответ 3
(Просто чтобы все, кто читал этот поток, получили большую картину: TBitBtn
сводится к собственному управлению Win32 BUTTON
, как и TButton
, но имеет некоторые дополнительные свойства. Один из них - простой способ отображения значка рядом с надписью. Другим из них является Kind
, который может быть bkYes
, bkNo
и т.д., И задает надпись и символ кнопки. Стандартные глифы показаны выше, и действительно, они старые.)
Обновление
После того, как вы почувствовали контроль, а затем взглянув на исходный код VCL, я вижу, что этот элемент управления фактически реализован в Delphi, т.е. все чертежи выполняются вручную (используя UxThemes
, конечно). Это майор -1, если вы спросите меня, потому что кнопка не ведет себя как обычные элементы управления Windows, если включена Aero. Он чувствует себя иначе.
Окончательное обновление
Да, обратная совместимость, вероятно, одна вещь. Другое дело, что вы можете установить "глиф" на любой растровый рисунок, который вы хотите. Кроме того, поскольку кнопки этого внешнего вида нестандартны в среде Windows, он, вероятно, имеет довольно низкий приоритет в Embarcadero.
Тем не менее, чтобы дать вам некоторую практическую информацию, в Delphi 2009 (по крайней мере), есть несколько современных изображений PNG, установленных на
C:\Program Files (x86)\Common Files\CodeGear Shared\Images\GlyFX\Icons\PNG\16x16
Ответ 4
Обратная совместимость до крайности.
Вы не хотите, чтобы ваше приложение Delphi 1 FishFact выглядело иначе в Delphi XE, не так ли?
Обратите внимание, что вы получаете полный набор значков с более поздними версиями Delphi.
В Windows XP они находятся в C:\Program Files\Common Files\CodeGear Shared\Images\GlyFX
- Йерун
Ответ 5
Я также не могу понять, почему они все еще не поддерживают PNG (и другие типы изображений) для ВСЕХ их компонентов.
Ответ 6
Доступны бесплатные замены.