MDI Documents Flicking |
Post Reply |
Author | |
Vitaly
Groupie Joined: 05 November 2004 Status: Offline Points: 70 |
Post Options
Thanks(0)
Posted: 05 January 2005 at 4:14am |
Using OfficeXP or Office2003 style for MDI interfaces, where you get tabs for documents, produces flicking when switching between documents. In one of your examples i saw the code where you adjust initial size of documents to avoid flicking to be too obvious, i.e. when frame window is redrawn more often than needed. However, this still leaves the issue with flicking, and it is way different visually from when using normal MDI presentation without tabs. Any chance to fix that?
|
|
dennisV
Senior Member Joined: 07 October 2004 Location: Australia Status: Offline Points: 242 |
Post Options
Thanks(0)
|
I have the same problem about which I posted a while ago (no reply though)...
|
|
// W7 64 Ultimate SP1
// VS 2008 // CodeJock 16.2.3 (MFC) |
|
Vitaly
Groupie Joined: 05 November 2004 Status: Offline Points: 70 |
Post Options
Thanks(0)
|
Got it! You always have to override on erase background like this: BOOL CTemplateEditorView::OnEraseBkgnd(CDC* pDC) { return TRUE;} |
|
dennisV
Senior Member Joined: 07 October 2004 Location: Australia Status: Offline Points: 242 |
Post Options
Thanks(0)
|
Doesn't help me in the View class, perhaps it should be in the Frame holding the View? Thanks, |
|
// W7 64 Ultimate SP1
// VS 2008 // CodeJock 16.2.3 (MFC) |
|
Vitaly
Groupie Joined: 05 November 2004 Status: Offline Points: 70 |
Post Options
Thanks(0)
|
no, for me it made a world of difference: 1. onerase returns true 2. background is drawn from within CView::OnDraw 3. The view is derived from CScrollView Check out their example called drawcli.exe, and the project itself where they solved the problem with flickering.
|
|
dennisV
Senior Member Joined: 07 October 2004 Location: Australia Status: Offline Points: 242 |
Post Options
Thanks(0)
|
Well, my view is derived from CXTPReportView and the area that flickers is only the top part where it says "Drag column headers here...", the rest of it doesn't flicker even without overriding the OnEraseBgnd(), I guess it's a different case.
Edited by dennisV |
|
// W7 64 Ultimate SP1
// VS 2008 // CodeJock 16.2.3 (MFC) |
|
Post Reply | |
Tweet
|
Forum Jump | Forum Permissions You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |