Print Page | Close Window

CXTPSplitterWnd bug

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: Toolkit Pro
Forum Description: Topics Related to Codejock Toolkit Pro
URL: http://forum.codejock.com/forum_posts.asp?TID=22952
Printed Date: 24 December 2024 at 12:47pm
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: CXTPSplitterWnd bug
Posted By: maxxan
Subject: CXTPSplitterWnd bug
Date Posted: 08 March 2016 at 3:17am
When creating splitter windows that are inside other splitter windows, then it's not possible to resize them any more. If you test this code, and then try to move the horizontal splitter window, it moves like a few pixels and then it stops tracking.

To easily reproduce the bug, then in your Splitter window sample replace the CMainFrame::OnCreateClient code with this to create a T shaped splitter.

// Create the first splitter
   m_wndSplitter.CreateStatic(this, 2, 1);
   m_wndSplitter.CreateView(1, 0, RUNTIME_CLASS(CView3), CSize(0, 0), pContext);

   // Create the second splitter
   m_wndSplitter2.CreateStatic(&m_wndSplitter, 1, 2, WS_CHILD | WS_VISIBLE | WS_BORDER, m_wndSplitter.IdFromRowCol(0, 0));
   m_wndSplitter2.CreateView(0, 0, RUNTIME_CLASS(CView1), CSize(0, 0), pContext);
   m_wndSplitter2.CreateView(0, 1, RUNTIME_CLASS(CView2), CSize(0, 0), pContext);

It works with CSplitterWnd..




Replies:
Posted By: mgampi
Date Posted: 08 March 2016 at 4:13am
Hi,

as a workaround please replace CXTPSplitterWnd with the following class:

class CMySplitterWnd : public CXTPSplitterWnd
{
void StopTracking(BOOL bAccept)
{
m_rectTracker.left -= 2;
CXTPSplitterWnd::StopTracking(bAccept);
}
};

I reported this bug 4 years ago!


-------------
Martin

Product: Xtreme Toolkit v 22.1.0, new Projects v 24.0.0
Platform: Windows 10 v 22H2 (64bit)
Language: VC++ 2022



Print Page | Close Window

Forum Software by Web Wiz Forums® version 12.04 - http://www.webwizforums.com
Copyright ©2001-2021 Web Wiz Ltd. - https://www.webwiz.net