Probleme mit Modeless Dialog Probleme mit Modeless Dialog
Ergebnis 1 bis 3 von 3
  1. suamikim Gast
    Hallo zusammen!

    Schreibe gerade an einer SDI-Anwendung für PPC 2003 und hab dabei folgendes Problem:

    In meiner View lade ich Daten aus einer Datei und zeige diese als Diagramm an. Um die genaue Darstellung der Daten zu ermöglichen habe ich einen extra Dialog geschrieben, der nicht-maximiert (also mit "m_bFullScreen = false;") über Create(...) und ShowWindow(...), also Nicht-Modal, gestartet wird.
    In diesem Dialog werden immer die aktuellen Werte angezeigt, wenn der Benutzer auf einen Bereich im Diagramm drückt, was soweit kein Problem darstellt.

    Folgende 2 Probleme treten mit dem Nicht-Modalen Dialog allerdings auf:

    1. Menü
    In meinem MainFrame definiere ich ein Menü, welches aus normalen Text-Menü-Elementen und einer Toolbar besteht. Die Toolbar beinhaltet allerdings Drop-Down-Buttons, welche ich ca. wie hier beschrieben, erzeuge.
    Das Problem ist nun, dass das Menü verschwindet, sobald ich meinen Dialog öffne, was ja nicht weiter verwunderlich ist. Die Frage ist nur, wie ich das Hauptmenü weiterhin anzeigen kann?
    Ich könnte natürlich ein neues Menü mittels:

    Code:
    m_pCommandBar = (CCeCommandBar *)m_pWndEmptyCB;
    m_pCommandBar->LoadToolBar(IDR_TOOLBAR_MEASURE);
    ...
    erzeugen, funktioniert das so nicht ganz, da die Toolbar dann falsch dargestellt wird (aufgrund der Drop-Down-Buttons) und meine Ereignisbehandlung für die Toolbar-Button durcheinander kommt.

    Ist es vielleicht möglich das Menü einfach durch eine Referenz auf das Menü im MainFrame darzustellen? Zb. folgendes habe ich bereits ohne Erfolg versucht:

    Code:
    m_pCommandBar = (CCeCommandBar *)m_pWndEmptyCB;
    m_pCommandBar = &((CMainFrame *)GetParentFrame())->m_wndCommandBar;
    ...
    Nun zum 2. Problem: Resizing
    Wenn mein Nicht-Modaler Dialog geöffnet ist, ist es ja normal, dass der Benutzer während dessen in der Haupt-View herumdrückt (um eben Daten im Dialog anzuzeigen), dh. dass mein Dialog den Focus verliert. Nun geschieht es aber, dass der Dialog sich maximiert, sobald er den Focus wieher erhält (also folgender Ablauf: User öffnet Dialog, Dialog hat Focus und ist nicht Fullscreen -> User drückt auf Diagramm in Main-View, Dialog verliert Focus -> User drückt auf Bereich im Dialog -> Dialog maximiert sich und lässt sich nicht mehr verkleinern)!

    Wie kann man dieses Verhalten verhindern? Ich habe schon versucht einige Ereignisse, wie zB. OnSize zu abbonieren und abzufangen, was allerdings zu keiner Änderung geführt hat!

    ps.: Ich habe gerade festgestellt, dass das Problem anscheinend nur am PPC 03 auftritt, da ich die Anwendung gerade auf einem 02er Teste und der Dialog hier anscheinend immer seine Größe behält!

    Ich hoffe, dass mir vielleicht jemand weiterhelfen kann, da ich hier wirklich nicht mehr weiter weiß!

    Vielen dank im voraus, mfg

    mike
    0
     

  2. suamikim Gast
    Nachdem die ganze Fragestellung vielleicht ein wenig abstrakt ist, hab ich mal ein kleines Test-Programm gebastelt, indem meine Probleme ziemlich schnell ersichtlich werden (herunterzuladen, hier).

    Vielleicht hat ja jemand Lust und Launa sich das ganze ein wenig anzusehen, um mir vielleicht konkret auf den Code bezogen weiterzuhelfen!

    Hier nochmal der Aublauf mit Screenshots:



    (1) Normale Ansicht nach dem Start.

    (2) Offener nicht-modaler Dialog nach druck auf den Toolbar-Button:

    Hier ist schon ersichtlich, dass das Hauptmenü nun verschwindet. Gibt es vielleicht eine Möglichkeit, dieses Verhalten zu verhindern?

    (3) Nachdem der Benutzer nun einmal ausserhalb des Dialogs klickt (also den Focus an die Haupt-View abgibt) und danach wieder in den Dialog hineinklickt (Focus wieder an Dialog) maximiert sich dieser:

    danke, mfg

    mike
    0
     

  3. suamikim Gast
    Ups, hab oben die Download-Adresse vergessen:

    http://www.ras-kas.net/Pics/PocketDA...pp/TestApp.zip

    Danke
    0
     

Ähnliche Themen

  1. WLAN-Probleme mit 6340 und Probleme mit PDF-Reader von Adobe
    Von pbonderer im Forum HP Forum (PPC)
    Antworten: 1
    Letzter Beitrag: 07.08.2005, 15:44
  2. Anwendung vom Dialog "Heute" starten
    Von Roli im Forum Programmieren
    Antworten: 1
    Letzter Beitrag: 07.01.2005, 20:36
  3. Edit un Dialog
    Von DonTobias im Forum Programmieren
    Antworten: 1
    Letzter Beitrag: 27.02.2004, 12:50

Stichworte