Benutzer mit den meisten Antworten
CToolbar in CDialog

Frage
-
Ich habe einen CToolbar in einen Dialog eingebunden in OnInitDialog. Dieser wird korrekt angezeigt, allerdings werden die Kommandos nicht an den Dialog weitergeitet, wie das bei einem FrameWindow der Fall ist. Wie kann man es erreichen, dass die Kommandos weitergeleitet werden an den Dialog?
Besten Dank,
T. Müller
Antworten
-
Nee, das hat leider nicht geklappt; meiner Meinung nach habe ich auch den Owner richtig gesetzt. Ich habe aber in der Zwischenzeit eine andere Lösung gefunden:
Ich fange OnLeftMButton ab und mache einen Hit-Test. Daraus ermittle ich den button und sende die Nachricht danach selbst weiter.
Trotzdem besten Dank!
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 22. Dezember 2011 13:04
Alle Antworten
-
Dialoganwednungen sind nicht geeignet Toolbars aufzunehmen. Dazu musst Du einige Klimmzüge machen.
http://blog.m-ri.de/index.php/2008/09/07/die-unsitte-dialogbasierende-anwendungen-zu-bauen-statt-sdi-mit-cformview-zu-verwenden/Ansonsten, wenn Du es nicht bleiben lassen magst hätte eine simple Suche in Google mit "CDialog CToolbar mfc" genügtund Du wärest auf gute Quelleb gestoßen:
http://www.codeguru.com/cpp/w-d/dislog/toolbarsandstatusbars/article.php/c1949
http://msdn.microsoft.com/en-us/library/ccstww6w(v=vs.80).aspx
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Als Antwort vorgeschlagen Martin RichterModerator Mittwoch, 14. Dezember 2011 11:06
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 21. Dezember 2011 17:01
- Tag als Antwort aufgehoben Robert BreitenhoferModerator Donnerstag, 22. Dezember 2011 13:04
- Nicht als Antwort vorgeschlagen Robert BreitenhoferModerator Donnerstag, 22. Dezember 2011 13:04
-
Diese beiden Quellen kenne ich; diese habe ich benutzt. Nichtsdestotrotz ist es so, dass das Message Handling für den Toolbar nicht funktioniert. Der Unterschied zum Beispiel 1 ist, dass meine Anwendung nicht dialogbasiert ist, sondern der Dialog nur als Anzeige-PopUp mit weiteren Funktionen fungiert. Diese werden über den Toolbar abgebildet.
Eine Lösung wäre, dass der Toolbar seine Messages selber abfängt. Leider gelingt mir das aus nicht.
-
> Diese beiden Quellen kenne ich; diese habe ich benutzt. Nichtsdestotrotz ist es so, dass das Message Handling für den Toolbar nicht funktioniert. Der Unterschied zum Beispiel 1 ist, dass meine Anwendung nicht dialogbasiert ist, sondern der Dialog nur als Anzeige-PopUp mit weiteren Funktionen fungiert.
Dann hast Du einen Fehler gemacht und den Owner des Toolsbars nicht korrekt gesetzt.
Ansonsten Kannst Du jederzeit OnChildNotify überschrieben und das Message Handling selbst in die Hand nehmen, wenn das Parent Window auch aus der MFC stammt.
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de -
Hallo milonass,
Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.Grüße,
RobertRobert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können. -
Nee, das hat leider nicht geklappt; meiner Meinung nach habe ich auch den Owner richtig gesetzt. Ich habe aber in der Zwischenzeit eine andere Lösung gefunden:
Ich fange OnLeftMButton ab und mache einen Hit-Test. Daraus ermittle ich den button und sende die Nachricht danach selbst weiter.
Trotzdem besten Dank!
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 22. Dezember 2011 13:04