Flickering toolbars

Viewing 14 posts - 1 through 14 (of 14 total)
  • Author
    Posts
  • #36159
    Schmidtze
    Participant

    Hello,

    after activating or deactivating a window in my application, all toolbars (SpTbx) are flickering. As I have a lot of toolbars in my main window, it shows very ugly. This effect occurs for example when simply showing a message dialog in my application (and of course all other types of dialoges), but also when changing to another application and also when changing back. The problem only occurs with an activated SkinManager, so with deactivated Alpha Controls there's no problem.

    Is there maybe an option which causes this problem?

    Best regards

    Friedemann

    #51962
    Schmidtze
    Participant

    Here you can see it:

    https://www.dropbox.com/s/yz4xwrswv855nns/flickering_toolbars.mp4

    Please take a look at the toolbars. I think because of the video compression, it's not visible alyways in this clip when showing the dialog, but always when closing it. But in real life it occurs every time…

    Regards

    Friedemann

    #51963
    Schmidtze
    Participant

    Hello,

    I just found out something for myself… In Line 6325 of sSkinProvider.pas (TsSkinProvider.AC_WMNCActivate) there are 2 lines of code:

    Code:
    RedrawWindow(Form.Handle, nil, 0, {RDW_ALLCHILDREN or }RDW_INVALIDATE or RDW_UPDATENOW or RDW_NOERASE or RDW_FRAME);
    // RedrawWindow(Form.Handle, nil, 0, RDW_ALLCHILDREN or RDW_INVALIDATE or RDW_UPDATENOW or RDW_NOERASE);

    The second one is commented out. If I change it, comment out the first one and reactivate the second one, it will be much better. There's still a light flickering visible but by far not as strong as with the other line. As I don't know the impact of these both lines, of course I will change it back to the official version.

    Can I change maybe something in the toolbar component? This effect is only visible with SpTbx components.

    Best regards

    Friedemann

    #51964
    mol
    Participant

    Hi Friedemann

    Does LockWindowUpdate(Form1.Handle) do the trick?

    -Uwe

    #51965
    Schmidtze
    Participant

    Hi Uwe,

    'mol' wrote:

    Does LockWindowUpdate(Form1.Handle) do the trick?

    where do you think I should insert this?

    BTW: It seems for me at the moment that this behaviour depends on the Windows version. On another system there's no flickering (I think Windows 7). I'm using Windows 8.1. I will check it tomorrow in my office. Very strange…

    Regards

    Friedemann

    #51966
    mol
    Participant

    Friedemann,

    'Schmidtze' wrote:

    where do you think I should insert this?

    I would use the OnClick event of the toolbar item. Have you tried

    {…}

    SendMessage(Panel1.Handle, WM_SETREDRAW, 0, 0);

    Open your dialog here

    {…}

    SendMessage(Panel1.Handle, WM_SETREDRAW, 1, 0);

    RedrawWindow(Panel1.Handle, nil, 0, RDW_FRAME or RDW_INVALIDATE or RDW_ALLCHILDREN or RDW_NOINTERNALPAINT);

    in that event already?

    -Uwe

    #51967
    Schmidtze
    Participant

    Hi Uwe,

    but then I have to lock a lot of panels always 😉 And it also occurs when switching to another application and back, always when the main form will be activated/deactivated.

    Regards

    Friedemann

    #51968
    mol
    Participant

    Hi Friedemann

    'Schmidtze' wrote:

    but then I have to lock a lot of panels always

    Just replace Panel1 with Form1, or you follow my advice from a few weeks ago and finally ditch SpTbx… 😀

    -Uwe

    #51980
    Schmidtze
    Participant

    Hi,

    'mol' wrote:

    or you follow my advice from a few weeks ago and finally ditch SpTbx… 😀

    NO! 😀 I will definitely not! It offers a lot features which I'm using and which aren't available in standard toolbar and menu. And I really hope to get this problem solved without ditching components…

    Best regards

    Friedemann

    #51984
    Support
    Keymaster

    Hello! What is version of used AlphaControls package?

    #51995
    Schmidtze
    Participant
    'Support' wrote:

    Hello! What is version of used AlphaControls package?

    oh, excuse me please, I didn't answer by now… I'm using v9.03 Beta.

    Regards

    Friedemann

    #52052
    VitiaM
    Participant

    Thank you for this advice !

    #52058
    Support
    Keymaster

    Hello!

    Can you make a demo with flickering toolbar please? I'm trying to do that, but without success.

    #52097
    Schmidtze
    Participant

    Hi,

    'Support' wrote:

    Can you make a demo with flickering toolbar please? I'm trying to do that, but without success.

    I've just send you an example project.

    Best regards

    Friedemann

Viewing 14 posts - 1 through 14 (of 14 total)
  • You must be logged in to reply to this topic.