У меня возникли трудности с использованием Win API GetWindowDC, чтобы получить действительный hDC для рисования.Использование GetWindowDC для рисования
Я использую vb.net 2013, и я попытался разбить изображения на форму, нарисовать строку, нарисовать прямоугольник и ничего.
Я работаю в Win7 все тесты.
Должен ли я отключить aero с функциями DWM, это трюк с рукояткой или что это такое? Я уже опубликовал вопрос «draw in titlebar vb.net 2013», в котором не было ответа, где у меня есть какой-то код, но сейчас мне просто нужен рабочий пример. Вся помощь приветствуется.
Но здесь приведен еще один код, который тоже не работает.
Select Case m.Msg
Case WinAPI.Win32Messages.WM_NCPAINT
Dim hDC As IntPtr = WinAPI.GetWindowDC(m.HWnd)
Dim g As Graphics = Graphics.FromHwnd(hDC)
g.DrawString("TESTE", New Font("ARIAL", 16), New SolidBrush(Color.Black), 5, 5)
g.Dispose()
WinAPI.ReleaseDC(m.HWnd, hDC)
Ошибка OutOfMemory, и ничто не рисуется в любом месте, даже если тесты выполняются для клиентской зоны.
Это простая цель. Как рисовать во всех областях формы, и из этого я обработаю рисунок.
Хорошо, спасибо хотя бы за помощь в правильном редактировании. О Graphics.FromHDC, да, я попробовал.
Но здесь приведен еще один код, который тоже не работает.
Select Case m.Msg
Case WinAPI.Win32Messages.WM_NCPAINT
Dim hDC As IntPtr = WinAPI.GetWindowDC(m.HWnd)
Dim g As Graphics = Graphics.FromHwnd(hDC)
g.DrawString("TESTE", New Font("ARIAL", 16), New SolidBrush(Color.Black), 5, 5)
g.Dispose()
WinAPI.ReleaseDC(m.HWnd, hDC)
Ошибка OutOfMemory, и ничто не рисуется нигде, даже с помощью тестов, выполненных для клиентской зоны.
Это простая цель. Как рисовать во всех областях формы, и из этого я обработаю рисунок. И слишком плохо для отрицательных голосов. Не помогает, потому что если люди, которые быстро голосуют против ... стараются быть такими же быстрыми, когда читают все, что помещается в вопросе, и выясняя, что это не просто «gimme gimme codez» - другой ссылочный вопрос имеет код.
Люди, которые знают много забывают, что как только вы, где, как я, и не знаю много о предмете ... может даже не знать, как задавать правильные вопросы ...
Благодарность за помогите, если кто-то может это предоставить.
* «Plz giev me tezzzzz» * не является чем-то, что должно быть частью вопроса о stackoverflow. Вам нужно показать ** ваш ** код и задать конкретный вопрос. Вы хотите визуализировать область клиента или неклиентскую область окна? Является ли приложение под вашим контролем? Что вы пробовали? Как это случилось? – IInspectable
Документация для [WM_NCPAINT] (https://msdn.microsoft.com/en-us/library/dd145212.aspx) содержит рабочий пример кода. – IInspectable