🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.os.ms-windows.programmer.tools.mfc
Article #29

Re: Q: Dockable windows with tabs in MFC?

#29
From: Norman Scroggins
Date: Fri, 12 Jan 1996 12:57
67 lines
3356 bytes
Scott Libert wrote:
> 
> RobertC@ProDentec.com (Robert Christian) wrote:
> 
> >Norman Scroggins <nscroggi@us.oracle.com> wrote:
> 
> >>Stian Barkbu wrote:
> >>>
> >>> I am trying to create a dockable property sheet (tabbed
> >>> dialog), much like the project workspace in MSVC++ 4.0. Is
> >>> this possible at all?
> >>>
> >>> I have managed to create a tabbed dialog box using the
> >>> CPropertySheet and CPropertyPage classes (or a TabCtrl), and I
> >>> can get a dockable window using CDialogBar. But, a dockable
> >>> window with a tab control seems impossible ( or, at least none
> >>> of my efforts have been successful so far).
> >>> Can anyone help me with this one?
> >>>
> >>> Thanks.
> >>>
> >>> Stian
> >>> snba@sesam.dnv.no
> 
> >>I myself have been trying to get some help doing this--with
> >>the added twist of having the tabs oriented on the bottom
> >>instead of the top.  Let's keep each other updated on a
> >>solution. Thanks.
> 
> >>--Norm
> 
> >I'm not certain, but it appears to me that Microsoft is actually
> >performing somewhat of a trick.  I don't think they are using property
> >pages, but rather a tab control placed under a tree control.  When you
> >select a tab, they hide one tree control and display another...maybe.
> 
> >Robert Christian
> 
> Just wanted to say I agree with Roger; I have implemented something
> just like that.  I have a CView-derived object which creates a
> CTabCtrl as as a child, then creates a CTreeCtrl as a child of the tab
> control.  And it all works.
> 
> The next step I am working on right now is to have the parent window
> be a CControlBar-derived class instead of CView.  I see no problem
> here.
> 
> A bigger problem, however, is how to get the "splitter" functionality
> to size the CControlBar-derived object.  Since I am using MDI, I can't
> use CSplitterWnd in the main frame, due to the assumptions made in the
> GetParentFrane() method of CMDIChildWnd.  My tack at this point is to
> implement special WM_NCPAINT handling to draw what looks like a
> spliitter bar and add WM_NCHITTEST, WM_NCLBUTTONDOWN & WM_NCMOUSEMOVE
> handling to show the "drag splitter" cursor and resize the window.
> 
> It seems once this is done the only thing left to do to perform the
> magic that MS does of changing the control bar window from/to a mdi
> child window is to change the parentage of the window.via SetParent().
> 
> - Scott L.


However, I still don't understand how you oriented the
tabs so that they were on the bottom (rotated 180 degrees)
ala Excel worksheet tabs. Would someone explain? Thanks.

--Norm
Technical Details
Message-ID: <30F65AD2.6702@us.oracle.com>
Path: arc1-ca.pugleaf.net!inet-nntp-gw-1.us.oracle.com!news
References: <4crfes$2qu@nms.telepost.no> <30F25A5E.31EC@us.oracle.com> <4d0f92$5v3@zeus.intellinet.com> <4d40q3$99o@maureen.teleport.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!inet-nntp-gw-1.us.oracle.com!news
From: Norman Scroggins <nscroggi@us.oracle.com>
Newsgroups: comp.os.ms-windows.programmer.tools.mfc,comp.lang.c++
Subject: Re: Q: Dockable windows with tabs in MFC?
Date: Fri, 12 Jan 1996 12:57:54 +0000
Organization: Oracle Corporation. Redwood Shores, CA
Message-ID: <30F65AD2.6702@us.oracle.com>
References: <4crfes$2qu@nms.telepost.no> <30F25A5E.31EC@us.oracle.com> <4d0f92$5v3@zeus.intellinet.com> <4d40q3$99o@maureen.teleport.com>
NNTP-Posting-Host: nscroggi-pc.us.oracle.com
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 2.0b3 (WinNT; I)
To: Scott Libert <slibert@teleport.com>