Autor Téma: Trik na tvorbu sestavy komponent  (Přečteno 3820 krát)

Offline raul

  • Hrdina
  • ****
  • Příspěvků: 468
  • Karma: 15
    • Verze Delphi: FPC :D
Trik na tvorbu sestavy komponent
« kdy: 30-06-2021, 14:00:45 »
Zdarec,
je nejaky trik, jak seskladat nekolik komponent visualne a udelat z nich komponentu ?

Resim si tu jeden visualizator, ktery obsahuje cca 50 komponent, a otevrene, psat to jako kod je des a hruza (zvlaste pri zmenach). Prvotni nastrel jsem delal jako form s tim, ze jsem si pak ten form rucne prevedl do zdrojaku (zamysleni: proc se vlastne form uklada jako text, misto primo jako zdroj??)

Nyni to potrebuju trochu dost prehrabat a jen create ma par set radku (par desitek komponent prevazne tshape potomku, ale i layouts, a par dalsich).

Tzn trik ? (Vytvorit to jako form a prehodit parenta ? Frames (docela se nedoporucovaly)).

Klasika FMX Windows aplikace, D10.3.3 CE
Lazarus 1.6.3:), FPC, Intel/Arm, Windows/Linux, (občas Delphi)

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3516
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Trik na tvorbu sestavy komponent
« Odpověď #1 kdy: 30-06-2021, 15:11:14 »
Umel to budto https://www.mmx-delphi.de/ nebo CnPack.

Jinak ve FMX uspesne pouzivam "Vytvorit to jako form a prehodit parenta"
Embarcadero MVP - Czech republic

Offline raul

  • Hrdina
  • ****
  • Příspěvků: 468
  • Karma: 15
    • Verze Delphi: FPC :D
Re:Trik na tvorbu sestavy komponent
« Odpověď #2 kdy: 30-06-2021, 15:20:06 »
A ten trik vytvorit jako form a prehodit parenta - nema to nejaky sideefects, ktery je treba osefovat ?? (Mam jich tam asi 6 tech visualizatoru (v main okne, v prepinani pohledu, v konfiguracnim okne, atd - nastaveni si primarne sdili)
Lazarus 1.6.3:), FPC, Intel/Arm, Windows/Linux, (občas Delphi)

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3516
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Trik na tvorbu sestavy komponent
« Odpověď #3 kdy: 30-06-2021, 15:51:50 »
Kód: Delphi [Vybrat]
  1. class procedure TfrmBasic.gDock(owner: TComponent; oParent: TControl; cl: TfrmBasicClass; var instance: TfrmBasic);
  2. var
  3.  x: Integer;
  4. begin
  5.   for x := 0 to oParent.ChildrenCount - 1 do  //xxxxxxxxx
  6.     TControl(oParent.Children[x]).Visible := False;
  7.  
  8.   if instance = nil then
  9.   begin
  10.     instance := cl.Create(owner);
  11.     instance.ltChild.Parent := oParent;
  12.   end;
  13.   instance.ltChild.Visible := True;
  14.   if assigned(instance.OnResize) then
  15.     instance.OnResize(instance);
  16. end;
  17.  

Ten TfrmBasic ma jako zaklad TLayout a s tim se pracuje - vse ostatni je pod nim, napsal jsem to uz davno a funguje to dobre, takze si nektere detaily nepamatuji, ale co si pamatuji, ze se do stejneho parent dokovalo x layoutu, s tim, ze vzdycky byl videt jen jeden (jak uzivatel stisknul tlacitko) - to je ten radek s tim xxxx. Zaroven to funguje tak, ze pokud tam uz je, tak se jen zviditelni. Jak to mam, tak to davam :-)
Embarcadero MVP - Czech republic

Offline raul

  • Hrdina
  • ****
  • Příspěvků: 468
  • Karma: 15
    • Verze Delphi: FPC :D
Re:Trik na tvorbu sestavy komponent
« Odpověď #4 kdy: 30-06-2021, 15:59:19 »
Diky
Lazarus 1.6.3:), FPC, Intel/Arm, Windows/Linux, (občas Delphi)