[Frage] Formularanwendung dynamischer gestallten



  • Hallo,
    mein Wunsch ist es in eine Formularanwendung etwas mehr Dynamik zu implementieren, ich möchte z.B. ein Panel nach rechts aus der aktiven Fläche raus sliden oder Buttons nacheinander zeit verzögert sichtbar machen.

    Ich brauch nur ein paar Schlüsselwörter nach denen ich mich schlau machen kann, dass wäre super danke im voraus.

    vg lionellvp



  • Ersteres würde ich einfach mit nem Timer gestalten, bis das Panel->Left oder Top, wie auch immer einen bestimmten wert erreicht.
    Also: Aktivieren, wenn man zb auf nen knopf drückt und ende in der Timer Prozedur:

    if (Panel1->Left < 500)
        Panel1->Left += 3;
    else
        Timer1->Enabled = false;
    

    EDIT: Ach ähm verzögert sichtbar machen, wie ist das gemeint ?
    Also zb nach 10 sek taucht er auf oder dass er mit der zeit von 100 % Transparenz zu 0% Transparenz "auftaucht". Ist sehr dehnbar formuliert. evtl auch so dass er zu 0 % sichtbar ist und langsam immer mehr sichtbar wird, zum beispiel erreichbar mit einem Panel davor, was man verschiebt.

    Bitte noch mal präzisieren



  • Hallo,

    also mir wurde letztens mitgeteilt ein Timer würde keinen eigenen Thread erzeugen, weswegen du den ganzen Spaß lieber gleich in einen eigenen Thread umleitest :)! Ansonsten ist den Aussagen des Vorposters nichts hinzuzufügen!

    VlG



  • GUI-Aktionen müßten bei einem eigenen Thread aber wieder mittels Synchronize() im GUI-Thread ablaufen (und daher kann man sich den eigenen Thread hier sparen).

    Ein Timer ist hierfür genau richtig!



  • Hallo,

    Marc++us hat es immer noch nicht geschafft die Ironie-Tags einzufügen, weswegen es schwer war für mich selbige darzustellen :p

    Ich habe auf eine hier im Forum gepostete unsinnige Aussage bzgl. des Timers angespielt 🙂

    Natürlich ist der Timer in dem Fall das richtige Mittel

    VlG



  • lionellvp schrieb:

    oder Buttons nacheinander zeit verzögert sichtbar machen.

    Mein Mitleid gilt den Benutzern der Anwendung.



  • audacia schrieb:

    lionellvp schrieb:

    oder Buttons nacheinander zeit verzögert sichtbar machen.

    Mein Mitleid gilt den Benutzern der Anwendung.

    Erst mal danke für die bisherigen Antworten, was ich mit der Verzögerung meinte war natürlich keine Sekundensache, dass würde vermutlich mehr nerven als gut aussehen, was ich aber machen will, käme als Vergleich vermutlich einer Windows-Startleiste gleich welche verschiedene Menüpunkte hat aber vielleicht mit einem Abstand einer halben Sekunde erscheinen.

    Ich weiß das Flash hierzu nicht der beste Bezug ist, aber in etwa diese Dynamik mit der man dort bewegliche Menüs machen kann meinte ich.

    Aber ich hab bisher schon mal noch weiter gesucht, wenn werd ich wohl nicht drumrum kommen eher etwas mit Java einzubetten als es direkt mit dem Builder zu machen.



  • lionellvp schrieb:

    audacia schrieb:

    lionellvp schrieb:

    oder Buttons nacheinander zeit verzögert sichtbar machen.

    Mein Mitleid gilt den Benutzern der Anwendung.

    Erst mal danke für die bisherigen Antworten, was ich mit der Verzögerung meinte war natürlich keine Sekundensache, dass würde vermutlich mehr nerven als gut aussehen, was ich aber machen will, käme als Vergleich vermutlich einer Windows-Startleiste gleich welche verschiedene Menüpunkte hat aber vielleicht mit einem Abstand einer halben Sekunde erscheinen.

    Ich weiß das Flash hierzu nicht der beste Bezug ist, aber in etwa diese Dynamik mit der man dort bewegliche Menüs machen kann meinte ich.

    Aber ich hab bisher schon mal noch weiter gesucht, wenn werd ich wohl nicht drumrum kommen eher etwas mit Java einzubetten als es direkt mit dem Builder zu machen.

    Wie kommst du auf die Idee, mit Java mehr erreichen zu können als mit (Borland/Codegear/Embacadero) C++?



  • Hallo,

    das was du erreichen willst klingt eher nach Verwendung von diversen Grafik-Libs (OpenGL, DirectX). Ich glaube da macht es keinen Unterschied welches die zugrunde liegende Programmiersprache ist?!

    VlG


Anmelden zum Antworten