Рисование панели инструментов на заголовке окна - PullRequest
1 голос
/ 20 января 2009

Как нарисовать панель инструментов на заголовке окна C # winforms в Windows Vista? У меня есть окно, где оно работает, за исключением случаев, когда окно не минимизировано / не максимизировано, оно увеличивается в размере примерно на 16x32 пикселей. Если возможно, приведите примеры кода.

Ответы [ 2 ]

1 голос
/ 20 января 2009

Единственный способ эффективно это сделать - обработать сообщение WM_NCPAINT при переопределении метода WndProc для формы.

Переход к базовой реализации WndProc приведет к тому, что рамка окон будет окрашена, но в этот момент вы будете ответственны за рисование элементов панели инструментов в строке заголовка.

Вы также захотите обработать все другие сообщения WM_NC *, которые позволят вам обрабатывать нажатия кнопок и т. П. (Которые вам понадобятся для обработки событий для ваших закрашенных элементов управления).

0 голосов
/ 20 января 2009

Я искал ту же проблему, потому что я хотел закодировать полосу ленты с этой большой кнопкой в ​​левом верхнем углу ... Единственный хороший источник, который я нашел, был в CodeProject на этом блоге и этом и другом .

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