tutorials.de-Buchverschenkaktion 08/2010
+ Auf Thema antworten
  1. #1
    gehrti gehrti ist offline Mitglied Silber gehrti hat eine blütenweiße Weste
    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
    Benutzerbild von Endurion
    Endurion Endurion ist offline Mitglied Diamant Endurion ist ein sehr geschätzer Mensch
    Registriert seit
    Apr 2004
    Beiträge
    2.081
    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
    Benutzerbild von jokey2
    jokey2 jokey2 ist offline Mitglied Smaragd jokey2 sorgt für eine eindrucksvolle Atmosphäre
    Registriert seit
    Nov 2004
    Beiträge
    1.230
    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 gehrti hat eine blütenweiße Weste
    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
    Benutzerbild von Endurion
    Endurion Endurion ist offline Mitglied Diamant Endurion ist ein sehr geschätzer Mensch
    Registriert seit
    Apr 2004
    Beiträge
    2.081
    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 gehrti hat eine blütenweiße Weste
    Registriert seit
    Apr 2005
    Beiträge
    50
    Besten Dank nochmal!

    MfG. Thomas

Ähnliche Themen

  1. Zugriff auf modalen Dialog
    Von jb007 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 14.05.07, 21:26
  2. Strings von Dialog A nach Dialog B übertragen
    Von king_of_drums im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 15.08.06, 13:47
  3. Schriftart im Modalen Dialog ändern?
    Von Apollo75 im Forum VisualStudio & MFC
    Antworten: 6
    Letzter Beitrag: 05.06.06, 10:35
  4. Antworten: 2
    Letzter Beitrag: 27.04.05, 20:10
  5. Statusleiste für modalen Dialog als Hauptfenster
    Von sdi im Forum VisualStudio & MFC
    Antworten: 1
    Letzter Beitrag: 02.11.04, 13:40

Lesezeichen

Lesezeichen