We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

xpmenu flicker

I''m using XP Menus and toolbars. All of my mdi client windows inferit from a baseform that has two toolbars associated with it. When I open/close forms, the toolbar is cleared and redrawn each time, causing a lot of flicker. Is this normal?

11 Replies

AU Andy Ullman June 3, 2004 04:08 PM UTC

Forgot to mention I''m using Syncfusion 2.0.5.1


AD Administrator Syncfusion Team June 3, 2004 09:31 PM UTC

Hi Andy, I have created a test sample as per your specifications, and do see a minimum amount of flicker when one of the MDI child forms are closed. I am afraid, this cannot be avoided, since the menu merging feature forces the main menu bars and toolbars to be redrawn without the merged BarItems of the child (when the MDI child is closed). Let me know if you have any suggestions in this regard. We appreciate your interest in Syncfusion products. Regards, Guru Patwal Syncfusion, Inc.


AU Andy Ullman June 4, 2004 10:01 AM UTC

Guru, Thanks for your reply. I can see the flicker in your sample, but it isn''t as bad as mine (probably because I''ve got more toolbars and they have icons on them). I reran an older version of my app, which uses 1.6.1.4, and the flicker problem is much worse in 2.0.5.1. The new version seems to clear the menu briefly, then redraw ALL client windows at new positions, then redraw the menu and shift ALL client windows down again. If you''ve got a lot of windows open, it really looks bad and I think is unacceptable. In version 1.6.1.4, the toolbar flickers briefly but the main menu and client windows are unaffected. As for suggestions about redrawing the toolbars in general, I wonder if you could add some intelligence to determine if the toolbars need to be redrawn when a client window is opened/closed. I noticed that if I open multiple copies of the same form, there is no redraw. In my app, I''m opening different forms, but they derive from one common form that has the childbarmanager/toolbars, so perhaps the code could be enhanced to recognize that no redraw is necessary in this case. Andy


AU Andy Ullman June 4, 2004 10:36 AM UTC

Guru, Please check out the attached sample. I modified the XPMenus sample so that it displays derived forms, in addition to the original 2 forms. You''ll notice there is no flickering opening/closing the original 2 forms. If you go to the File menu and choose ''New Derived Form'' a few times, there will be lots of flicker. Clearly there is a problem with derived forms. The other interesting thing is that this sample does not display the jerking up and down of the client windows that I described. My app (and your test sample) both have this problem. What''s going on? Andy XPMenus_1228.zip


AD Administrator Syncfusion Team June 7, 2004 09:49 AM UTC

Hi Andy, Thanks for the detailed update and the sample application. I do see that the menus get redrawn (resulting in a flicker) only if the derived forms are closed, and closing the base form does not result in redrawing of the menus. I have notified the development team in this regard, and will update you as soon as I have more information available. Regards, Guru Patwal Syncfusion, Inc.


AD Administrator Syncfusion Team June 10, 2004 05:07 PM UTC

I''ve only briefly skimmed over your posts but with regards to windows jumping you may want to check the size of your icons in the toolbars and make sure they are all consistent. The toolbar will resize to fit the icons within it - and therefore if say a toolbar is added with an icon 1 pixel taller than the icons in the other toolbar then all the ''frames'' below will shift a pixel and redraw. This may be part of your issue. -simon


AD Administrator Syncfusion Team June 11, 2004 12:35 AM UTC

Hi Simon, Thanks for your inputs on this issue. I have conveyed this to the development team, and will update you as soon as I have more information available. We appreciate your interest in Syncfusion products. Regards, Guru Patwal Syncfusion, Inc.


KM Krijn Michiels June 16, 2004 05:16 AM UTC

Hello, I was just wondering about the possibility of merging a MainFrameBarManager with a derived ChildFramebarManager (or merge the mainframebarmanager with a second mainframebarmanager). Why ? 1. When we derive childforms from one baseform with a childframebarmanager, the mainframebarmanager is constantly updating. This is useless when no custom menus or toolbars are added on the derived forms. 2. Custom added toolbars will only be visible when the form of that specific type is opened instead of staying visible when one of the derived forms from the baseform. Solution : I would be great if there was a function RegisterMdiChildTypes that takes childframebarmanagers as a parameter. An option if the toolbars must be visible when none of the childforms are opened.


KM Krijn Michiels June 17, 2004 03:07 PM UTC

Hi, I want to use a MDI application where I could load several ''sub'' applications and run them all at the same time. With the use of derived forms the main form is constantly updating as mentioned in several forum items. I''ve managed to create a workaround for this problem. 1. Do not create forms, create usercontrols instead 2. Create one form for each ''subapplication''. Add a childframebarmanager on the form and design your menus. Add some code to the form : Public Sub New(control as UserControl) MyClass.New() Me.Controls.Add(control) control.Dock = Docking.Fill End Sub (maybe you want to put this code in a baseform first !) Now you can start different subapplicationforms wich use the same ChildFrameBarManager without flickering (because the MDIChild form type doesn''t change). : For example : Dim fillInForm as New SubApplication1FillInForm() Dim subApplication1Form as new SubApplication1Form(fillinForm) subApplication1Form.MDIParent = Me subApplication1Form.Show() The SubApplication1FillInForm is the usercontrol that looks like a regular form. The SubApplication1Form is the container form that contains the ChildFrameBarManager and the usercontrol passed as parameter in the constructor. Is this the way it has to be done, or is there a better one ?


AD Administrator Syncfusion Team June 22, 2004 06:43 AM UTC

Krijn, Yes, this looks like a very good workaround for the problem you are facing. The reason the menus treat each derived form as unique is because there is no way it can find out that the contents of the derived forms are the same. We could provide a bool property in the manager through which the developer can say that there is in fact no new items added in the dervied bar manager. But, this could result it unforseen errors if this property gets set mistakenly and especially since we cannot ensure the validity of this setting. Regards, Praveen


AU Andy Ullman June 22, 2004 10:23 AM UTC

Please note I have opened direct-trac incident 11974 with respect to this issue. Andy >Krijn, > >Yes, this looks like a very good workaround for the problem you are facing. > >The reason the menus treat each derived form as unique is because there is no way it can find out that the contents of the derived forms are the same. > >We could provide a bool property in the manager through which the developer can say that there is in fact no new items added in the dervied bar manager. But, this could result it unforseen errors if this property gets set mistakenly and especially since we cannot ensure the validity of this setting. > >Regards, >Praveen

Loader.
Up arrow icon