Как установить фоновое изображение элемента управления TreeView?(VS 2008 / .Net 3.5 / C # / WinForms) - PullRequest
2 голосов
/ 31 июля 2010

Я проводил некоторые исследования, и, похоже, это невозможно, пока я не начну копаться в InterOperabilty, то есть в PInvoke, а не в том, что на самом деле не моя рыба-котелок.Я публикую этот вопрос, так как хочу узнать, удалось ли кому-нибудь это сделать?

Я использую .png для всех своих изображений и получаю от профессионала свои изображения, чтобы я знал, что изображения поставляются снаилучшее качество наиболее подходящие форматы.

Кажется, что стандартный элемент управления представлением дерева не поддерживает фоновое изображение напрямую, а также не позволяет установить прозрачный цвет фона?У кого-нибудь есть идеи по поводу этих двух?

Ответы [ 2 ]

3 голосов
/ 31 июля 2010

Это возможно путем переопределения WndProc () и перехвата сообщения WM_ERASEBKGND.Элемент управления, показанный ниже, делает это.Однако вы быстро узнаете, почему класс Windows Forms TreeView не делает этого.С включенной опцией «плавной прокрутки» вы получаете очень уродливые артефакты.Не говоря уже об отсутствии прозрачности текста узла.Нет, для этого нет исправления, только замена complete элемента управления, который не зависит от собственного элемента управления Windows, может решить эту проблему.Обычно это не то, что вы должны учитывать, за исключением случаев, когда речь идет о очень надежном поставщике компонентов.

3 голосов
/ 31 июля 2010

Если вы хотите использовать стороннюю библиотеку, взгляните на http://objectlistview.sourceforge.net/cs/index.html - однако учтите, что это GPL.Здесь легко установить фоновые изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...