![]() |
Edit se resiste a recibir foco...
// Hola otra vez... mas problemas !!! jaja !!!
// quizas alguien me pudiese iluminar con este misterio... ( mientras tengo // ignorancia... tengo misterios ! ). // // Asumiendo que tenemos 2 forms: // // en el Form 1 hay: // un ScrollBox // un boton. ( TButton ) // // // en el Form2 hay: // uno o varios TEdit // un checkbox // un boton // // asumiendo que el Form2 se crea automaticamente en el arranque... // la accion del boton en el form principal ( el Form1 ), // es simplemente cambiar el parent del Form2, // para que quede metido en el ScrollBox del Form1 // ( Form2.Parent := ScrollBox1 ) // una vez que se ha mostrado el Form2 metido en el ScrollBox, // ( hasta ahi todo bien ) // favor intentar darle Click a alguno de los Edit ... // // // En mi version 5, el foco no se traslada a los Edit, pero un doble-click si // selecciona todo el texto. // si en alguno de los Edit se pone un showmessage en el OnMouseClick.. // se vera que el Click si llega ahi... pero el foco no se traslada !!! // Con el TAB si se pueden recorrer los Edit. // // El CheckBox y boton en el Form2, si logran recibir el foco // cuando se hace click en ellos // // por que el TEdit se "resiste" a recibir el foco ? // tiene algo que ver con la version 5 ? // o algo que no se hacer bien ? // // Si fuese un TPanel lo que metemos dentro del ScrollBox en vez de // un TForm... todo el problema desaparece... ( los Edit estarian dentro // del Panel )... // Pero curiosamente lo que deseo es meter Forms adentro del Scrollbox ! // // //------------------------------------------------------------ //Aqui sigue el codigo de las 2 unidades // se asume el Form2 se "autocrea" en el arranque. // //Instrucciones: // -correr el programa // -hacer click en el boton del Form1. // hacer click en los objetos que aparecen dentro del scrollbox1 //------------------------------------------------------------- // unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) ScrollBox1: TScrollBox; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses Unit2; {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin Form2.Top := 0; Form2.Left := 0; Form2.Parent := ScrollBox1; Form2.Show; end; end. {-------------------------------------------------} { Aqui esta el Form2 que quedara metido en } { dentro del scrollbox1, en el Form1 } { Se asume el Form2 se "AutoCrea" en el arranque } {-------------------------------------------------} unit Unit2; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; CheckBox1: TCheckBox; Button1: TButton; procedure Edit1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation {$R *.DFM} procedure TForm2.Edit1Click(Sender: TObject); begin ShowMessage('OnClick... pero el foco no se traslada a los Edit'); end; end. // ----------------------------- // Gracias !!!! //---------------------------- |
Intenta quitándole el borde a Form2:
Y por favor, utiliza etiquetas [code] o [delphi] para presentar correctamente tu código en estos foros. // Saludos |
Si Funciona !!! Gracias Roman !!!!
SI FUNCIONA !!!! ROMAN SABE MUCHO !!!!!
MUY AGRADECIDO !!!! ( Lo siento, disculpas acerca de las etiquetas [delphi]... no sabia... soy nuevo en esto de foros... intentare hacerlo bien la proxima vez !!! ) |
Ja, ja, ¡hombre! ¡qué exageración, por un bordecito! :D
Lo que sí, yo no usaría forms, ¿por qué no mejor usas frames? Están hechos precisamente para eso: son como un panel, en el sentido que actúan como un contenedor de controles y se puede colocar sin problemas dentro de un formulario. Y son como un formulario en el sentido que pueden editarse a parte para no tener todo regado en el mismo formulario y se puede reusar fácilmente en otros formularios. // Saludos |
Sugerencia es bienvenida
:) La sugerencia es muy bienvenida !!!!.
Intentare cambiar el enfoque a Frames... ya que estoy viendo otros problemas que nacen... comportamientos raros...( para mi ! ). :confused: (Me da la impresion que un form adentro de otro da resultados un tanto inesperados.. por ejemplo el ActiveControl del form de adentro ). Quizas algun dia, si alguien tuviese el tiempo y la voluntad de explicarme brevemente que conexion hay entre el borde de un Form y el foco de un Edit, me encataria saberlo... !:eek: Muy agradecido otra vez por su ayuda y sugerencia ! Aprendiz2 |
| La franja horaria es GMT +2. Ahora son las 19:06:00. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi