Frame Color - MDI vs Non-MDI

c10
Tags: #<Tag:0x00007f46d968a9a8>

#1

A Clarion MDI Windows vs Non-MDI Windows Frame Color tends to be different. Non-MDI Window Frame color gets themed with Windows 10 O/S theme frame color, but not MDI or FRAME Window.

Is it possible to change MDI / Frame Header Color in C10?

Thanks,
-R


#2

I don’t know much about this, but I thought I’d pass on this response from Thomas Glomb on the SV C10 NG to a similar question:

Lines: 8
Xref: discuss.softvelocity.com sv.clarion.clarion10:14707
From: Thomas Glomb
Subject: Re: Application Frame / Window on Windows 10
Newsgroups: sv.clarion.clarion10
User-Agent: 40tude_Dialog/2.0.15.1de
MIME-Version: 1.0
Content-Type: text/plain; charset=“us-ascii”
Content-Transfer-Encoding: 7bit
Organization: AObit Software Ltd.
References: 1_[email protected]
Message-ID: [email protected]
Date: 12 Jun 2016 03:29:16 -0400

Hello Glenn,
nope… no chance. The babyblue color and the style are fixed. Don’t blame
SV - it’s a MS thing ! Other compilers which also using the MDI paradigm
and also don’t use the more modern MS UI methods (i.e XAML) having the
very same problem.
Try Noyantis/Codejock skinning or search the newsgroup for “metro caption
template” by Liam/Comformark.
Ciao, Thomas


#3

Also discussed here previously:


#4

You might use subclassing.

I have a 15 year old example that Gregory Bailey/Randy Rogers wrote. Try this link: https://www.litreum.com/?articleId=6585

if the link doesnt work go to litreum.com and go to Clarionfoundry/Language/Subclassing/Subclassing a text control to change its border…


#5

IMHO… The simpliest way to rich this goals in Clarion is calling SetParent API function after opening the window.
SetParent(0{PROP:HANDLE},0)
After this you may use Windows Desktop Window Manager (DWM) functions (DwmExtendFrameIntoClientArea etc.).
Note: This works at Windows 7 and higher.


#6

MSDN example: https://docs.microsoft.com/ru-ru/windows/desktop/dwm/customframe


#7

Do you have any working Clarion example?


#8

Not sure that this works on an MDI child though. As @RexCalifornia said, I would be curious to see an example in action!


#9

Ok, let’s be curious… :slight_smile:
Sorry, I can’t give a Clarion code example, but I can give a photo with little explanation. Some data on screenshot are hidden… :slight_smile:

There are 3 windows on screen.
Left thumbnail:

  1. Standart Clarion MDI Parent Frame without menu and toolbar.
  2. Assotiated with a frame standart Clarion MDI child window with a FULL attribute, NOT plugged to Desktop Window Manager.
    Right thumbnail:
  3. “Slightly modified” Clarion MDI child window, plugged to DWM. This window has focus now. Also, there are two thumbnail buttons, representing a part of window funcionality.
    Taskbar button:
  4. Progress bar in TBPF_INDETERMINATE state.
  5. Animated overlay icon.

Clarion 6.3 / Windows 10 and a little bit of magic… :slight_smile:
Enjoy!