Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Delphi]Co jeden dodawanie top o 28


Rekomendowane odpowiedzi

Opublikowano

Witam ;]

Mam pewien problem.Postaram wam wytłumaczyć go jak najlepiej , a więc tak ... Mam kod który tworzy dynamicznie Label czyli tekst.Chce aby za pierwszym utworzeniem go wlasciwosc top byla :28 a za drugim utworzeniem go 28+28 czyli : 56

Kod :

przycisk:=TLabel.Create(groupbox1);
   przycisk.Left:=48; // pozycja X przycisku na formularzu
   przycisk.Top:=28; // pozycja Y przycisku na formularzu (o to glownie chodzi)
   przycisk.Width:=700; // szerokość przycisku
   przycisk.Height:=23; // wysokość przycisku
   przycisk.Caption:=ExtractFileName(opendialog1.FileName); // podpis przycisku
   przycisk.Parent:=groupbox1; // rodzic przycisku
   przycisk.Visible:=True; // czy przycisk widoczny?
   przycisk.Font.Color:=ClWhite;
   przycisk.Font.Size:=15;
   przycisk.Font.Name:='Arial';
   przycisk.onclick := Play;

Dzięki z góry za odpowiedz.

Opublikowano

Ale za drugim razem tworzysz ten sam label czy całkowicie osobny?

 

Jeśli przypadek 1 to nie trzeba go tworzyć (o ile go nie zwalniasz), wtedy sobie tylko dodajesz 28 do top.

W przypadku 2 to proste

przycisk2.top := przycisk.top + 28;

 

Przy zwalnianiu labela (o ile na prawdę musisz) to zatrudnij sobie zmienną np integer z wartością następnej pozycji labela:

var
 nowa_poz: integer = 28; //dla pierwszej pozycji

begin
 {...}
   przyciskx.top := nowa_poz;
   inc(nowa_poz, 28);
 {...}
end;

YOU MUST DIE

- Ganon, Koridai

Opublikowano

Mam przycisk czyli label i mam go jednego i nie tworze przycisk2.Chce aby wykonala sie ta sama procedura tylko za drugim razem o wartosci top 56 = 28*2

Opublikowano

Jeśli zwalniasz to zapisz sobie gdzieś, że labela już utworzyłeś albo wykorzystaj ostatnią metodę przeze mnie wcześniej podaną.

Jeśli nie zwalniasz to:

if (przycisk <> nil) then //jeśli klasa istnieje
begin
 przycisk.top := przycisk.top + 28; //zmień topa
 //i inne wartości
end;

YOU MUST DIE

- Ganon, Koridai

Opublikowano

To co podales niestety nie dziala ;] Mam taki odtwarzacz mp3 i po kliknieciu add w groupboxie tworzy sie ikona mp3 z labelem a label ma caption nazwy muzyki i chce aby po drugim kliknieciu pojawila sie drugie takie cos tylko ze pod tym pierwszym

1111

====

2222

 

o takie cos chodzi

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...