none
Warum wird auf einmal TVN_GETDISPINFOW (statt TVN_GETDISPINFO bzw. TVN_GETDISPINFOA) geschickt RRS feed

  • 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.

    Dienstag, 29. Juni 2010 11:50

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
    Dienstag, 29. Juni 2010 12:36
    Moderator

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
    Dienstag, 29. Juni 2010 12:36
    Moderator
  • 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

    Dienstag, 29. Juni 2010 12:51
    Moderator