Jump to content

About dialog with credits area


Recommended Posts

It's a nice old school design. :thumbsup:

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 be a good idea to add a small tune.

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

22 minutes ago, pixelsearch said:

Does it still flicker on your computer if you add the $WS_EX_COMPOSITED extended style ?

In Win7 it does not flicker but the scroll bar is not moving !

Link to comment
Share on other sites

Thanks for "Thanks" and "Likes"! :)

 

3 hours ago, UEZ said:

It's a nice old school design. 

Thanks a lot! (Actually, I thought the design was quite modern, but apparently my idea of "modern" is as outdated as I am). :muttley:

 

3 hours ago, UEZ said:

What about an automatic slow scrolling of the text until user intervention?

Might be a good idea to add a small tune.

I'm not sure if that won't be too much. Let's see. Thanks for the ideas! :)

 

3 hours ago, UEZ said:

The GUI is flickering when scrolling the text only using the scrollbar. 

This is because of $WS_EX_TRANSPARENT. ($ES_AUTOVSCROLL is also not needed). The following workaround should help: Remove/comment out the lines with $WS_EX_TRANSPARENT and add the other two lines, as in the following code snippet.

;     $g_hRichEdit = _GUICtrlRichEdit_Create($g_hGui, "", 10, 10, 440, 340, _
;         BitOR($ES_MULTILINE, $WS_HSCROLL, $WS_VSCROLL, $ES_AUTOVSCROLL, $ES_READONLY), $WS_EX_TRANSPARENT)

    $g_hRichEdit = _GUICtrlRichEdit_Create($g_hGui, "", 10, 10, 440, 340, BitOR($ES_MULTILINE, $WS_HSCROLL, $WS_VSCROLL, $ES_READONLY))

    _GUICtrlRichEdit_SetBkColor($g_hRichEdit, 0xC0C0C0) ; medium light gray 0xC0C0C0

After that it is a nice design of the even older school:D because the RichEdit gets a frame. Does anyone know how to remove the frame so that the RichEdit looks flat? Or is it possible to unflicker the RichEdit despite transparency?

Link to comment
Share on other sites

1 hour ago, Professor_Bernd said:

Does anyone know how to remove the frame so that the RichEdit looks flat?

Hi Professor_Bernd
Just remove the default $WS_EX_CLIENTEDGE extended style applied to the rich edit control

$WS_EX_CLIENTEDGE : "Specifies that a window has a border with a sunken edge."
$g_hRichEdit = _GUICtrlRichEdit_Create($g_hGui, "", 10, 10, 440, 340, BitOR($ES_MULTILINE, $WS_HSCROLL, $WS_VSCROLL, $ES_READONLY))

becoming
$g_hRichEdit = _GUICtrlRichEdit_Create($g_hGui, "", 10, 10, 440, 340, BitOR($ES_MULTILINE, $WS_HSCROLL, $WS_VSCROLL, $ES_READONLY), 0)

 

Link to comment
Share on other sites

Cool! 😎 I found a solution here and here to change the ExStyle after creating the RichEdit. But that is not necessary here. So I'm using your tip that removes the border already when creating the RichEdit.

I'll include a switch to select whether the RichEdit should have a frame or not.

Thanks to all the contributors! 👍 - Now you are also in the credits. - :D

Link to comment
Share on other sites

13 minutes ago, pixelsearch said:

Yashied's tool (reworked to add control styles names)

Looks very interesting, could be useful. Where can you get this?

----

Before I upload the changed, flicker-free version of the About dialog, there's one tiny little thing: when you move the scrollbar, the caret is displayed in RichEdit as long as you hold the scrollbar. If someone knows a solution for this, I'll add it. :)

Link to comment
Share on other sites

2 hours ago, Professor_Bernd said:

Where can you get this?

Yashied's original script has been reworked and is now maintained by argumentum. Thread got 9 pages, last update in this link

2 hours ago, Professor_Bernd said:

the caret is displayed in RichEdit as long as you hold the scrollbar

I read in the forum that hiding the caret is often problematic, though a radical solution seems to work, in a script where you don't have to type anything in input/edit fields :

GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

;==============================================================================
Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
  #forceref $hWnd, $iMsg, $wParam

  Local $hWndFrom = $lParam ; Handle to any CONTROL window
  DllCall($g_hUser32DLL, 'int', 'HideCaret', 'hwnd', $hWndFrom)

  Return $GUI_RUNDEFMSG
EndFUnc

 

Edited by pixelsearch
Link to comment
Share on other sites

2 hours ago, pixelsearch said:

Yashied's original script has been reworked and is now maintained by argumentum. Thread got 9 pages, last update in this link

Thanks for the info and the link.

2 hours ago, pixelsearch said:

Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam) ... DllCall($g_hUser32DLL, 'int', 'HideCaret', 'hwnd', $hWndFrom)

It's crazy. :o This function alone does not cause the caret to be hidden. But with the other functions I use in the about dialog, it does just the last bit I was looking for: It hides the caret when you scroll with the scrollbar. Only when you scroll back and forth quickly does the caret flash a little.

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...