AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi animierter Rahmen,unabhängig welche Komponente drunter liegt
Thema durchsuchen
Ansicht
Themen-Optionen

animierter Rahmen,unabhängig welche Komponente drunter liegt

Ein Thema von PhilCore · begonnen am 21. Okt 2009 · letzter Beitrag vom 22. Okt 2009
Antwort Antwort
PhilCore

Registriert seit: 15. Jun 2005
Ort: Neumünster
21 Beiträge
 
Delphi 2006 Enterprise
 
#1

animierter Rahmen,unabhängig welche Komponente drunter liegt

  Alt 21. Okt 2009, 08:49
Moin aus den hohen Norden,

ich habe hier gerade ein kleines Problem.
Ich will eine Unit bauen, die ein animierten Rahmen auf eine Komponente zeichnet (wie Excel -> Zelle kopieren).

Nun habe ich ein kleines Projekt gebaut und komme nicht weiter, denn ich habe zwei Wege ausprobiert.
1.) direkt auf die Form zeichnen (mit MouseDown, ..move, ..Up, Timer), dazu neben dem Panel ein Rechteck aufziehen
2.) Klasse (AnimatedBorder) auf Knopfdruck erstellen und dem Panel geben.

1.) geht (rahmen läuft animiert durch)
2.) geht nur halb (blinkt abwechselnd gestrichelt und durchgezogen)

Vielleicht hat einer eine Idee von Euch.
Anbei das Beispiel.
Angehängte Dateien
Dateityp: zip animatedborder_365.zip (221,9 KB, 20x aufgerufen)
Thorsten
Erzähl mir nicht, wie man verliert.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#2

Re: animierter Rahmen,unabhängig welche Komponente drunter l

  Alt 21. Okt 2009, 09:45
Zitat von PhilCore:
Vielleicht hat einer eine Idee von Euch.
Was ist denn dein Problem? Variante 1 funktioniert doch halbwegs? (Nicht mehr, nachdem ein Neuzeichnen nötig wird.)
Uli Gerhardt
  Mit Zitat antworten Zitat
PhilCore

Registriert seit: 15. Jun 2005
Ort: Neumünster
21 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: animierter Rahmen,unabhängig welche Komponente drunter l

  Alt 21. Okt 2009, 10:36
Mein Problem ist die Struktur, in der ich die Unit AnimatedBorder einsetzen will.
Ich brauche eine Komponente, die bei uns immer dynamisch erzeugt werden.

Wie ich schon sagte, die erste Variante (auf der Form) geht, ist aber für unseren Zweck nicht einsetzbar.
D.h. ich brauche die zweite Variante (in der Unit).

Kurze Erklärung hinterdran:
Wir haben hier in unserem Produkt eine recht komplizierte Graphische Komponente, die diesen Border aufnehmen soll....
und das einfachste wäre halt eine Komponente, die sich einfach bauen läßt, man den Parent setzt und den externen Timer zuweißt.
Thorsten
Erzähl mir nicht, wie man verliert.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#4

Re: animierter Rahmen,unabhängig welche Komponente drunter l

  Alt 21. Okt 2009, 11:00
Das Ding heißt Marching Ants. Vielleicht hilft dir das etwas.

Zu deinem Code: Warum setzt du den den Timer von außen (siehe SetTimer)? Wäre doch günstiger, ihn innerhalb von TAnimatedBorder zu Create'n und Free'en.
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#5

Re: animierter Rahmen,unabhängig welche Komponente drunter l

  Alt 21. Okt 2009, 12:43
Man kann im Prinzip auch TTimer direkt in die Komponente einbauen

TTimer.Create und dann damit arbeiten
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
PhilCore

Registriert seit: 15. Jun 2005
Ort: Neumünster
21 Beiträge
 
Delphi 2006 Enterprise
 
#6

Re: animierter Rahmen,unabhängig welche Komponente drunter l

  Alt 21. Okt 2009, 14:15
Der Timer wird von außen gesetzt, da wir einen Singleton für TimerObjekte haben und man sich dort mit einem TimerObject registrieren kann.
Unteranderem mit unterschiedlichen Zeiten, Events, Zeiteinheiten und so weiter und sofort.

Vielen Dank für den Hinweis mit den Marching Ants, da sieht die Suche im www gleich anders aus.
Thorsten
Erzähl mir nicht, wie man verliert.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#7

Re: animierter Rahmen,unabhängig welche Komponente drunter l

  Alt 21. Okt 2009, 14:28
Zitat von PhilCore:
Der Timer wird von außen gesetzt, da wir einen Singleton für TimerObjekte haben und man sich dort mit einem TimerObject registrieren kann.
Unteranderem mit unterschiedlichen Zeiten, Events, Zeiteinheiten und so weiter und sofort.
Aber SetTimer "hijackt" den Timer doch sowieso und macht ihn für andere Zwecke unbrauchbar, oder?

Zitat von PhilCore:
Vielen Dank für den Hinweis mit den Marching Ants, da sieht die Suche im www gleich anders aus.
Die richtigen Suchbegriffe zu finden ist nicht immer leicht.
Uli Gerhardt
  Mit Zitat antworten Zitat
PhilCore

Registriert seit: 15. Jun 2005
Ort: Neumünster
21 Beiträge
 
Delphi 2006 Enterprise
 
#8

Re: animierter Rahmen,unabhängig welche Komponente drunter l

  Alt 22. Okt 2009, 07:24
Nochmal zu dem Timer. Wir haben quasi einen Timermanagement an das man einen neuen Timer registrieren kann. Dieser Timer wird verwaltet und auch nur für einen Zweck.
D.h.
Zitat von uligerhardt:
Aber SetTimer "hijackt" den Timer doch sowieso und macht ihn für andere Zwecke unbrauchbar, oder?
egal, der Timer ist sowieso nur für diesen Zweck gedacht und wenn er nicht mehr gebraucht wird, wech damit.

Zitat von uligerhardt:
Die richtigen Suchbegriffe zu finden ist nicht immer leicht.
Oh, ja und das war mein Problem, welches zu vollsten Zufriedenheit gelöst ist.
Thorsten
Erzähl mir nicht, wie man verliert.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz