-
Написал расширение контекстного меню Проводника, на файлах всё работает замечательно. Когда же включил "срабатывание" на папках, заметил проблему: в режиме OWNERDRAW тексты всех пунктов контекстного меню, кроме моих собственных, сдвигаются вправо на величину, примерно равную левому полю (с котором находятся значки), то есть левое поле становится в два раза шире. На файлах — по прежнему всё нормально, более того, проверил на дисках — тоже всё ОК. А на папках — такой трабл. Во всех методах, работающих с меню, поставил Exit в самом начале — ничего не поменялось. Практически осталась одна команда InsertMenuItem(Menu, ItemPos, TRUE, MENUITEMINFO) (код в Delphi), вызываемая в методе QueryContextMenu (при этом MENUITEMINFO.fType := MFT_OWNERDRAW) — и всё, этого достаточно, чтобы на папках меню "плыло".
При отключении OWNERDRAW всё, естественно, замечательно.
В чем дело?
-
WM_MEASUREITEM как-то обрабатывается?
|