MDI-Child unsichtbar erzeugen

25/05/2011 - 21:42 von Udo Steinbach | Report spam
Wie kann man ein MDI-Child unsichtbar erzeugen um es explizit sichtbar zu machen?
oder: wann muß ich beim Erzeugen des MDI-Child ein SetWindowPlacement()
anbringen, ohne das das Fenster erst mit anderen Koordinaten sichtbar
wird?
Mir scheint, ersteres ist nicht möglich, und SetWindowPlacement()
wàhrend WM_CREATE funktioniert nicht so recht (auch bei Main-Fenster).
Ich habe CreateWindowEx() und CreateMDIWindow() probiert.
Fahrradverkehr in Deutschland: http://radwege.udoline.de/
GPG: A245 F153 0636 6E34 E2F3 E1EB 817A B14D 3E7E 482E
 

Lesen sie die antworten

#1 Uwe Kotyczka
26/05/2011 - 15:24 | Warnen spam
On 25 Mai, 21:42, Udo Steinbach wrote:
Wie kann man ein MDI-Child unsichtbar erzeugen um es explizit sichtbar zu machen?
oder: wann muß ich beim Erzeugen des MDI-Child ein SetWindowPlacement()
anbringen, ohne das das Fenster erst mit anderen Koordinaten sichtbar
wird?
Mir scheint, ersteres ist nicht möglich, und SetWindowPlacement()
wàhrend WM_CREATE funktioniert nicht so recht (auch bei Main-Fenster).
Ich habe CreateWindowEx() und CreateMDIWindow() probiert.



Du könntest das MultiDocTemplate überschreiben.
So etwa:

class CMyMultiDocTemplate : public CMultiDocTemplate
{
CMyMultiDocTemplate(UINT nIDResource, CRuntimeClass* pDocClass,
CRuntimeClass* pFrameClass, CRuntimeClass* pViewClass);
virtual ~CMyMultiDocTemplate();
virtual CDocument* OpenDocumentFile(LPCTSTR lpszPathName, BOOL
bMakeVisible);
static int m_nCount;
}

int CMyMultiDocTemplate::m_nCount = 0;

CMyMultiDocTemplate::CMyMultiDocTemplate(UINT nIDResource,
CRuntimeClass* pDocClass, CRuntimeClass* pFrameClass, CRuntimeClass*
pViewClass)
: CMultiDocTemplate(nIDResource, pDocClass, pFrameClass, pViewClass)
{
}

CMyMultiDocTemplate::~CMyMultiDocTemplate()
{
}

CDocument* CMyMultiDocTemplate::OpenDocumentFile(LPCTSTR lpszPathName,
BOOL bMakeVisible)
{
return CMultiDocTemplate::OpenDocumentFile(lpszPathName, ++m_nCount <
5 ? FALSE : bMakeVisible);
}

Dann würden die ersten vier ChildFrames unsichtbar erzeugt. Die
Bedingung
"++m_nCount < 5" fannst Du natürlich an Deine Gegebenheiten anpassen.
Es
fàllt mir allerdings schwer mir vorzustellen, wozu das gut sein
könnte.

HTH

Ähnliche fragen