Autor Beitrag
jinfo
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Do 10.04.08 20:11 
Jetzt zwei neue Styles verfügbar Mamba und Mac außerdem enthält das Package ein zu jedem Style passendes TVistaPopUpMenu!!!!
check it out!



Hallo Delphi-Gemeinde,

ich habe in mühsamer Kleinarbeit ein Vista-ähnliches (Farben etc) Menü erstellt, welches jeder
nach seinen Bedürfnissen (farbentechnisch) verändern und in seinem Projekt einsetzen kann.

Man kann aber auch meine vordefinierten Styles verwenden unter Property "MenuStyles".

Die Installation ist recht simple und ist beschrieben.

Der Download ist völlig kostenlos und läuft unter einer OpenSource-Lizenz.

Alle Screeshots auf der HP:

blog.javalog.de unter Post 2 & Post 3.

Versionen:
Delphi 5,
Delphi 6 (da funktioniert die 5er Version),
Delphi 7,
Studio 2006.

über Rückmeldungen freu ich mich natürlich sehr.

grüße jinfo

ps: Hier noch die Links zu den Downloads

Delphi 5 + 6

blog.javalog.de/download/outD5.php

Delphi 7

blog.javalog.de/download/outd7.php

Studio 2006

blog.javalog.de/download/outD2006.php


Moderiert von user profile iconChristian S.: Topic aus Freeware Projekte verschoben am Do 10.04.2008 um 20:25


Zuletzt bearbeitet von jinfo am Do 10.04.08 20:31, insgesamt 1-mal bearbeitet
wp_xxyyzz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: Fr 18.04.08 21:32 
Diese Komponente gefällt mir eigentlich sehr gut, aber folgende Kommentare fallen mir ein:

- Die Units VistaMenu.pas und VistaPopupMenu.pas enthalten gemeinsame Deklarationen. Warum lagerst du diese eigentlich nicht in eine separate, gemeinsam benutzte Unit aus?

- Auf meinem NT-System kann ich die Komponente nicht installieren, weil in SetMainMenuBGColor der Aufruf von SetMenuInfo in der user32.dll von NT ins Leere läuft. Ich habe daher mal SetMenuInfo auskommentiert, kann dann die Komponente tatsächlich installieren und kriege auch eine Programm zum Laufen. Bloß ist jetzt der leere Bereich der Menüzeile hinter dem letzten Eintrag noch im tristen Grau (siehe beigefügter Screenshot). Was spricht eigentlich dagegen, die komplette Menüzeile nicht per SetMenuInfo auszugeben, sondern selbst zu zeichnen?

- Das VistaMenu wird nur dann richtig gezeichnet, wenn es sich direkt auf dem Formular befindet (Form1.Menu = VistaMenu1). Wird das Menü in eine Toolbar gesetzt (Toolbar1.Menu = VistaMenu1), verschwindet der Effekt deiner Ausgabe.

- Die Pulldown-Menüs sind, genauso wie das VistaPopupMenu, 3D-mäßig erhaben. Kann man die auch "flach" ausgeben?

- Zu den Downloads: Es ist verwirrend, dass die Dateien die Endung .php haben, obwohl sie Zip-Archive enthalten. Man muss beim Abspeichern daran denken, die Endung in zip umzubenennen; andernfalls kann man die Downloads nicht öffnen.


Werner
Einloggen, um Attachments anzusehen!
jinfo Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Sa 19.04.08 10:19 
Hallo Werner

ersteinmal vielen dank für deine Antwort. Natürlich könnte man eine einheitliche Unit machen jedoch entstand erst das TVistaMenu und erst später das TVistaPopup und ich habe nicht mehr daran gedacht alles zu vereinen. Da werde ich mich drum kümmern.

Auf NT habe ich die Komponente nicht testen können. Habe leider keine Möglichkeit gefunden den Bereich hinter der Menüleiste zu zeichnen als den Hintergrund auf diese Art zu setzen. Muss hier weiterforschen.

