Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Form dentro de un TabSheet y un TEdit o TLabelEdit (https://www.clubdelphi.com/foros/showthread.php?t=94334)

olbeup 11-12-2019 18:27:25

Form dentro de un TabSheet y un TEdit o TLabelEdit
 
Hola chicos,

El problema que tengo pudiera ser un problema del propio delphi uso Berlin, me explico.

Tengo un TForm y lo quiero introducir dentro de un TabSheet que pertenece a un PageControl, hasta ahí todo perfecto, el problema viene cuando hay un TEdit, TLabeledEdit, TMemo, etc..., son todos aquellos controles que te permiten escribir, pues cuando le hace click con el ratón lado izquierdo, no le da foco y el curso no entra en el control, pero si lo haces con el lado derecho si le da foco.

Los controles mencionados lo hago directamente en el TabSheet, no hay ningún problema de ningún tipo, todo funciona, pero parece ser que TForm no hiciera nada.


Código Delphi [-]
...
var
  TabSheetTmp: TTabSheet;
begin
  TabSheetTmp := TTabSheet.Create(PageControl1);
  TabSheetTmp.PageControl := PageControl1;
  TabSheetTmp.Caption := 'Prueba1';

  PageControl1.ActivePage := TabSheetTmp;

  Form2 := TForm2.Create(TabSheetTmp);
  Form2.Parent := TabSheetTmp;
  Form2.Show;

Dentro del Form2 hay un TEdit, TLabeledEdit y un TButton, pues solo hace caso al TButton a los demás controles no les hace ni caso, sólo cuando pulsas con ratón derecho, por cierto el ratón está bien configurado, lado izquierdo para darle foco y lado derecho para que salgo el menú tipo de Windows

Un saludo.

ecfisa 11-12-2019 21:15:39

Hola.

Intenta agregando estas líneas:
Código Delphi [-]
...
var
  TabSheetTmp: TTabSheet;
begin
  TabSheetTmp := TTabSheet.Create(PageControl1);
  ...

  Form2.Align := alClient;  // opcional
  Form2.BorderStyle := bsNone;
  Form2.Show;
  Form2.SetFocus;
...

Saludos :)

Neftali [Germán.Estévez] 12-12-2019 08:49:58

Para estos casos en que hay un comportamiento extraño, estaría bien publicar (adjuntar al mensaje) un proyecto sencillo donde se reproduzca el problema, porque si no es complicado para alguien montar el mismo escenario que tiene el usuario y aunque le dedique el tiempo necesario es posible que no se reproduzca el mismo comportamiento.

olbeup 12-12-2019 09:43:16

Cita:

Empezado por ecfisa (Mensaje 534754)
Hola.

Intenta agregando estas líneas:
Código Delphi [-]
...
var
  TabSheetTmp: TTabSheet;
begin
  TabSheetTmp := TTabSheet.Create(PageControl1);
  ...

  Form2.Align := alClient;  // opcional
  Form2.BorderStyle := bsNone;
  Form2.Show;
  Form2.SetFocus;
...

Saludos :)

Hola ecfisa,

Me quito el sombrero ^\||/, me ha funcionado mejor que yo esperaba :eek:, muchas gracias :D.

Un saludo.


La franja horaria es GMT +2. Ahora son las 17:39:28.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi