Partilhar via


Contextos do dispositivo de exibição de janela

Um de contexto de dispositivo de janela de permite que um aplicativo desenhe em qualquer lugar de uma janela, incluindo a área não cliente. Os contextos de dispositivo de janela são normalmente usados por aplicativos que processam as mensagens de WM_NCPAINT e WM_NCACTIVATE para janelas com áreas não clientes personalizadas. O uso de um contexto de dispositivo de janela não é recomendado para qualquer outra finalidade.

Um aplicativo pode recuperar um contexto de dispositivo de janela usando o GetWindowDC ou função GetDCEx com a opção DCX_WINDOW especificada. A função recupera um contexto de dispositivo de janela do cache de contexto do dispositivo de exibição. Uma janela que usa um contexto de dispositivo de janela deve liberá-la após o desenho usando a função ReleaseDC o mais rápido possível. Os contextos do dispositivo de janela são sempre do cache; Os estilos de classe CS_OWNDC e CS_CLASSDC não afetam o contexto do dispositivo.

Quando um aplicativo recupera um contexto de dispositivo de janela, o sistema define a origem do dispositivo para o canto superior esquerdo da janela, em vez do canto superior esquerdo da área do cliente. Ele também define a região de recorte para incluir toda a janela, não apenas a área do cliente. O sistema define os valores de atributos atuais de um contexto de dispositivo de janela para os mesmos valores padrão de um contexto de dispositivo comum. Um aplicativo pode alterar os valores de atributo, mas o sistema não preserva nenhuma alteração quando o contexto do dispositivo é liberado.