Ich erzeuge in der PreCreateWindow() ein Fenster, das als Zeile oben am Bildschirmrand erscheint. Nun möchte ich noch eine Spalte links am Bildschirmrand erzeugen.
Der Code für die Zeile schaut folgendermaßen aus:
in dieser Form hat es auch geklappt. Möchte ich nun jedoch ein weiteres Fenster darin erzeugen, wird das erste einfach überschrieben und nicht mehr angezeigt:
Gibt es eine möglichkeit, dennoch 2 Fenster zu erzeugen, die auch beide angezeigt werden?
Der Code für die Zeile schaut folgendermaßen aus:
Code:
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
cs.style = WS_POPUP;
cs.dwExStyle = WS_EX_LAYERED;
cs.lpszClass = AfxRegisterWndClass(0);
int pixX = GetDeviceCaps(GetDesktopWindow()->GetDC()->m_hDC, HORZRES);
cs.cx = pixX;
cs.cy = 50;
cs.hMenu = NULL;
return TRUE;
}
in dieser Form hat es auch geklappt. Möchte ich nun jedoch ein weiteres Fenster darin erzeugen, wird das erste einfach überschrieben und nicht mehr angezeigt:
Code:
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Ändern Sie hier die Fensterklasse oder die Darstellung, indem Sie
// CREATESTRUCT cs modifizieren.
cs.style = WS_POPUP;
cs.dwExStyle = WS_EX_LAYERED;
cs.lpszClass = AfxRegisterWndClass(0);
int pixX = GetDeviceCaps(GetDesktopWindow()->GetDC()->m_hDC, HORZRES);
cs.cx = pixX;
cs.cy = 50;
cs.hMenu = NULL;
cs.style = WS_POPUP;
cs.dwExStyle = WS_EX_LAYERED;
cs.lpszClass = AfxRegisterWndClass(0);
int pixY = GetDeviceCaps(GetDesktopWindow()->GetDC()->m_hDC, VERTRES);
cs.cx = 50;
cs.cy = pixY;
cs.hMenu = NULL;
return TRUE;
}
Gibt es eine möglichkeit, dennoch 2 Fenster zu erzeugen, die auch beide angezeigt werden?