Benutzer mit den meisten Antworten
Warum wird auf einmal TVN_GETDISPINFOW (statt TVN_GETDISPINFO bzw. TVN_GETDISPINFOA) geschickt

Frage
-
Hi,
ich stelle einiges an meinen Quelltexten um (Projekte sind ohne Unicode). Insbesondere habe
ich einen TreeCtrl aus einer Dialog-Resource entfernt (inkl. des DDX_CONTROL(...))
und lege diesen jetzt per m_TreeCtrl.Create() manuell an.Bisher hatte ich ein
ON_NOTIFY_REFLECT(TVN_GETDISPINFO, OnGetdispinfoTree)jetzt wird aber ein TVN_GETDISPINFOW verschickt (und nicht mehr
das TVN_GETDISPINFOA, auf dass ja bei mir das TVN_GETDISPINFO mappt.)Wieso?
Tschüß, Holger.
Antworten
-
Ein schon immer existierendes Problem mit den Common Cntrols unter Win2K und später:
TTN_NEEDTEXT wird auch als TTN_NEEDTEXTW gesendet obwohl es sich um MBCS Projekt handelt und nicht als TTN_NEEDTEXTA (siehe MFC Code). Ich würde sagen, dass das Ganze noch dadurch provoziert wird, dass Du ein Common Control 6 Manifest hast.
Defakto musst Du mit beidem rechnen...Sei daran erinnert, dass MS nur die Nutzung und vollständige Funktion der Common Control 6 Controls (also mit XP Manifest) für Unicode Projekte garantiert. MBCS wird nicht unterstützt!
Das Problem ist, dass intern die Control in der Common-Control 6 DLL als Unicode Fenster angelegt werden... (also mit CreateWindowW und nicht mit CreateWindowA!).
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Als Antwort vorgeschlagen Robert BreitenhoferModerator Dienstag, 29. Juni 2010 12:52
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 6. Juli 2010 15:12
Alle Antworten
-
Ein schon immer existierendes Problem mit den Common Cntrols unter Win2K und später:
TTN_NEEDTEXT wird auch als TTN_NEEDTEXTW gesendet obwohl es sich um MBCS Projekt handelt und nicht als TTN_NEEDTEXTA (siehe MFC Code). Ich würde sagen, dass das Ganze noch dadurch provoziert wird, dass Du ein Common Control 6 Manifest hast.
Defakto musst Du mit beidem rechnen...Sei daran erinnert, dass MS nur die Nutzung und vollständige Funktion der Common Control 6 Controls (also mit XP Manifest) für Unicode Projekte garantiert. MBCS wird nicht unterstützt!
Das Problem ist, dass intern die Control in der Common-Control 6 DLL als Unicode Fenster angelegt werden... (also mit CreateWindowW und nicht mit CreateWindowA!).
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Als Antwort vorgeschlagen Robert BreitenhoferModerator Dienstag, 29. Juni 2010 12:52
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 6. Juli 2010 15:12
-
Hallo zusammen,
Und hier aus der MSDN Library: TVN_GETDISPINFO Notification Code
Hier noch etwas im Zusammenhang mit Treeview notifications:
http://www.winehq.org/pipermail/wine-patches/2002-October/003976.html
Grüße,
Robert