Sam 07/01/2012 - Actualités
Posté : sam. 7 janv. 2012 10:27
Sam 07/01/2012 - Actualités
09:25
Contre toute attente, la gestion des faux onglets est très facile grâce aux nouveaux objets "XD" (Options - Paramètres) implémentés cette semaine. Cela fonctionne avec très peu de code, grâce à la mise en place d'une norme de développement générique qui recherche les objets (boutons, panneaux) et les met à jour selon les variables de l'XD :
On note au passage la puissance des "XD", puisque la création d'une nouvelle variable se fait dynamiquement par "XD.SetProp(Variable, Value)", et qu'il n'y a pas besoin de modifier la structure réelle de l'objet. Le stockage se fait dans le champ "Term" de l'objet (qui est une liste de chaine) sous la forme "Variable=Value".
09:25
Contre toute attente, la gestion des faux onglets est très facile grâce aux nouveaux objets "XD" (Options - Paramètres) implémentés cette semaine. Cela fonctionne avec très peu de code, grâce à la mise en place d'une norme de développement générique qui recherche les objets (boutons, panneaux) et les met à jour selon les variables de l'XD :
Code : Tout sélectionner
//------------------------------------------------------------------------------
// XST_ManageTabs
// 07/01/2012 - XT400
//------------------------------------------------------------------------------
function XST_ManageTabs(Form: TForm; XD: TData): Byte;
var
Tab_Number: Byte;
Tab_Index: Byte;
Widget_Name: String;
Tab_Button: TSpeedButton;
Tab_Panel: TPanel;
begin
// Préparations
Result := 0;
Tab_Number := StrToInt(XD.GetProp('TabNumber'));
// Mises à jour
for Tab_Index := 0 to (Tab_Number - 1)
do begin
// Gestion du bouton
Widget_Name := 'Form_Button_' + IntToStr(Tab_Index);
Tab_Button := TSpeedButton(Form.FindComponent(Widget_Name));
if Tab_Button.Down
then begin
XD.SetProp('ActiveTab', IntToStr(Tab_Index));
Result := Tab_Index;
end;
// Gestion du panneau
Widget_Name := 'Form_Tab_' + IntToStr(Tab_Index);
Tab_Panel := TPanel(Form.FindComponent(Widget_Name));
Tab_Panel.Visible := Tab_Button.Down;
end;
end;