FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
problemas con contextos de dispositivo
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. |
#2
|
|||
|
|||
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:
Código:
// é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;
__________________
Guía de Estilo |
#3
|
|||
|
|||
De puta madre (con perdon de la expresión) andres...
He hecho una pequeña prueva y parece que va bien. Muchas gracias. |
|
|
|