Ich prüfe die Ausgabe auf der Toolbar mal genauer. Hier muss wohl der Parent anders abgefragt werden.

Was genau meinst du mit "flach" ausgeben beim PopUpMenu?

Wenn man 3D Effekt weghaben will muss man lediglich in den SetStyleColors die Gradientverläufe auf eine einheitliche Farbe setzen.

Normalerweise werden die Downloads schon als zip angezeigt. Verwendest du einen Downloadmanager?

Viele Grüße jinfo.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 19.04.08 11:14 
user profile iconjinfo hat folgendes geschrieben:
Normalerweise werden die Downloads schon als zip angezeigt. Verwendest du einen Downloadmanager?
Also bei mir kommt das auch als .php an. Sowohl mit wie ohne Downloadmanager. Was machen denn die verlinkten php-Dateien?
Man muss im Header den korrekten Dateinamen mitschicken, wenn man mit der php-Datei auf den Download weiterleitet, ansonsten denkt der Browser, dass der Dateiname der deiner php-Datei ist:
ausblenden Quelltext
1:
    header("Content-Disposition: filename=xyz.zip"); // Dateiname setzen					
jinfo Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Sa 19.04.08 11:49 
Hm das ist komisch meine header sehen auch so aus:

header( "Location:/download/vmenud7/vmenud7.zip" );

egal auf welchen link ich gehe, ob mit Ziel speichern unter oder direkt er speichert mir das als .zip

Welchen Browser benutzt du?
jinfo Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Sa 19.04.08 11:50 
p.s die PHP sind rein statistikhalber dazwischen gesetzt, ein downloadcounter einfach.
grüße
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 19.04.08 22:02 
Da das Delphi-Forum im Firefox am besten geht (mittlerweile gehen aber auch die anderen gut), benutze ich dafür den. Ich habe es getestet, er ist der einzige Browser bei dem das passiert. Sowohl IE 8 als auch Opera 9 zeigen den Namen der Zip-Datei an. Nur der Firefox nimmt den der php-Datei obwohl er ja eigentlich weitergeleitet wird.

Warum ergänzt du nicht einfach die fehlende Header-Angabe (du hast ja nur Location gesetzt, nicht aber Content-Disposition)? Dann sollte das auch im Firefox korrekt funktionieren.
jinfo Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Sa 19.04.08 22:23 
das ist wirklich merkwürdig. Normalerweise ist firefox viel verständnisvoller als ie :-) ok guter Tipp ich ersetze mal location durch content-disposition :-)
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 19.04.08 22:31 
Nicht ersetzen^^, einfach die Zeile dazuschreiben, und den Dateinamen ohne Pfad hinschreiben.
Das sind zwei völlig verschiedene Angaben ;-).

// EDIT:
Bei mir steht in der Datei unter anderem das:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
    header("Content-Disposition: filename=\"$basefile\""); // Dateiname ohne Pfad
    header("Content-Length: ".filesize("$downloadpath/$file")); // Dateigröße
    header("Content-Type: application/force-download"); // MIME-Typ

    readfile("$downloadpath/$file"); // Ausgabe

...
jinfo Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Sa 19.04.08 22:58 
ok super! ich habe die zeile Content-Disposition einfach mal hinter meine Location zeile geschrieben. Hoffe das Firefox nun zufrieden ist :-)
jinfo Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Sa 26.04.08 19:38 
Nach einige Anfragen habe ich hier ein kleines Demoprogramm angehängt!
viele grüße
jinfo
Einloggen, um Attachments anzusehen!
Uwe.F.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 52

W7
D7 Ent. w/o NET
BeitragVerfasst: Mo 27.10.08 17:07 
Danke für die tolle Arbeit - aber angesichts der winzigen Buchstaben auf modernen Notebook-Rechnern (1680x1050 auf 12 Zöllern) müsste ich die Buchstabengröße verändern können ...

Beste Gr+üße,
Uwe