Ver la Versión Completa : 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.
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,
...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:
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.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, [I]Selecciona páginas individualmente de un TPageControl por medio de un TComboBox, como se muestra en la siguiente imagen:
http://i.imgur.com/BP0aFwV.gif
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:
...
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 :)
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.