Zu den Aufzeichnungen der tutorials.de-Live-Workshops
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
804
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    gehrti gehrti ist offline Mitglied Silber
    Registriert seit
    Apr 2005
    Beiträge
    50
    Hi!

    Ich habe eine dialogbasierte MFC Anwendung, die u.a. als TCP/IP Server fungiert und ich habe einen modalen Dialog, der mir die Verbindungen anzeigt und aus dem Hauptdialog heraus aufgerufen wird.

    Mein Problem ist: Wie kann ich es realisieren, dass wenn ich in der Verbindungsübersicht bin (also im modalen Dialog) und der Server im Hauptdialog eine neue Verbindung annimmt, sofort die Übersicht im aktuellen Dialog aktuallisiert wird.
    Ich hab probiert, dass ich eine Nachricht schicke, aber die scheint im dem modalen Dialog nicht anzukommen.

    Need help!

    MfG. Thomas
     

  2. #2
    Avatar von Endurion
    Endurion Endurion ist offline Mitglied Diamant
    Registriert seit
    Apr 2004
    Beiträge
    2.144
    Sollte eigentlich so gehen, dadurch, dass du eine "richtige" Nachricht schickst, ist das sogar Thread-safe.
    Zeig mal den Nachrichten-Sendecode. Der sollte so ähnlich aussehen:

    Wenn du eine Membervariable auf deinen modalen Dialog hast, der so oder so ähnlich aufgebaut wird:

    m_dlgVerbindungen.DoModal();

    dann kannst du einfach mit

    m_dlgVerbindungen.SendMessage( WM_USER + 17, x, y );

    eine Nachricht an ihn senden.
     

  3. #3
    Avatar von jokey2
    jokey2 jokey2 ist offline Mitglied Smaragd
    Registriert seit
    Nov 2004
    Beiträge
    1.234
    Wenn Du einen modale Dialog öffnest, dann heißt das, das die Abarbeitung des aufrufenden Dialoges angehalten wird, d.h. dieser Dialog steht dann so lange, bis der modale Dialog zurückkehrt. Es wird also während dieser Zeit nur der modale Dialog ausgeführt. Wie und wo hast Du denn das Senden der Nachricht an den Anzeigedialog implementiert? Und hast Du einen eigenen Task für die Verarbeitung der Verbindungen?

    EDIT: Zefix, Endurion! Jetzt warst Du schon wieder schneller!
    Geändert von jokey2 (24.05.05 um 09:36 Uhr)
     

  4. #4
    gehrti gehrti ist offline Mitglied Silber
    Registriert seit
    Apr 2005
    Beiträge
    50
    Supi, hat geklappt!

    Ich hatte es erst mit PostMessage versucht aber das funktionierte nicht.
    Das einzigste, was mich jetzt noch stört ist, dass die Variable für den 2. Dialog im ersten global definiert sein muss, da ja die Nachricht wo ganz anders ausgerufen wird, als die Stelle wo der Dialog gestartet wird. Gibt es da noch ne andere Möglichkeit?

    Merke gerade, dass ich doch noch ein kleines Problem habe: Wenn der Dialog nicht offen ist, bekomme ich natürlich nen Fehler, wenn ich die Message an ihn schicken will. Wie kann ich abfragen, ob der Dialog aktiv ist, oder nicht?

    MfG. Thomas
    Geändert von gehrti (24.05.05 um 10:19 Uhr)
     

  5. #5
    Avatar von Endurion
    Endurion Endurion ist offline Mitglied Diamant
    Registriert seit
    Apr 2004
    Beiträge
    2.144
    Statt global kannst du den als Member-Variable halten (im Hauptdialog). Theoretisch reicht ja auch das HWND des modalen Dialoges, dann mit ::SendMessage( hwndDlg, .. ) arbeiten.

    Wenn m_dlgVerbindungen.GetSafeHwnd() NULL zurückgibt, dann gibt es den Dialog nicht und du brauchst/kannst keine Nachricht schicken.

    jokey2: Tschuldigung
     

  6. #6
    gehrti gehrti ist offline Mitglied Silber
    Registriert seit
    Apr 2005
    Beiträge
    50
    Besten Dank nochmal!

    MfG. Thomas
     

Ähnliche Themen

  1. Klick neben einem modalen Dialog abfangen
    Von DarthShader im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 3
    Letzter Beitrag: 10.04.08, 14:00
  2. modalen Dialog im Vordergrund anzeigen
    Von sinamine im Forum .NET Windows Forms
    Antworten: 7
    Letzter Beitrag: 25.03.08, 14:45
  3. Zugriff auf modalen Dialog
    Von jb007 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 14.05.07, 21:26
  4. Schriftart im Modalen Dialog ändern?
    Von Apollo75 im Forum VisualStudio & MFC
    Antworten: 6
    Letzter Beitrag: 05.06.06, 10:35
  5. Statusleiste für modalen Dialog als Hauptfenster
    Von sdi im Forum VisualStudio & MFC
    Antworten: 1
    Letzter Beitrag: 02.11.04, 13:40