Canvas e Skins do Winamp
GetWindowDC (WinAPI)
Às vezes o winamp trava e acusa que desenha seus skins sobre sua janela depois do windows. É quando eu posso ver que o winamp é "humano" porque ele usa os handles normais de janela que qualquer outro programa só que ele ultrapassa e desenha sobre o canvas da janela inteira (incluindo a barra de título - caption bar). Como se faz isso? WinAPI.
A função GetWindowDC retorna o que é explicado aqui:
The GetWindowDC function retrieves the device context (DC) for the entire window, including title bar, menus, and scroll bars. A window device context permits painting anywhere in a window, because the origin of the device context is the upper-left corner of the window instead of the client area.
Quer dizer que se você passar o handle de uma janela pra essa função ela retorna um índice controlador de contexto de dispositivo gráfico que te permite desenhar na janela inteira, sobrescrevendo o que normalmante você vê (botões minimizar, maximizar, etc). Isso permite capturar o desktop, capturar conteúdo de outros programas, capturar tudo que possa se transformar em Device Context pelo Windows. Que maravilha, hein?
0 Comentários:
Postar um comentário
<< Home