Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Fenster splitten

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
07.08.2002, 22:08 Uhr
~stainy
Gast


Hi Leute,

ich will mit CSplitterWnd ein Fenster teilen (ähnlich dem Explorer). In der MSDN hörte sich das auch idiotensicher an. Ich hab mir ein Assistenten-Programm machen lassen (SDI, ohne Doc/View), und in der FrameWnd-Klasse die OnCreateClient() überschrieben.



C++:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
    m_wndSplitter.CreateStatic(this, 1, 2);
    m_wndSplitter.CreateView(0, 0, m_wndView.GetRuntimeClass(), CSize(200, 150), pContext);
    m_wndSplitter.CreateView(0, 1, m_wndView.GetRuntimeClass(), CSize(200, 150), pContext);

    return CFrameWnd::OnCreateClient(lpcs, pContext);
}



Beim Ausführen gibt's einen Fehler in der winocc.cpp
Der Kernel meckert auch.

Was könnte denn da schiefgelaufen sein?

Gruß von stainy
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.08.2002, 22:21 Uhr
Christian
C/C++ Master
(Operator)


Hi!

Auf anhieb würde ich sagen, dass du auf keinen Fall CFrameWnd::OnCreateClient(..) aufrufen darfst. Dann sollte es denke ich einmal gehen (habs aber nicht probiert).

Grüße
--
Grüße, Christian
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.08.2002, 13:52 Uhr
~stainy
Gast


Sicher?
Ich hab's genau so gemacht, wie's in MSDN drinstand.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
08.08.2002, 20:13 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Probiers mal mit folgendem Syntax (Der 3.Param ist etwas anders):

C++:
if(!m_wndSplitter.CreateStatic(this, 1, 2) ||
!m_wndSplitter.CreateView(0,0,
RUNTIME_CLASS(CLeftView),
CSize(200,0), pContext) ||
!m_wndSplitter.CreateView(0,1,
RUNTIME_CLASS(CRightView),
CSize(0,0),pContext))
{
   return false;
}
return true;



mfg mike
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
08.08.2002, 21:03 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Mike,
dann schreib aber auch was CLeftView ind CRightView für Klassen sind. Sonst ist stany vollends verwirrt
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
08.08.2002, 21:09 Uhr
mike
Pinguinhüpfer
(Operator)



RightView und LeftView müssen einfach abgeleitete MFC Views sein. Im Explorer ist CLeftView = CTreeView und CRightView = CListView.

mfg mike
PS: Wenn du den Explorer 1:1 nachmachen willst, wird dir nichts anderes übrig bleiben, als CLeftView u. CRightView von CView abzuleiten und den Tree und die List mit Create zu erstellen.
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
08.08.2002, 21:14 Uhr
Uwe
C/C++ Master
(Administrator)


@Mike,
war keine Kritik, nur ein Hinweis. Bei Cut & Paste geht das schief
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 08.08.2002 um 21:14 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
08.08.2002, 21:21 Uhr
mike
Pinguinhüpfer
(Operator)


Nein. Nein. So hab ichs nie verstanden.
"RightView und LeftView müssen einfach abgeleitete MFC Views sein" ist für stainy gemeint.

mfg mike
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
08.08.2002, 23:44 Uhr
Christian
C/C++ Master
(Operator)


Hallo!

Stainy müsste doch nur wie ich es geschrieben habe anstelle von:


Code:
return CFrameWnd::OnCreateClient(lpcs, pContext);



einfach


Code:
return TRUE;



schreiben. Das funktioniert dann auch.
Grüße
--
Grüße, Christian
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
09.08.2002, 13:11 Uhr
~staniy
Gast


Bei mir funktioniert's nicht.

Grüße zurück, stainy
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: