Re: CFrameWnd on Secondary Monitor
Thanks, I found out there is a m_pMainWnd pointer in CMyWinApp, which
in this case is CMyFrameWnd. So I call the movewindow in the CMyWinApp
right after AddDocTemplate.
On Feb 2, 8:57 pm, Joseph M. Newcomer <newco...@flounder.com> wrote:
MoveWindow. SetWindowPos.
At any point after the window is created, this can be done. OnInitialU=
pdate would be a
good place. OnCreate is another.
joe
On Wed, 2 Feb 2011 12:06:58 -0800 (PST), rockdale <rockdale.gr...@gmail.c=
om> wrote:
Thanks for the reply regarding the multi-monitor.
I can get my secondary monitor coordinates (the system is configured
to have 2 monitors, in the case of more than 2 monitors, I can still
get the coordinates of the specified monitor). BUT I do not know how
to move my FrameWnd to the new window pos as it created indirectly by
the framework.
again, thanks
-rockdale
On Feb 2, 2:02 pm, Joseph M. Newcomer <newco...@flounder.com> wrote:
Did you read the multi-monitor API descriptions?
Take a look at EnumDisplayMonitors, GetMonitorInfo, MonitorFromPoint, =
etc.
Note that the "secondary" monitor could be above, below, or to the lef=
t of the main
monitor, and you don't know until you've examined all the monitors, de=
termined which one
you are currently on, and selected one of the others (for example, my =
main machine has the
potential for four monitors, although this week I only have two screen=
s plugged in). Note
that the concept that there is "one other" monitor does not hold, nor =
is there any fixed
relationship of the coordinates of the secondary monitors to what is t=
he main monitor (on
my laptop, for example, the secondary monitor is to the *left* of my "=
main" monitor,
giving it negative coordinates). Generally, I defer this to the point =
where the window
already exists but has not yet been shown.
joe
On Wed, 2 Feb 2011 09:17:33 -0800 (PST), rockdale <rockdale.gr...@gmai=
l.com> wrote:
Hi, All
I have an MFC application and wanted to launch the MainFrame on the
secondary monitor.
The MainFrame is created by SingleDocTemplate see code below.
BOOL CMyApp::InitInstance()
{
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MYTYPE,
RUNTIME_CLASS(CMyDoc),
RUNTIME_CLASS(CMyFrameWnd),
RUNTIME_CLASS(CMyView));
AddDocTemplate(pDocTemplate);
}
(From MSDN: When a CFrameWnd object contains views and documents, the=
y
are created indirectly by the framework instead of directly by the
programmer. The CDocTemplate object orchestrates the creation of the
frame, the creation of the containing views, and the connection of th=
e
views to the appropriate document. )
My question is how can I set the rectDefault so that the CMyFrameWnd
can be shown on the secondary monitor? (Suppose I can get the
coordinates).
Thanks a lot
-rockdale
Joseph M. Newcomer [MVP]
email: newco...@flounder.com
Web:http://www.flounder.com
MVP Tips:http://www.flounder.com/mvp_tips.htm
Joseph M. Newcomer [MVP]
email: newco...@flounder.com
Web:http://www.flounder.com
MVP Tips:http://www.flounder.com/mvp_tips.htm