AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Animiertes Menü

Ein Thema von mOzZzI · begonnen am 22. Jan 2006 · letzter Beitrag vom 22. Jan 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von mOzZzI
mOzZzI

Registriert seit: 11. Nov 2005
Ort: Bamberg
320 Beiträge
 
Delphi 2006 Professional
 
#1

Animiertes Menü

  Alt 22. Jan 2006, 15:09
Hallo,
wollte mal fragen, ob jemand so eine Komponente kennt,
die ein Panel oder so was von der Seite des Programms ausfahren und einfahren lässt.
Slide Menü oder so...
Hoffe ihr versteht mich...
--Mfg mozZzI--------------
Get & Test my ToolBar (550 KB)
Thread & Comments Here
------------------------------
  Mit Zitat antworten Zitat
Amo

Registriert seit: 26. Okt 2005
82 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Animiertes Menü

  Alt 22. Jan 2006, 15:23
Hi!

Also ich kenne keine solche Komponente, bin auch verglichen zu anderen ein Einsteiger in Delphi^^.
Ich würde aber so etwas vorschlagen:

Delphi-Quellcode:
a := -20;
while a < 200 do
begin
Panel1.Left := a;
inc(a);
sleep(X); // wobei du mit X die schnelligkeit der Bewegung variieren kannst
end;
Das kannst du dann genau so auch mit der höhe machen.
Ich hoffe mal ich habe keinen Fehler gemacht . Und ich hoffe auch es hilft dir weiter^^.

PS: ich habe es selber nicht getestet
  Mit Zitat antworten Zitat
Benutzerbild von mOzZzI
mOzZzI

Registriert seit: 11. Nov 2005
Ort: Bamberg
320 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Animiertes Menü

  Alt 22. Jan 2006, 15:28
Irgendwie funktioniert das nicht...

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  a := -20;
while a < 200 do
begin
Panel1.Left := a;
inc(a);
sleep(80); // wobei du mit X die schnelligkeit der Bewegung variieren kannst
end;
end;
--Mfg mozZzI--------------
Get & Test my ToolBar (550 KB)
Thread & Comments Here
------------------------------
  Mit Zitat antworten Zitat
Amo

Registriert seit: 26. Okt 2005
82 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Animiertes Menü

  Alt 22. Jan 2006, 15:52
Also ich habe es gerade ausprobiert. Bei mir geht das aber irgendwie auch nur halb .
(Ich nehme mal an du hast nicht vergessen die variable a zu deklarieren^^)
Bei mir wird Panel1 nicht so eingeblendet wie gewollt, es verschwindet zunächst und erscheint dann nach einer zeit bei left=200. Ist irgendwie eine blöde Sache jetzt, tut mir leid aber ich kann jetzt auch nicht weiterhelfen.
  Mit Zitat antworten Zitat
Benutzerbild von mOzZzI
mOzZzI

Registriert seit: 11. Nov 2005
Ort: Bamberg
320 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Animiertes Menü

  Alt 22. Jan 2006, 17:16
Kennt nicht vill noch jeamand eine Komponente für ein SlideMenü, SlidePanel oder so was...
--Mfg mozZzI--------------
Get & Test my ToolBar (550 KB)
Thread & Comments Here
------------------------------
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#6

Re: Animiertes Menü

  Alt 22. Jan 2006, 17:44
Ich wüde es eher so machen:
Delphi-Quellcode:
procedure TForm.FormCreate(Sender: TObject);
var a: integer;
begin
  a := -Panel1.Width;
  Panel1.Left := a;
  Panel1.Align := alNone;
  form1.DoubleBuffered := true;
  show;
  while a < 0 do
  begin
    Panel1.Left := a;
    inc(a);
    sleep(1); // bzw. Delay() hier aus der Delphipraxis
    application.ProcessMessages;
  end;
  Panel1.Align := alLeft;
end;
Allerdings ist FormCreate nicht der richtige Ort. Nun kommt es noch darauf an wie und wann das Panel ausfahren soll.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#7

Re: Animiertes Menü

  Alt 22. Jan 2006, 18:45
So, mal noch eine elegantere Version zum "ausklappen" eines Panels beim Mouseover ohne extra noch eine Komponente einzubauen.

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure Panel1Showing; // Ausklappen
    procedure Panel1Hiding; // Einklappen
  public
    { Public-Deklarationen }
    procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER; // Mouseoverereignisse
    procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE; // abfangen
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  DoubleBuffered := true; // Form1

  Panel1.Align := alNone;
  Panel1.Tag := -Panel1.Width + 5;
  Panel1.Left := Panel1.Tag;
end;

procedure TForm1.CMMouseEnter(var Message: TMessage);
begin
  if Message.LParam = Longint(Panel1) then Panel1Showing;
end;

procedure TForm1.CMMouseLeave(var Message: TMessage);
begin
  if Message.LParam = Longint(Panel1) then Panel1Hiding;
end;

procedure TForm1.Panel1Showing;
begin
  while Panel1.Tag < 0 do
  begin
    Panel1.Left := Panel1.Tag;
    Panel1.Tag := Panel1.Tag + 1;
    sleep(1); // oder halt Delay verwenden
    application.ProcessMessages;
  end;
  Panel1.Align := alLeft;
end;

procedure TForm1.Panel1Hiding;
begin
  windows.Beep(880,025);
  Panel1.Align := alNone;
  Panel1.Tag := 0;
  while Panel1.Tag > -Panel1.Width + 5 do
  begin
    Panel1.Left := Panel1.Tag;
    Panel1.Tag := Panel1.Tag - 1;
    sleep(1); // oder halt Delay verwenden
    application.ProcessMessages;
  end;
end;

end.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von mOzZzI
mOzZzI

Registriert seit: 11. Nov 2005
Ort: Bamberg
320 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Animiertes Menü

  Alt 22. Jan 2006, 19:12
Shr vielen Dank an dich TurboPascal!!
Wie kann ich das denn jetzt umschreibe, wenn man das alles auf der rechten Seite haben will, aso Panel1.Align := alRight ??
--Mfg mozZzI--------------
Get & Test my ToolBar (550 KB)
Thread & Comments Here
------------------------------
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#9

Re: Animiertes Menü

  Alt 22. Jan 2006, 19:45
Wenn du es mit einem Button lösen möchtest kanst du im Beispiel mal nachschauen.

Um das gane rechtsbündig zu machen musst du nur ein wenig nachdenken.
Angehängte Dateien
Dateityp: zip beispiel_918.zip (2,7 KB, 36x aufgerufen)
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#10

Re: Animiertes Menü

  Alt 22. Jan 2006, 20:11
@turboPASCAL: Funktioniert ja, aber eine kleine Anwendung die beiliegt kann nie schaden
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:43 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