Jump to content

About dialog with credits area


Recommended Posts

1 minute ago, Professor_Bernd said:

So I have to ask: do you think I should change your mind, or that you changed it?

As far as I've seen there is meme of a guy at a table enticing people to dialog, by stating something controversial and at the bottom of the statement the phrase "Change my mind" :D

But is a joking way for me to say that, and I quote, "use  _WinAPI_SwitchColor(_WinAPI_GetSysColor($COLOR_*)) , always." .
I quote because for what I've seen, quoting makes the statement more important :P 

Again, is a good practice to use the system colors found in _WinAPI_GetSysColor().

Oh!, I thought that WM_THEMECHANGED was to be registered but troubleshooting WinXP realized that is WM_SYSCOLORCHANGE that will trigger system color changes, dah ! :huh:
:ILA2: 

Link to post
Share on other sites
  • Replies 70
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

An about dialog is a nice little thing, often hardly bigger than a message box and usually just a minor thing. But almost every program has an about dialog, if only to put its "stamp" on it, insert a

I agree so much on that statement. I have no words to explain that. You are "right on the money" with that. Now we need to synchronize. I'm not into this coloring stuff, there are those users h

It's a nice old school design.  The GUI is flickering when scrolling the text only using the scrollbar.  What about an automatic slow scrolling of the text until user intervention? Might

Posted Images

I don't know if I want to change your mind, because your mind is my mind too, :D but I'm afraid I don't know how to assign the different text colors to the system colors. For _WinAPI_GetSysColor() there is certainly no parameter "$COLOR_PINK". ;) Or should simply the background be black and the font white?

Ok, as you can see, I don't understand anything. :whistle:  I think I need a break. :drinks:

 

 

Link to post
Share on other sites
1 hour ago, Professor_Bernd said:

I don't know if I want to change your mind, because your mind is my mind too, :D

I agree so much on that statement. I have no words to explain that. You are "right on the money" with that. Now we need to synchronize.

1 hour ago, Professor_Bernd said:

how to assign the different text colors to the system colors. For _WinAPI_GetSysColor() there is certainly no parameter "$COLOR_PINK". ;)

I'm not into this coloring stuff, there are those users here that really know color, but since I'm answering, I hope to make my point across.

The thing is that colors are in fact a color in contrast with another color, so a color per se, is not a particular color but that, that is perceived as that color. So ... mind twisting !.
ct-3-4.gif = ct-3-4-proof.gif

...you can search for color theory to read more about it. 

...think of UX vs UI: image.png.04e8dbfb1d8a50ba51b610ae130b586a.png

 

$COLOR_PINK is not important, theme is important.
But if finding theme colors is a hinderance then, ...just declare each color and that is that.

image.png.f8f26a314eef1d3ea0d0bcebb0d7d09f.png

...these well known people don't give two hoots about it, but is legible. Because is orange over white, and that is the way the logo should be seen ( I guess ).image.png.399d69785b8772554ee53e899f66512e.png
... but Orange on dark gray looks good too.

So, to recap: "Whatever is the About box, should be legible". The rest is not really an OMG! thing.


<a side note>
I would love the industry to stablish a standardized dark mode. Not exact colors but of " light on dark " as an option to the " dark on light ".
In the beginning, on CRTs, we'd have teal or green or whatever on a black background, as it is much better in an eight hour shift, piercing with your eyes at a screen.
Anyway, I feel I'm beating a dead horse
</a side note>

Edited by argumentum
keyboard/brain/fingers interface failure
Link to post
Share on other sites
1 hour ago, argumentum said:

...think of UX vs UI: image.png.04e8dbfb1d8a50ba51b610ae130b586a.png

 

 

That's so funny! :thumbsup:

 

1 hour ago, argumentum said:

I'm not into this coloring stuff, ... So ... mind twisting !.

I've been like this for hours with this problem.

 

The appearance of the VLC About dialog is really quite easy. All it takes is 2 changes in the original code of my About dialog:

Comment out line 130 from: "GUISetBkColor($iBackColor, $g_hGui)"

Replace line 277:
GUICtrlSetColor(-1, 0x0000ff) ; blue
GUICtrlSetColor(-1,_WinAPI_SwitchColor(_WinAPI_GetSysColor($COLOR_HOTLIGHT)))

See the code in the appendix. Can you post a screenshot of how it looks with this on your end?

 

1 hour ago, argumentum said:

Anyway, I feel I'm beating a dead horse

This is how it feels to me as well. It is "only" an about dialog. Too bad I can't do more for you.

Thanks for your ideas, effort and work! It was a lot of fun. :)

BK with system colors.zip

Link to post
Share on other sites
9 minutes ago, Professor_Bernd said:

Can you post a screenshot of how it looks with this on your end?

Actually, you can see all these possibilities in your own PC. Posting pics. back and forth makes no sense, since you can do it on your own. If your setup, say, your hardware PC is something you may not want to mess with, you can have a virtual PC with an emulator. I you have Win 10 PRO, you can enable Hyper-V and have a go at every windows there is ever been and if anything goes south, restore/rebuild/whatever, so that your main hardware PC don't have to undergo the dangers of coding. That is how I test in Win7 and XP and if you push me, 98SE :D

The code I posted is complete and functional. But for some reason you are tinkering with .... different. Have a go.

In any case, you should set your self a hypervisor. You'll thank me latter :)

Link to post
Share on other sites
22 minutes ago, argumentum said:

The code I posted is complete and functional. ... Have a go.

I just tried your code again. Good work! 👍

22 minutes ago, argumentum said:

But for some reason you are tinkering with .... different.

The reason is quite simple. For example, my AutoIt editor has a dark style, but with your code the about dialog is light. It doesn't match. That was why I tinkered with a way to display a dark about dialog for a dark program.

But now I understand you already have the solution and are happy. And that's the main thing ... because then I'm satisfied too. :drinks:

Edited by Professor_Bernd
Link to post
Share on other sites
58 minutes ago, Professor_Bernd said:

my AutoIt editor has a dark style, but

then add helper functions:

_SysColor_BTNFACE(0xC0C0C0) ; if you wanna have your forced color declaration

; BackColor for GUI and controls.
Global $iBackColor = _SysColor_BTNFACE()
Func _SysColor_BTNFACE($iVal = Default)
    Local Static $iCanReset = 1, $iColor = _WinAPI_SwitchColor(_WinAPI_GetSysColor($COLOR_BTNFACE))
    Switch $iVal
        Case Default
            ; nothing, just a "skip else"
        Case "peek"
            Return _WinAPI_SwitchColor(_WinAPI_GetSysColor($COLOR_BTNFACE))
        Case "reset" ; only if not user declared.
            If $iCanReset Then $iColor = _WinAPI_SwitchColor(_WinAPI_GetSysColor($COLOR_BTNFACE))
        Case Else
            $iCanReset = 0 ;    since is a static declared color,
            $iColor = $iVal ;    would make no sense to change it on reset.
    EndSwitch
    Return $iColor
EndFunc   ;==>_SysColor_BTNFACE

Func Adlib_RefreshDefaultColors()
    AdlibUnRegister("Adlib_RefreshDefaultColors")
    $iBackColor = _SysColor_BTNFACE("reset")
    .... ....

that way you can preload a color before loading the MainFunc().

So, there is no problem only .... more problems. But we can fix them ;) 

Edited by argumentum
better code
Link to post
Share on other sites

..another idea:

;~ _SysColor_OfMyLiking($COLOR_BTNFACE, 0x00FF00) ; If you wanna have your forced color declaration.
;~ _SysColor_OfMyLiking($COLOR_BTNTEXT, 0x00FF00) ; This $COLOR_BTNTEXT would require the RTF to have the
;~ _SysColor_OfMyLiking($COLOR_HOTLIGHT, 0x00FF00) ;  text colored to 0xFF0000 ( bright red ) for ReColorizeTheRTF()
; BackColor for GUI and controls.                   ;   to set it as a given color.
Global $iBackColor = _SysColor_OfMyLiking($COLOR_BTNFACE) ; 0xC0C0C0 ; medium light gray 0xC0C0C0 ; mod.
Func _SysColor_OfMyLiking($iColorIndex, $iVal = Default) ; $COLOR_HOTLIGHT ; $COLOR_BTNTEXT
    Local Static $aColors[40][2]
    If $iColorIndex > 39 Then Return SetError(1, $iColorIndex, 0)
    If $iVal <> Default Then
        $aColors[$iColorIndex][0] = 1
        $aColors[$iColorIndex][1] = $iVal
    EndIf
    If Int($aColors[$iColorIndex][0]) Then Return $aColors[$iColorIndex][1]
    If Not $aColors[$iColorIndex][0] Then Return _WinAPI_SwitchColor(_WinAPI_GetSysColor($iColorIndex))
EndFunc

Func ReColorizeTheRTF(ByRef $sRTF)
    Local $RGB = _SysColor_OfMyLiking($COLOR_HOTLIGHT)
    Local $R = _WinAPI_GetRValue($RGB)
    Local $G = _WinAPI_GetGValue($RGB)
    Local $B = _WinAPI_GetBValue($RGB)
    $sRTF = StringReplace($sRTF, ";\red0\green0\blue128;", ";\red" & Int($R) & "\green" & Int($G) & "\blue" & Int($B) & ";")
    $RGB = _SysColor_OfMyLiking($COLOR_BTNTEXT)
    $R = _WinAPI_GetRValue($RGB)
    $G = _WinAPI_GetGValue($RGB)
    $B = _WinAPI_GetBValue($RGB)
    $sRTF = StringReplace($sRTF, ";\red255\green0\blue0;", ";\red" & Int($R) & "\green" & Int($G) & "\blue" & Int($B) & ";")
EndFunc   ;==>ReColorizeTheRTF

Func Adlib_RefreshDefaultColors()
    AdlibUnRegister("Adlib_RefreshDefaultColors")
    $iBackColor = _SysColor_OfMyLiking($COLOR_BTNFACE)
    $HOTLIGHT = _SysColor_OfMyLiking($COLOR_HOTLIGHT)
    $BTNTEXT = _SysColor_OfMyLiking($COLOR_BTNTEXT)
    .... ....

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...