C++/WIN32 A professional looking application - is

2019-02-13 03:45发布

I've been looking everywhere to find a good solution / tip on how to release an application that has todays 'top-end' look.

As we all know, when coding with windows we normally get windows-style colors/buttons/lists etc. They just look and feel ugly.

When we decide we want to sell an application, people want it to look good - obviously because they have paid for it.

So the question is:

  • How is the good application look achieved today?
  • Owner drawing? ( really?? )
  • custom-controls ?
  • some good non-free libraries that do the 'dirty' work and 'skin' your application?

I don't believe programmers do those 'overdrawn' tips and tricks, it takes so long to have one control completely done.. Besides, i would rather spend that time coding the internal application stuff than playing around with per-control drawing..

I have no clue, but have a deadline and now after going through all those 'ownerdrawed' controls on google - i came up that this is not the thing.. There has to be something else that comes handy when a programmer needs to make his application look top-end!.

Please help, any tools ? any tips ? any-anything.. ?

Few examples, how do they achieve that look:

http://fooh.pl/pokaz/3198197337370da4cdfdebf0ae13933c_openfm.jpg

9条回答
家丑人穷心不美
2楼-- · 2019-02-13 04:16

Usually, you can render custom controls with GDI(+) rendering.

查看更多
Ridiculous、
3楼-- · 2019-02-13 04:18

If you don't mind getting into C++/CLI, there is WPF, it offers pretty extensive control over user defined styles and templates.

查看更多
一纸荒年 Trace。
4楼-- · 2019-02-13 04:18

You might want to take a good look at SkinCrafter. It's mature, stable, and very flexible. I no longer use it but my experience with it was quite enjoyable.

查看更多
虎瘦雄心在
5楼-- · 2019-02-13 04:21

You could use external layout engines, one such is HTMLayout from terra informatica, this one is also used some professional software.

查看更多
Root(大扎)
6楼-- · 2019-02-13 04:26

There probably is not a single control in that application.

Instead, the whole thing is rendered as an image. There's a background image, along with some overlay images (mostly transparent) to provide mouseover-highlight, disabled controls, etc. The only thing that's not prerendered is the current track and playlist information, which is pure text with a particular font.

Hit-testing can be performed with yet another image.

The programmer does virtually no work to implement the fancy design, it's all done by an artist (and programs like Photoshop support layers in the editor, making it quite easy to construct all the overlays).

The downside, of course, is that buttons don't act exactly like normal Win32 buttons do. They don't support keyboard focus (although there probably are hotkeys) and simply activate on mouseup. And accessibility is horrendous, there's no information for a screenreader, and the application doesn't respect system font-size settings. In order to make the UI readable by people with poor eyesight, an entirely different skin is required.

查看更多
干净又极端
7楼-- · 2019-02-13 04:26

The C++ team put together a sample called Hilo (like the place in Hawaii) that uses no frameworks (no ATL, no MFC) and is all native code. It uses a number of Windows 7 capabilities and some delightful graphics and animations. All the code and design is available and documented. Take a look.

查看更多
登录 后发表回答