Добавить прозрачное изображение на расширенную рамку - PullRequest
1 голос
/ 02 августа 2011

У меня небольшая проблема с расширенной стеклянной рамкой DWM в форме окна.

Я расширил стеклянную рамку своей winform и добавил пользовательский элемент управления, который рисует на ней вкладку с белым фоном, почти как вкладки Google Chrome. Затем я добавил текст в область вкладок и до сих пор все работает нормально.

Теперь у меня есть другой элемент управления (PictureBox) с прозрачным png в качестве изображения, и я бы хотел, чтобы этот элемент управления перетаскивался куда-то на вкладку. В результате половина моего PictureBox может быть на вкладке (белый фон с текстом), а другая половина - на стеклянной рамке.

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

Есть ли способ справиться с этим? Спасибо за вашу помощь, очень высоко ценится; -))

PS: я уже рассмотрел создание CopyFromScreen для области PictureBox и установил его в качестве BackgroundImage, но это не сильно помогает, так как часть, которая будет на стекле, не обновится, если я переместу свой WinForm.

...