开发者

Why are the glyphs included with TBitBtn so ugly and outdated? [closed]

开发者 https://www.devze.com 2023-02-03 06:50 出处:网络
开发者_Python百科 As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references,or expertise, but this question will likely
开发者_Python百科 As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. Closed 10 years ago.

The glyphs associated with TBitBtn for even Delphi 2010 are choppy and "ugly". Is there a backwards-compatibility reason that they remain? Does Embarcadero include updated png replacements that I could use instead of these normal glyphs?

Maybe it's just me, but I'd love to see Embarcadero solicit (or hire) graphic designers to improve these icons.

Why are the glyphs included with TBitBtn so ugly and outdated? [closed]


Oh how I wish that control would just die :-/... It was introduced in Delphi 1, which targeted 16bit Windows 3.x. At that time little glyphs on buttons were very novel and "dressed up" the UI. (Remember BWCC?) I suppose the UI standards were much lower then, because I cringe every time I see an application with those glyphs... They are mainly included for backward compatibility purposes.

Just stick with a regular TButton, which is a native Windows control and now natively supports more styles than even the TBitBtn (we were vowel challenged in those days, too). If you simply must include a glyph on the button Delphi/RAD Studio XE includes a whole host of free, more modern, glyphs from GlyFX (http://www.glyfx.com/).


Why are you even using these? Buttons don't need icons. They have enough visual cues without with the advent of uxtheme. Perhaps that's the explanation: why update something that is now legacy?


(Just so that everyone reading this thread gets the big picture: TBitBtn boils down to the native Win32 BUTTON control, as does TButton, but it has some additional properties. One of these is a simple way of displaying an icon next to the caption. Another of these is Kind, which can be bkYes, bkNo etc., and presets the caption and glyph of the button. The standard glyphs are shown above, and indeed, they are old.)

Update

After feeling the control, and then having a look at the VCL source code, I see that this control is actually implemented in Delphi, that is, all drawing is done manually (using UxThemes, of course). This is a major -1, if you ask me, because the button doesn't behave like ordinary Windows controls if Aero is enabled. It feels different.

End update

Yes, backward compatibility is probably one thing. Another is that you are free to set the "glyph" to any bitmap you wish. Also, since buttons of this appearance is non-standard in the Windows environment, it probably has rather low priority at Embarcadero.

Nevertheless, to give you some practical information, in Delphi 2009 (at least), there are a few modern PNG images installed at

C:\Program Files (x86)\Common Files\CodeGear Shared\Images\GlyFX\Icons\PNG\16x16


Backward compatibility to the extreme.

You don't want your Delphi 1 FishFact app to look differently in Delphi XE, do you?

Note that you get a full new set of icons with more recent Delphi versions.
On Windows XP those are in C:\Program Files\Common Files\CodeGear Shared\Images\GlyFX

--jeroen


I also can't understand why they still don't support PNGs (and other image types) for ALL their components.


Free replacements are available.

0

精彩评论

暂无评论...
验证码 换一张
取 消