Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Control de Paginas de un PageControl por medio de un ComboBox (https://www.clubdelphi.com/foros/showthread.php?t=88437)

rufo 07-06-2015 00:26:58

Control de Paginas de un PageControl por medio de un ComboBox
 
Buenas tardes a todos antes que nada me es grato volver con ustedes en el cual es la mejor comunidad que he conocido, bueno espero que me ayuden con el siguiente problemita que tengo, resulta que tengo un combobox y en su propiedad de items le puse una lista en el cual quiero hacer que cuando elija una opcion de dicha lista me aparesca una ventana de un objeto de pagecontrol pero no logro visualizar cada opcion que pongo a lo mejor lo estoy haciendo mal, les pongo a continuacion el codigo que estoy usando y de antemano gracias.
Código Delphi [-]
procedure Tprincipal3.ComboBox1Change(Sender: TObject);
begin
      tdeposito.Visible:=true;
  case ComboBox1.ItemIndex of
     1:   factura.Visible:=true;
     2:   prestamo.Visible:=true;
     end;
  end;

Nota: tdeposito es el objeto Tpagecontrol y factura, prestamo son tabsheet.

Al González 07-06-2015 01:26:17

¿Podrías explicarlo con mucho mayor detalle? Por favor.

Caral 07-06-2015 03:43:22

Hola
Los items del combobox empiezan en 0, 1, 2 etc...
Saludos

nlsgarcia 07-06-2015 03:58:05

rufo,

Cita:

Empezado por rufo
...un combobox y en su propiedad de items le puse una lista en el cual quiero hacer que cuando elija una opción de dicha lista me aparezca una ventana de un objeto de pagecontrol...

:rolleyes:

Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, jpeg, ExtCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    ComboBox1: TComboBox;
    procedure FormCreate(Sender: TObject);
    procedure ComboBox1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
   i : Integer;

begin

   for i := 0 to PageControl1.PageCount - 1 do
   begin
      ComboBox1.Items.Add('Universe-' + IntToStr(i + 1));
      PageControl1.Pages[i].Caption := 'Universe-' + IntToStr(i + 1);
      PageControl1.Pages[i].TabVisible := False;
   end;

end;

procedure TForm1.ComboBox1Click(Sender: TObject);
var
   i : Integer;

begin

   for i := 0 to PageControl1.PageCount - 1 do
      PageControl1.Pages[i].TabVisible := False;

   PageControl1.Pages[ComboBox1.ItemIndex].TabVisible := True;

end;

end.
El código anterior en Delphi 7 sobre Windows 7 Professional x32, Selecciona páginas individualmente de un TPageControl por medio de un TComboBox, como se muestra en la siguiente imagen:



Espero sea útil :)

Nelson.

ecfisa 07-06-2015 09:34:39

Hola rufo.

Como te comenta Al González, al no ser específico hay muchas formas de interpretar tu consulta.

Un ejemplo con otra opción:
Código Delphi [-]
...
type
  TForm1 = class(TForm)
    ComboBox1: TComboBox;
    PageControl1: TPageControl;
    procedure FormCreate(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
  private
  public
  end;
...

implementation

const
  NTABSHEETS = 5;

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
  tab: TTabSheet;
begin
  for i := 1 to NTABSHEETS do
  begin
    ComboBox1.Items.Add(Format('%s%d', ['Edit', i]));
    tab := TTabSheet.Create(Self);
    tab.PageControl := PageControl1;
    tab.Name    := Format('%s%d', ['TabSheet', PageControl1.PageCount]);
    tab.Caption := tab.Name;
    tab.Visible := True;
    tab.Show;
    with TEdit.Create(Self) do
    begin
      Name    := Format('%s%d',['Edit', i]);
      Height  := 21;
      Width   := 75;
      Left    := 10;
      Top     := 30;
      Parent  := tab;
    end;
  end;
  ComboBox1.ItemIndex  := 0;
  PageControl1.TabIndex:= 0;
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  with TComboBox(Sender) do
    if ItemIndex <> -1 then
      PageControl1.TabIndex := ItemIndex;
end;

Saludos :)


La franja horaria es GMT +2. Ahora son las 16:57:05.

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