Ignacio:
Efectivamente en la anterior versión del programa que estoy pasando a
Xailer existe un Edit y un Button independientes para realizar esta tarea,
pero creí que usando esta otra forma no estaba inflingiendo ninguna norma de
comportamiento, en fín sopesaremos el volver a colocar el TDBEdit y un
Buttón.
Como tú muy bien dices la aplicación de la instrucción
::oEscudo_Com:lReadOnly := .T. la hago en el formulario de Nuevo/Editar en
el Metodo FormInitialize( oSender ) por lo tanto efectivamente es despues de
la llamada al metodo New o Edit.
Gracias por la clase que me has aportado como te he dicho antes valoraré
utilizar la clase o hacer lo que anteriormente he expuesto, que es hacer un
Edit y un Buttón.
José R. Castro
jrcpoli"@"terra.es
"Ignacio Ortiz de Zúñiga" <
NoName@xailer.com> escribió en el mensaje
news:4492e45e$[email=
1@ozsrvnegro.ozlan.local...]
1@ozsrvnegro.ozlan.local...[/email]
> José,
>
> Todo depende de cuando pongaso lReadOnly a .T. pero normalemente no sirve
> para nada por que con el proceso de bloqueo y desbloqueo se cambia su
> estado. Ahora bien si lo pones después de la llamada a Edit() es posible
> que
> te funcione como cuentas.
>
> Realmente estás modificando el comportamiento del control Edit nativo de
> Windows que soporta ese flag directamente, y logicamente eso no afecta al
> botón que tiene incluido y es precisamente por eso que lReadOnly deja de
> ser
> visible en el inspector, y podriamos haber sido más estrictos y haberlo
> pasado a protected para que no se pudiera tocar como lo estás haciendo tu
> pero nos parece demasiado.
>
> Cuando se marca lEditable a falso se supone que no quieres editarlo en su
> totalidad, incluido el botón. Es más razonable utilizar un label y un
> botón
> que un EditBtn. Si dejasemos pulsar el botón cuando lEditable esta a .F.
> algún usuario y con razón diría que eso está mal.
>
> No obstante a continuación te dejo un pequeño código que puedes incluir en
> cualquier PRG para que se comporte como tu quieres:
>
> CLASS TDBEditBtn FROM XDbEditBtn
> METHOD Click() INLINE ::TEditBtn:Click()
> ENDCLASS
>
> Saludos,
>
> "José R.Castro" <
JRCPOLI@terra.es> escribió en el mensaje
> news:4492dca2$[email=
1@ozsrvnegro.ozlan.local...]
1@ozsrvnegro.ozlan.local...[/email]
>> Ignacio:
>>
>> Si en el TDBEditBtn pongo la propiedad lEditable a False, no se puede
>> ejecutar el evento OnBtnClick, se desactiva la linea completa, en cambio
>> si
>> por código pongo ::oEscudo_Com:lReadOnly := .T. el edit se convierte en
>> no
>> editable pero el botón se puede ejecutar, así que sigo diciendo que el
>> efecto no es el mismo para lo que yo pretendo que es que en un campo de
>> una
>> base de datos se pueda guardar el nombre y extensión de un fichero que
>> contiene la bandera de la comunidades autonomas, y por lo tanto lo que
>> interesa es que el nombre sea aportado mediante el disparo de un evento
>> que
>> lleve a seleccionar el nombre del fichero através de un FileOpenDialog
>> para
>> que no contenga errores al escribirlo y además se compruebe que existe.
>>
>> José R.Castro
>> jrcpoli"@"terra.es
>>
>> "Ignacio Ortiz" <
Noname@ozs.com> escribió en el mensaje
>> news:4492ae82$[email=
1@ozsrvnegro.ozlan.local...]
1@ozsrvnegro.ozlan.local...[/email]
>>> Jose,
>>>
>>> lEditable.
>>>
>>> No existe en la clase TDBEditBtn precisamente porque esta clase la ha
>>> ocultado aposta. Exactamente igual ocurre con la propiedad Value.
>>>
>>> Saludos,
>>>
>>> "José R.Castro" <
JRCPOLI@terra.es> escribió en el mensaje
>>> news:44928d4c$[email=
1@ozsrvnegro.ozlan.local...]
1@ozsrvnegro.ozlan.local...[/email]
>>>> Saludos:
>>>>
>>>> En las jornadas de xailer presentación de la versión personal,
>>>> pregunté
>>>> como podía hacer para que en una TEditBtn no se pudiera escribir en él
>>>> pero
>>>> en cambio funcionara el evento OnBtnClick, me dijisteís que pusiera la
>>>> propiedad lReadOnly a True, vale el concepto está claro lo que ocurre
>>>> es
>>>> que
>>>> si en lugar de utilizar este control utilizamos TDBEditBtn esa
>>>> propiedad
>>>> hay
>>>> que inicializarla a mano porque no existe en las propiedades del IDE y
>>>> por
>>>> el contrario si existe en el fichero de Ayuda, y en la propiedades del
>>>> otro
>>>> control, porque en uno sí y en el otro no, espero se me haya entendido.
>>>>
>>>> José R.Castro
>>>>
jrcpoli@terra.es
>>>>
>>>>
>>>
>>>
>>
>>
>
>
>