Pregunta

Tengo una forma en la que estoy intentando anular la subrutina WNDProc. Estoy usando GetDCEX para obtener un mango DC en mi forma. Según la documentación de Microsoft sobre el uso de GetDCEX, mi formulario debe tener el indicador CS_OWNDC o CS_PARENTDC establece mi clase de ventana para usar GetDCEX. Según SPY ++, mi ventana no tiene estos atributos de clase. Mi pregunta es, ¿cómo puedo asignar CS_OWNDC o hacer que el formulario se pueda dar a luz del propietario para que pueda usar GetDCEX en mi programa? Estoy usando C#, por cierto.

¿Fue útil?

Solución

Creo que deberías anular CreateParams En su código como este:

/// <summary>
/// Overrides the control's class style parameters.
/// </summary>
protected override CreateParams CreateParams
{
    get
    {
    Int32 CS_VREDRAW = 0x1;
    Int32 CS_HREDRAW = 0x2;
    Int32 CS_OWNDC = 0x20;
    CreateParams cp = base.CreateParams;
    cp.ClassStyle = cp.ClassStyle | CS_VREDRAW | CS_HREDRAW | CS_OWNDC | ...;
    return cp;
    }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top