FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Heredar eventos de un Edit.
Saludos a todos. Estoy creando un TIpEdit, para hacer más fácil escribir ip, y me encuentro con el problema de que no sé heredar el evento OnChange para usarlo. Me gustaría usar ese evento para evitar escribir letras, y otras cosas.
Hasta ahora tengo hecho esto, pero me da un error que más abajo voy a poner:
[Error] EditSoloIp.pas(26): Incompatible types: 'TNotifyEvent' and 'procedure, untyped pointer or untyped parameter' No he continuado el constructor porque me falta esa ayuda. Gracias. |
#2
|
||||
|
||||
Cuando estás creando componentes, no se usan los eventos directamente. Lo que debes hacer es redefinir el método Change:
// Saludos |
#3
|
|||
|
|||
Hola...
Esto que mencionas lo puedes hacer de dos formas... Uno, puedes redefinir el método que dispara el evento, que en el TEdit es Change:
La forma en que lo quieres hacer, tendrías que crear un método en tu clase que tenga como parámetro Sender: TObject:
El lado malo de esta última forma es que si en tiempo de diseño asignan un manejador de eventos para OnChange, se perdería el que estableciste al momento de crear el componente. Saludos... |
#4
|
||||
|
||||
Para controlar lo que se escribe es mejor capturar el evento OnKeyPress, así si es un caracter invalido ya no dejas escribirlo.
Por ejemplo, en el OnKeyPress puedes poner algo parecido a esto:
Como alternativa, también tienes el componente TMaksEdit, y un ejemplo de mascara: 000.000.000.000;1;_ Saludos |
#5
|
|||
|
|||
Vale, voy a probar.
|
#6
|
|||
|
|||
Tengo esto y me da el siguiente error en la línea de OnKeyPress:
[Error] EditSoloIp.pas(30): Incompatible types: 'Parameter lists differ' |
#7
|
|||
|
|||
Hola...
En lugar de usar el evento OnKeyPress, es mejor que redefinas el método KeyPress:
Saludos... |
#8
|
|||
|
|||
Bua, me he tirado toda la tarde pero mirad lo que he conseguido:
Conjunto de edits especiales para escribir ips:
Un ejemplo para crearlo: var EditIp: TEditIp; procedure TForm1.FormCreate(Sender: TObject); begin EditIp.Crear(Form1,96,296,'.'); end; |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Heredar un frame. | adebonis | OOP | 4 | 21-05-2008 20:10:57 |
Heredar Objetos ADO | mcarazas | Varios | 3 | 19-10-2006 10:07:20 |
Problema al heredar frames | choty | Varios | 5 | 21-06-2006 17:03:47 |
Heredar objeto | carlomagno | OOP | 5 | 19-06-2006 01:00:05 |
Heredar del DBNavigator | Carlosj | OOP | 0 | 11-01-2005 09:29:43 |
|