| View previous topic :: View next topic |
| Author |
Message |
jeff1881 Junior Member

Joined: 20 Apr 2012 Posts: 2
|
Posted: Fri Apr 20, 2012 6:03 pm Post subject: TC 8 X64 bit menu bar is not skinned |
|
|
Hi,
I started to use TC 8 64 bit, but I noticed that its menu bar and menus are not skinned by windowsblind 7.4. The rest of UI and TC 8 32 bit are working fine.
It would be great to see this issue get fix, please.
OS: win 7 home - 64 bit
Cheers, Jeff |
|
| Back to top |
|
 |
Sob Power Member

Joined: 19 Jan 2005 Posts: 626
|
Posted: Fri Apr 20, 2012 7:05 pm Post subject: |
|
|
I can confirm it (tried with trial WindowBlinds version in VM). But unfortunately for you, I think the chance to get this fixed is very low.
To understand the problem:
TC32 is written in Delphi and unless menu contains images, Delphi lets the system draw the menu. So when WindowBlinds hooks into system, the menu is changed properly. Even with dropdown menu in main TC window, which is owner-drawn (i.e. application draws it) because of images (only one with them in TC), it works suprisingly well. It seem that author keeps most of the defaults set by system and does only minimal changes for drawing.
TC64 on the other hand is written in FreePascal/Lazarus. And Lazarus, unlike Delphi, always uses owner-drawn menus and it seems that it redraws them completely. It does not happen only with TC, but also with other Lazarus applications.
To solve it, author would have to throw out menu components provided by Lazarus and create own wrapper for system menus. And I don't think he's too eager to do that. Although if he did that right at the beginning, then with all those menu-drawing-related problems so far, the effort would probably paid for itself by now. ;) |
|
| Back to top |
|
 |
jeff1881 Junior Member

Joined: 20 Apr 2012 Posts: 2
|
Posted: Sat Apr 21, 2012 6:00 pm Post subject: |
|
|
Thanks Sob, for explaining, but I thought it might be better to stick to default draw of the system might be wiser especially if windows came with different skinning mechanism there won't be a major issue then. I am sticking to 32bit for the time being ,,
Cheers, Jeff. |
|
| Back to top |
|
 |
ghisler(Author) Site Admin


Joined: 04 Feb 2003 Posts: 24590 Location: Switzerland
|
Posted: Mon Apr 23, 2012 7:00 am Post subject: |
|
|
Lazarus also uses the Windows Theme functions - it must be a WindowBlinds bug. I haven't tried WindowBlinds myself, but I have tried several third party themes (after patching UXTheme.dll), and they seem to work just fine... _________________ Author of Total Commander
http://www.ghisler.com |
|
| Back to top |
|
 |
Sob Power Member

Joined: 19 Jan 2005 Posts: 626
|
Posted: Mon Apr 23, 2012 8:58 am Post subject: |
|
|
I'm not sure how exactly WindowBlinds does the drawing, but AFAIK it's different from standard themes, so Lazarus supporting themes does not help much.
I found this thread: http://forums.wincustomize.com/422802
I guess JeffxBreeze there is jeff1881 here, right?
But I don't get the first reply from guy who says it was fixed. His attached screenshot clearly shows main menu not skinned properly... |
|
| Back to top |
|
 |
ghisler(Author) Site Admin


Joined: 04 Feb 2003 Posts: 24590 Location: Switzerland
|
Posted: Thu Apr 26, 2012 7:38 am Post subject: |
|
|
Dropdown menus in TC use the right colors, but aren't always skinned. For example, the main menu in TC isn't fully skinned so it can show the icons in a custom way. The Lister menu should be fully skinned. _________________ Author of Total Commander
http://www.ghisler.com |
|
| Back to top |
|
 |
Hacker Moderator


Joined: 06 Feb 2003 Posts: 9107 Location: Bratislava, Slovakia
|
Posted: Thu Apr 26, 2012 3:31 pm Post subject: |
|
|
| Sob wrote: | | I'm not sure how exactly WindowBlinds does the drawing, but AFAIK it's different from standard themes, so Lazarus supporting themes does not help much. |
I think it intercepts the OnPaint event and does the drawing instead of Windows.
Roman _________________ Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um. |
|
| Back to top |
|
 |
|