Change from child window to popup window (and back) | CodeGuru

Change from child window to popup window (and back)

. A window can be created as either a child or a popup. A child window can be moved only within its parent’s rectangle area. Let’s say one wants to do just the opposite, that is, to move a child window out of its parent’s area, it is hard to switch its style without destroying […]

Written By
CodeGuru Staff
CodeGuru Staff
Aug 6, 1998
2 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

.

A window can be created as either a child or a popup. A child window
can be moved only within its parent’s rectangle area. Let’s say one
wants to do just the opposite, that is, to move a child window out of
its parent’s area, it is hard to switch its style without destroying
and creating a new one. That is the original motivation for creating
the CPopChildWnd.

CPopChildWnd is based on MFC’s CWnd class, it actually uses two CWnd
derivatives(one is created as child and the other as a popup) to give
the appearence of its switchable style. To use it, user embeds a
CPopChildWnd(or often time, its derivative) as a data member, and call
its Create(…) function. When CPopChildWnd’s create function is
called, it creates two windows, as mentioned before, one is visible
and the other is hidden. User then will be able to drag the window
around by mouse, when it is in the parent’s rectangle area, it is a
child(actually the child window is shown), when it is outside of the
parent’s area, it is a popup window(the popup window shown). Because
the drawing stuff is all handled by CPopChildWnd itself, therefore the
two switchable windows appear to be the same.

I used it first as a hot-spot picture, where a portion of a view
window’s drawing is movable by mouse dragging, if you double-click(or
right click) that portion, some action will take place. If you drag
that portion out of the view window, it dangles on the desktop, yet it
still is a hot-spot.

I also used it as a banner where some text and graphs were shown, user
can move that banner out of the way to have more screen real estate to
work with still be able to see the banner.

I can also imagine it be used as some sort of short cut bar where user
can conveniently place it anywhere on the desktop.

Download Project 1.8 MB

CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.