[Komponenty] nietypowe wyzwanie

0

Potrzebuje wykonać komponent podobny do tego na rysunku, nie wiem czy cos takiego jest w necie(wątpie)

Wymagania odnośnie komponentu:

-wszystkie Labele mają być edytowalne przez 2click(jak zmiana nazwy pliku) lub prawy i wyskakuje menu zmien nazwe-> podaj nazwe
-DT lub CT ma być pogrubione zalzenie po <ort>kturej </ort>stronie suma będzie większa(w labelach podspoedm po prawej i lewej będą tylko liczby)
-komponenty musi być jedną całością i w programie ma być dodawany/edytowany podczas trwania programu

Ktoś pomoze mniej więcej jak sie do tego zabrać? jakieś kody przydatne?

user image

0

bawiłem się trohe i edyscje labeli wymyśliłem ze po dblclick pojawi się edit po wporowadzeniu nazwy(po kliknięciu enter) edit znika i tekst pojawia sie w label.caption
reszta labeli to nie problem

tylko jak zrobić żeby mozna było dynamicznie dodawać labele?

Czy jest możliwe zrobienie z tego komponentu?(komponent składający się z labeli i editów i moze shape, jako całość)

0

Nie jestem pewien, ale czy nie można by tu dziedziczyć po TPanel? Edity można wstawiać z dynamicznej tablicy array of TEdit, popup`a można bez problemu wstawić .. z tą edycją coś też by się wykombinowało.

0

Jak dodawać dynamicznie Labele?

0

http://4programmers.net/article.php?id=456

Poszukaj jeszcze w artykułach, jest wiele interesujących.

0

Mam coś takiego i jest pewien problem jak zrobić zdazenie w etitdyn keypress/down ? czyli ze po #13 editdyn.destroy

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;

    procedure Label1DblClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  editdyn: TEdit;
implementation

{$R *.dfm}



procedure TForm1.Label1DblClick(Sender: TObject);


begin

  editdyn := TEdit.Create(Self);
  editdyn.Parent := Self;
  editdyn.Text := 'XXXXXXXXXXX';
  editdyn.Left := Label1.Left;
  editdyn.Top := Label1.Top-Label1.Width;
  Label1.Caption:=editdyn.Text;

end;

end.
0

Jak napisać 'komponent' składający się z innych już istniejących komponentów? tak żeby mozna było go wstawiać jak buton czy inne,

1 użytkowników online, w tym zalogowanych: 0, gości: 1