PDA

Ver la Versión Completa : problemas con contextos de dispositivo


ccampoy
30-07-2003, 01:39:05
Muy buenas a todos...
bien delphiadores, la cuestión esque quiero implementar un TEdit avanzado y en el constructor quedria coger su contexto de dispositivo y para esto he probado con la function de windows GetDC y he probado con la funcion miembro GetDeviceContext y las dos me dan el mismo problema; el componente me compila bien, pero cuando lo pongo en un TForm me sale un mensage de error que me dice " control '' has no parent window".
Alguien save decirme porque es esto asi y como podria arreglarlo?
Muchisimas gracias a todos.

andres1569
30-07-2003, 09:26:07
Tal como te indica el mensaje, el control no puede obtener un Contexto de dispositivo porque aún no tiene un Parent Window. Esto es algo que no puedes solucionar en el Constructor del control, ya que Delphi le asigna el Parent tras haberlo creado, pero sí lo puedes intentar redefiniendo el método SetParent, que por suerte es virtual:


// éste método sería override en la declaración
procedure TMyEdit.SetParent (AParent: TWinControl);
begin
inherited;
if Parent <> nil then DC := GetDC(Handle);
end;

ccampoy
03-08-2003, 20:01:17
De puta madre (con perdon de la expresión) andres...
He hecho una pequeña prueva y parece que va bien. Muchas gracias.