Theoretische Dialog/Fensterfrage



  • Hi...

    Ich bin mir noch nicht ganz im klaren, wie und warum das läuft, was ich unten dann gerade beschreiben werde:

    Mit dem MFC Klassenassi lege ich eine Dialog - Fensterklasse an die ja von CDialog abgeleitet wird, danach öffne ich das Dialogfeld nicht modal. Soweit so gut..Ich habe jetzt testweise einmal zwei Instanzen der Fensterklasse erzeugt und erstelle dann zwei GLEICHE Dialoge mit der Methode Create. Das sieht dann etwa so aus:

    //2 Instanzen der Dialogfeldklasse
      CDlgPCTL m_dlgP1CTL;
      CDlgPCTL m_dlgP2CTL;
    
    //Fenster erzeugen mithilfe von Create
    
    //Dialog 1
      m_dlgP1CTL.Create(IDD_DLGPCTL);
     //Position von Fenster 1
      m_dlgP1CTL.SetWindowPos(&CWnd::wndNoTopMost,15,56,0,0,SWP_NOSIZE);
      m_dlgP1CTL.ShowWindow(SW_SHOW);
    
    //Dialog 2
      m_dlgP2CTL.Create(IDD_DLGPCTL);
      //Position von Fenster 2
      m_dlgP2CTL.SetWindowPos(&CWnd::wndNoTopMost,265,56,0,0,SWP_NOSIZE);
      m_dlgP2CTL.ShowWindow(SW_SHOW);
    

    Das funktioniert so. Ich kann individuell Nachrichten empfangen, das heisst ich kann diese zwei Dialoge unabhängig voneinander bedienen.
    Jetzt meine Frage: Liegt der Grund, warum das alles funktioniert, darin, dass bei einem jeweiligen Aufruf der Create Methode das Dialogfeld mit einer dazugehörenden Fensterprozedur verknüpft wird? Ich habe da mal was gelesen, dass die Fensterprozedur aus dem Fensterhandle und der HandleTabelle der MFC den Zeiger auf das entsprechende DialogObjekt ermittelt. Liege ich da richtig?? 😕

    Grüsse Dan



  • Stell Dir vor Du hast eine Anleitung, wie Du eine mechanische Maus zusammen basteln kannst, die eigenständig laufen kann.
    Nun baust Du 2 davon nach der gleichen Anleitung, sprich 2 gleich Mäuse, aber sind halt einzelne Objekte und damit unabhängig voneinander.
    Genauso kannst Du auch ne Masse davon bauen, die unabhängig sind. Sie sind nur gleich aufgebaut und sehen gleich aus und haben das selbe verhalten.

    Eine Klasse ist nichts anderes als ne Anleitung, wie ein Objekt aussieht, was es kann etc.

    Hoffe das Beispiel konnte helfen 😃



  • Hi

    Danke für Deine Antwort...Das mit dem Objekt ist mir klaro... 😃
    Mir ging es eher darum wie das genau mit der Fensterprozedur abläuft..(MFC intern).

    Gruz

    Danny


Anmelden zum Antworten