FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
TPageControl en tiempo de ejecución
Estoy experimentando con un editor de textos con un TPageControl con la idea de poder tener disponibles varios archivos simultáneamente cada uno con su respectiva solapa. Cada TTabSheet contiene un Memo.
No consigo crear un nuevo TTabSheet en el TPageControl en tiempo de ejecución [para crear un nuevo archivo]. En el evento click [Archivo nuevo... ] intento con este código sin respuesta alguna. Código:
TTabSheet.Create(PageControl1); Muchas gracias y hasta pronto |
#2
|
||||
|
||||
Debes asignar PageControl1 a la propiedad PageControl del TabSheet recién creado.
// Saludos |
#3
|
|||
|
|||
Cita:
Efectivamente con esta indicación he conseguido crear un nuevo TabSheet. Pero no sé cómo crearlo con un Memo en su interior como lo he hecho en tiempo de diseño con el primer TabSheet. Para ser más claro esta es la copia del código con el que ensayo la solución de este problema. Código:
unit PageControl; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls; type TForm1 = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; Memo1: TMemo; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin TTabSheet.Create(Self); TMemo.Create(Self); with TTabSheet.Create(Self) do begin PageControl := PageControl1; end; end; end. |
#4
|
||||
|
||||
Cita:
// Saludos |
#5
|
|||
|
|||
Código:
begin TTabSheet.Create(Self); TMemo.Create(Self); with TTabSheet.Create(Self) do begin PageControl := PageControl1; end; Cita:
¿Cómo sería el código para esta asignación? Muchas gracias |
#6
|
||||
|
||||
¿De qué manera estás intentando la última asignación que te indiqué?
No lo puedes hacer con un simple Código:
with TTabSheet.Create(Self) // Saludos |
#7
|
|||
|
|||
Con este intento consigo crear un TabSheet y un Memo. Pero El Memo creado no toma las dimensiones del TabSheet. El Form se maximiza y el TabSheet queda normal con un Memo Mimimizado. He hecho la aplicación varias veces, por si había algún problema y se repite lo mismo.
Si se les ocurre algo para orientarme en cual puede ser el error se los agradeceré. Un saludo Código:
var MiHoja: TTabSheet; begin MiHoja := TTabSheet.Create(Self); MiHoja.PageControl := PageControl1; with TMemo.Create(Self) do Parent := MiHoja; Align := alClient; end; Última edición por esocrates fecha: 28-02-2004 a las 20:25:52. |
#8
|
|||
|
|||
bueno, puedes utilizar los Anchors para anclarla a las posiciones deseadas. Si quieres que se redimensione con el form
Código:
MiHoja.Anchors = [akLeft,akTop,akRight,akBottom]; |
#9
|
|||
|
|||
Hola a todos. He conseguido la solución.
Sé que para Uds. será algo sencillo. Pero para mí que estoy en los comienzos es una gran alegría. En tiempo de diseño puse align:=alClient al TPageControl para que no quede desproporcionado cuando se maximiza el Form. Luego con este código creo un panel, un Memo y el correspondiente TabSheet. (ExtCtrls en Uses para el Panel) Código:
procedure TForm1.Button1Click(Sender: TObject); var m:integer; begin with TTabSheet.Create(Self) do begin PageControl := PageControl1; Name:='Tab'+inttostr(PageIndex); Caption := name; m:=PageIndex; align:=alClient; end; with TPanel.Create(self) do begin parent:= pagecontrol1.Pages[m]; name:='Panel'+inttostr(m); caption:=name; align:=alClient; end; with TMemo.Create(self) do begin parent:= pagecontrol1.Pages[m]; name:='Memo'+inttostr(m); Align := alClient; end; end; end. Un saludo y hasta pronto Última edición por esocrates fecha: 29-02-2004 a las 13:28:35. |
#10
|
||||
|
||||
Bueno, pero... ¿de dónde sale eso de
Cita:
Porque a mi me funciona perfectamente. // Saludos |
#11
|
||||
|
||||
Tomado de la ayuda de delphi
Cita:
Cita:
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#12
|
|||
|
|||
Cita:
A mí no me funcionó y me fui a buscarlo a la ayuda de Delphi 6 para TMemo Properties y encontré esto [Ver la note] Cita:
Última edición por esocrates fecha: 01-03-2004 a las 16:18:49. |
#13
|
||||
|
||||
Cita:
Cita:
// Saludos |
#14
|
|||
|
|||
Cita:
Un saludo |
#15
|
||||
|
||||
Perdon lei mal, crei que el que no funcionaba con el TabSheet era el Align, y resulta que es el width
Pero el align no te funcionaba por lo que te decia anteriormente
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
|
|
|