logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak stworzyć skaczącą etykietę w Delphi z użyciem timera?

5k0cz3k 02 Mar 2006 10:28 1057 6
REKLAMA
  • #1 2364747
    5k0cz3k
    Poziom 10  
    Posty: 29
    mam pytanie jak zrobic skakajaca etykiete w delphi?? bo mam zadanie w ktorym uzyty bedzie timer i etykieta. Na etykiecie ma byc dowolny napis i co jakis czas ma on sie przemieszczac to znaczy nie pionowo, poziomo tylko tylko tak jakby skakala po calym ekranie...jak to zrobic??
  • REKLAMA
  • Pomocny post
    #2 2364762
    radziow
    Poziom 16  
    Posty: 132
    Pomógł: 22
    Ocena: 9
    w zdarzeniu OnTimer

    Etykieta.top:=random(Form.ClientHeight-Etykieta.Height);
    Etykieta.left:=random(Form.ClientWidth-Etykieta.Width);
  • REKLAMA
  • #3 2365205
    5k0cz3k
    Poziom 10  
    Posty: 29
    dziekuje za poprzednia pomoc a teraz mam jeszcze taki dylemat ze musze to dopracowac graficznie i np chcialbym aby zmieniala sie wielkosc czcionki za kazdym przeskokiem i np kolor i mam pytanie czy mozna np zrobic aby zmieniala sie wielkosc czcionki i koloru ale poszczegolnych literek?? jesli tak to jak to zapisac.. z gory bardzo dziekuje..
  • #4 2365412
    radziow
    Poziom 16  
    Posty: 132
    Pomógł: 22
    Ocena: 9
    jeśli chodzi o poszczególne literki to już inna bajka.... tak prosto się nie da
    można:
    a) zrobić tyle labeli ile liter i ustawać je label.left:=poprzedini.left+poprzedni.with
    b) rysowac własny napis na painboxie i jego canvasie ale tez musisz obliczac wspolrzedne nastepnej litery
    canvas.textout i canvas.font.color
  • REKLAMA
  • #5 2365441
    5k0cz3k
    Poziom 10  
    Posty: 29
    no dobrze skoro to nie jest takie latwe to chciaz jak zrobic aby caly ten napis caly label zmienial kolor i rozmiar czcionki za kazdym przeskokiem na inne miejsce??
  • REKLAMA
  • #6 2365731
    dziqus
    Poziom 18  
    Posty: 208
    Pomógł: 17
    Ocena: 15
    do tego kodu ktory kolega podal wyzej musisz dopisac kod odpowiedzialny za zmiane koloru i rozmiaru czcionki, nie wiem jak to jest w delphi ale prawdopodobnie bedzie tak:
    Etykieta.Font.Color:=jakis_kolor;
    Etykieta.Font.Size:=jakas_wielkosc;

    poszukaj w inspektorze obiektow jak dokladie nazywaja sie odpowiednie wlasciwosci i juz. pomysl troche, to nie boli...


    poza tym ma byc "skaczaca etykieta" a nie "skakajaca" :roll:
  • #7 2366876
    5k0cz3k
    Poziom 10  
    Posty: 29
    dziekuje za pouczenie jak i za pomoc juz jest wszystko ok zadanko smiga no i nawet skacze i zmienia kolor..

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy implementacji "skaczącej" etykiety w Delphi z wykorzystaniem komponentu Timer. Proponowane rozwiązanie polega na losowym ustawianiu właściwości Top i Left etykiety w zdarzeniu OnTimer, co powoduje jej przemieszczanie się po obszarze formularza. Dodatkowo omówiono możliwość zmiany koloru i rozmiaru czcionki całej etykiety przy każdym przeskoku poprzez modyfikację właściwości Font.Color i Font.Size. Poruszono także temat zmiany koloru i rozmiaru poszczególnych liter, co jest bardziej skomplikowane i wymaga albo tworzenia wielu etykiet dla każdej litery, albo rysowania tekstu na Canvasie komponentu PaintBox z ręcznym obliczaniem pozycji liter. Ostatecznie autor potwierdził działanie rozwiązania z losowym ruchem i zmianą kolorów.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA