Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Frage zur SoftwareArchitektur, die durch MFC entsteht

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 <
000
21.11.2005, 15:02 Uhr
~maxpower24
Gast


Hallo,

ich fange gerade an, mich in MFC zurechtzufinden und hab da mal ne Frage zur Softwarearchitektur:

Also, ne MFC-Anwendung zu schreiben, scheint ja recht simpel zu sein. Ich hab ne Dialogbasierte Anwendung geschrieben, deren Dialog einen TreeControl besitzt. Ich hab da ein paar TreeItems eingefügt und mit dem Klassenassistent hab ich die Ressource-ID des TreeControls mit einem Ereignis verknüpft. In der der entstehenden Funktion, lass ich dann den Text des selektierten Knotens ausgeben...

Soweit, so gut...was mich daran stört ist folgendes. Wenn man mit dem Klassenassi die TreeControl mit dem Ereignis verbindet, dann entsteht die Ereignismethode in der Dialogklasse - das ist doch blöde, da jetzt die Dialogklasse nicht nur GUI-zeugs beinhaltet, sondern auch Programmlogik!!!

Ich will es so haben, dass in der Dialogklasse wirklich nur die GUI-Komponenten drin sind. Für diese würde ich Membervariablen und getter() schreiben. Dann würde ich eine Controller-Klasse schreiben, die Zugriff auf den Dialog hat. Jetzt müßte man es irgendwie mit dem Klassenassi hinbekommen, dass man das Ereignisse des TreeControls mit Funktionen der Controllerklasse gemapt werden...aber das geht irgendwie nicht...überhaupt sind manuell erstellte Klasse gar nicht im Klassenassistent auswählbar....

Also hier die Fragen:
***************
1) WIE KANN MAN VIEW und VERHALTEN voneinander trennen??? Oder ist das in MFC gar
nicht erwünscht???

2.) Gibt es in der MFC-Welt ein Pendant zu den Listenern aus der Javawelt??? Da würde ich ja einfach einen TreeSelectionListener am Tree registrieren???

Vielen Dank
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
21.11.2005, 15:15 Uhr
Spacelord
Hoffnungsloser Fall


Du kannst dir das Messagerouting so zurecht biegen dass das TreeControl die Nachricht bekommt.
Schau dir mal OnChildNotify an.
Wenn du es ganz genau wissen willst:
www.microsoft.com/msj/0795/dilascia/dilascia.aspx
Für dich ist der Absatz"Child knows best" am interessantesten.
Wenn du allerdings mit den MFC halbwegs objektorientierten,wiederverwendbaren Code schreiben möchtest kann ich dir nur empfehlen dir den ganzen Artikel durchzulesen.

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ 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: