Cita:
Empezado por Critter
estoy equivocado ?
|
No. Desafortunadamente la capacidad de tener subcomponentes que puedan guardar sus propiedades en el archivo dfm no apareció sino hasta la versión 6.
Tengo la idea de que es posible hacer lo que quieres pero tendrías que meterte con el proceso de 'streaming' que usa el IDE para leer y guardar propiedades del archivo dfm y esto es complejo.
Si lo único que deseas es poder cambiar en tiempo de diseño el texto de los botones podrías optar por publicar propiedades paralelas en el panel:
Código Delphi
[-]
interface
type
TButtonsPanel = class(TPanel)
private
FOkButton: TBitBtn;
FCancelButton: TBitBtn;
function GetOkCaption: TCaption;
function GetCancelCaption: TCaption;
procedure SetOkCaption(const Value: TCaption);
procedure SetCancelCaption(const Value: TCaption);
public
constructor Create(AOwner: TComponent); override;
published
property OkCaption: TCaption read GetOkCaption write SetOkCaption;
property CancelCaption: TCaption read GetCancelCaption write SetCancelCaption;
end;
implementation
constructor TButtonsPanel.Create(AOwner: TComponent);
begin
inherited;
Width := 105;
Height := 73;
FOkButton := TBitBtn.Create(Self);
FOkButton.Parent := Self;
FOkButton.Left := 16;
FOkButton.Top := 8;
FOkButton.Caption := '&Aceptar';
FOkButton.Name := 'OkButton';
FCancelButton := TBitBtn.Create(Self);
FCancelButton.Parent := Self;
FCancelButton.Left := 16;
FCancelButton.Top := 40;
FCancelButton.Caption := '&Cancelar';
FCancelButton.Name := 'CancelButton';
end;
function TButtonsPanel.GetOkCaption: TCaption;
begin
Result := FOkButton.Caption;
end;
function TButtonsPanel.GetCancelCaption: TCaption;
begin
Result := FCancelButton.Caption
end;
procedure TButtonsPanel.SetOkCaption(const Value: TCaption);
begin
FOkButton.Caption := Value;
end;
procedure TButtonsPanel.SetCancelCaption(const Value: TCaption);
begin
FCancelButton.Caption := Value;
end;
end.
Con esto, las propiedades OkCaption y CancelCaption se reflejarán en los textos de los botones ya sea durante el diseño o en ejecución.
// Saludos