WinFuture-Forum.de: Vista Orb Menü - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Software
  • 2 Seiten +
  • 1
  • 2

Vista Orb Menü


#1 Mitglied ist offline   NorthWalker 

  • Gruppe: Mitglieder
  • Beiträge: 8
  • Beigetreten: 04. Januar 08
  • Reputation: 0

geschrieben 27. Januar 2008 - 23:58

Hallo zusammen,

ich habe hier zwar schon gelegentlich mitgelesen aber bisher noch nichts geschrieben weil VistaMizer bei mir bisher einwandfrei läuft.

Das ich heute hier doch etwas schreibe hat einen etwas anderen Grund, und ich hoffe es ist OK wenn ich das in diesem Thread schreibe da VistaMizer im Prinzip der Grund dafür ist. Ansonsten bitte ich um Entschuldigung und Verschieben/Löschen meines Beitrags aus diesem Thread.

Da mir nach der Installation der letzten VistaMizer-Version der Desktop (ohne Icons) etwas leer aussah kam ich auf die Idee in die Mitte desselben ein Vista-Orb als Bestandteil des Wallpapers zu setzen.

Da ich dann fand das beim Überfahren des Orbs mit der Maus etwas passieren sollte entfernte ich es wieder und machte aus diesem Orb stattdessen ein eigenständiges Programm, Vista Orb Menü.

Nach dem Start liegt es auf dem Desktop und sieht wie ein Bestandteil des Wallpapers aus, beim Überfahren oder Anklicken mit der Maus verwandelt es sich aber in ein kreisförmig um das Orb angeordnetes Menü was nach verlassen des Menübereichs oder Anklicken eines der Menü-Icons wieder einklappt.

Bevor ich noch mehr dazu schreibe, Vista Orb Menü ist Freeware und kann für den privaten Bereich von jedem der möchte unentgeldlich genutzt werden.

Weitere Informationen und den Download des Programms gibt es hier auf dieser Seite.

Und wie gesagt falls dies der falsche Thread für meinen Beitrag gewesen sein sollte, bitte ich nochmals um Entschuldigung.

Gruss
Mike

Edit: Ich sehe gerade das mein Beitrag ein eigenes Thema hat und nicht im Vistamizer-Thread erscheint, demnach sollte dann ja alles in Ordnung sein.

Dieser Beitrag wurde von NorthWalker bearbeitet: 28. Januar 2008 - 00:00

0

Anzeige



#2 Mitglied ist offline   RaZer090 

  • Gruppe: Mitglieder
  • Beiträge: 14
  • Beigetreten: 29. Januar 08
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Kassel (Heli)

geschrieben 29. Januar 2008 - 17:33

Wird der Pc nicht dann langsamer von dem VistaMizer?
0

#3 Mitglied ist offline   qvert 

  • Gruppe: aktive Mitglieder
  • Beiträge: 60
  • Beigetreten: 02. Februar 07
  • Reputation: 0

geschrieben 30. Januar 2008 - 11:31

hmm ansich ne gute sache aber muss das so halb durchsichtig sein? oder ist das nur auf den screenshots so :-)
0

#4 Mitglied ist offline   NorthWalker 

  • Gruppe: Mitglieder
  • Beiträge: 8
  • Beigetreten: 04. Januar 08
  • Reputation: 0

geschrieben 30. Januar 2008 - 13:16

Beitrag anzeigenZitat (RaZer090: 29.01.2008, 17:33)

Wird der Pc nicht dann langsamer von dem VistaMizer?


Der VistaMizer hat mit meinem Programm nur insofern etwas zu tun als das dieser der Auslöser für meine Idee mit dem Vista Orb als Menü war.

Bei mir wird der PC weder vom VistaMizer noch von meinem Menü spürbar langsamer. Ansonsten gilt: Alles was Du an Programmen oder Diensten auf einem PC laufen lässt braucht logischerweise auch Ressourcen, das eine Programm etwas mehr, das andere etwas weniger.

Beitrag anzeigenZitat (qvert: 30.01.2008, 11:31)

hmm ansich ne gute sache aber muss das so halb durchsichtig sein? oder ist das nur auf den screenshots so :-)


Nein das Orb ist nicht durchsichtig. Zur Verdeutlichung habe ich 3 Screenshots angehängt für die ich das Orb über diesen Thread verschoben habe damit das Wallpaper nicht den Eindruck vermittelt das Orb wäre durchsichtig (siehe unten).

Das die Menü-Icons zum Teil transparent sind und teilweise den Hintergrund durchscheinen lassen (Bsp.: Icons für den Papierkorb, Shutdown-Dialog und Öffnen der eigenen Dateien) ist natürlich gewollt.

im Normalfall sieht es aus wie auf Bild 1 bzw. wenn das Menü aktiviert ist wie auf Bild 2. Das einzige was natürlich immer transparent ist ist der Schatten den das Orb im unteren Teil wirft was auch auf den Screenshots zu sehen ist.

Allerdings habe ich die Möglichkeit eingebaut (für den der es mit der "Immer im Vordergrund"-Funktion als oberstes über allen anderen Fenstern liegen haben möchte) in den Einstellungen das gesamte Orb inklusive Menü-Icons stufenlos von nicht durchsichtig (Normalfall) bis fast ganz transparent einstellen zu können je nach persönlichem Geschmack (wie das aussehen könnte zeigt Bild 3).

Was mich interessen würde ist ob es auch unter Vista läuft. Denn mangels Vista-Installation kann ich das selbst nicht testen. Eine entsprechende Rückmeldung wäre nett.

Gruß,
Mike

Screenshots:

Angehängtes Bild: vom1.jpg
Angehängtes Bild: vom2.jpg
Angehängtes Bild: vom3.jpg

Dieser Beitrag wurde von NorthWalker bearbeitet: 30. Januar 2008 - 13:37

0

#5 Mitglied ist offline   roots 

  • Gruppe: aktive Mitglieder
  • Beiträge: 42
  • Beigetreten: 27. April 06
  • Reputation: 0

geschrieben 30. Januar 2008 - 18:25

Im Grunde gefällt mit dein Programm.

Ich persönlich hätte es aber gerne anders.

Daher versuchte ich, es mithilfe des Reshacker meinen Bedürfnissen anzupassen.
Hast die "Exe" mit PECompact geschrumpft.
Doch auch das entpacken der "EXE" brachte leider nicht den gewünschten Erfolg.
So mit ist dein Programm für mich unbrauchbar.

Nicht falsch verstehen, es ist im Grunde sehr Gut!!
Eben nur leider zu unflexibel, was die Gestaltungsmöglichkeiten angeht.

Aber vielleicht überlegst du dir ja noch etwas?

Gruß
roots

Dieser Beitrag wurde von roots bearbeitet: 30. Januar 2008 - 18:27

0

#6 Mitglied ist offline   poundhn 

  • Gruppe: aktive Mitglieder
  • Beiträge: 763
  • Beigetreten: 04. März 07
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Heilbronn

geschrieben 31. Januar 2008 - 13:29

Habe dein Programm soeben mal auf meinem Bürorechner (Windows 2000) installiert. Ich bin hier kein Administrator und habe somit keine Schreibrechte auf die Systemordner.

Da dein Programm keine Einträge in den Systemordnern hinterlässt und wahrscheinlich auch keine HKLM-Einträge setzt ist es mir problemlos gelungen das Programm zu installieren.

Es läuft wunderbar auf Windows 2000, somit habe ich mir etwas Vista-Feeling auf den Arbeitsplatz geholt. Mir gefällt es sehr gut, bin übrigens auch ein großer Anhänger von Zottels Vistamizer. :)
0

#7 Mitglied ist offline   sibbl 

  • Gruppe: aktive Mitglieder
  • Beiträge: 377
  • Beigetreten: 30. Dezember 06
  • Reputation: 3
  • Wohnort:localhost

geschrieben 31. Januar 2008 - 15:44

funktioniert unter vista x86 deutsch ... allerdings benötigt es nach mouseover immer 2 sekunden bis ein menü angezeigt wird. des ein- und ausblenden sowie paar mouseover-effekte im menü wären ne tolle idee =)

edit: ok das mit der verzögerung kann man einstellen *g* dauert trotzdem n klitzekleines weilchen =) Aber nicht der Rede wert. bissel paar effekte wären aber toll ^^

Dieser Beitrag wurde von sibbl bearbeitet: 31. Januar 2008 - 15:45

0

#8 Mitglied ist offline   mokum23 

  • Gruppe: aktive Mitglieder
  • Beiträge: 102
  • Beigetreten: 08. Oktober 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Bochum

geschrieben 31. Januar 2008 - 23:28

Hab es auch unter Vista ohne Probleme laufen.
Schön wäre allerdings wenn man die Icons austaschen könnte.

Gruß Andreas
0

#9 Mitglied ist offline   poundhn 

  • Gruppe: aktive Mitglieder
  • Beiträge: 763
  • Beigetreten: 04. März 07
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Heilbronn

geschrieben 01. Februar 2008 - 07:53

du wirst das Programm doch sicher weiterentwickeln.

Ich fänds klasse, wenn du die Möglichkeit anbieten würdest, sämtliche Schaltflächen frei belegen zu können und sich das Icon der verknüpften Anwendung übernehmen ließe.

Als Default-Einstellung finde ich das soweit gelungen, bis auf den Button mit dem Startmenü. Das ist überflüssig, da man doch eher geneigt ist, den normalen Orb zu bedienen, was auch sinnvoller ist. An dieser Stelle könntest du ggf. den Taschenrechner als Default-Einstellung unterbringen.

Fein wäre es auch, wenn du ein paar Skins für den großen Orb in der Mitte beilegen könntest, so dass man sich je nach Wallpaper was passendes raussuchen kann.

Edit by me: Habe dein Programm mal genauer unter die Lupe genommen. Zugegeben, du machst es mit deiner mit PECompact komprimierten exe uns nicht leicht, die Resourcen zu betrachten. Stell dir mal vor Microsoft macht das mit der shell32 demnächst genauso, dann ist es aus mit Vistamizer... Einen Performance-Gewinn konnte ich mit der komprimierten Datei im direkten Vergleich zur dekomprimierten Version auch nicht feststellen.
Um mehrere Skins anbieten zu können, wäre es sinnvoll die PNG-Resourcen auszulagern und in einem Ordner "Skins" unterzubringen. Ein WMP11 Skin würde mir zum Beispiel gut gefallen.
Den Ghost-Installer halte ich auch nicht für erforderlich, da dein Programm keinerlei Registry-Einträge setzt. Sehr gut hingegen gefällt mir, dass benutzerspezifische Daten im jeweiligen Benutzerprofil abgelegt werden, so dass auch Nicht-Admins das Tool nutzen können. Tolle Arbeit.

Dieser Beitrag wurde von poundhn bearbeitet: 01. Februar 2008 - 18:28

0

#10 Mitglied ist offline   NorthWalker 

  • Gruppe: Mitglieder
  • Beiträge: 8
  • Beigetreten: 04. Januar 08
  • Reputation: 0

geschrieben 01. Februar 2008 - 19:19

Erst einmal vielen Dank für die Rückmeldungen.

@roots:
Nach dem Entpacken ist das Extrahieren der PNG's für die Menüanzeige mit Reshacker kein Problem.

Von den Einstellungsmöglichkeiten her ist Vista Orb Menü durchaus flexibel, wobei man es nie jedem völlig recht machen kann. Lediglich die Menüanzeige selbst kann nicht verändert werden, dazu weiter unten mehr.

@poundhn, sibbl und mokum23:
Vielen Dank für die Infos, schön zu wissen das es auch unter Win2K und Vista läuft. Darauf das Vista Orb Menü grossartig Einträge in der Registry macht habe ich bewusst verzichtet, die einzigen Einträge sind der Startmenü-Eintrag in HKCU und der Eintrag für die Deinstallation damit der Deinstallationsdialog auch im Softwarefenster angezeigt wird.

Die Konfigurationsdaten für das Menü werden nicht in der Registry gespeichert sondern in einer Config-Datei im Anwendungsdatenverzeichnis des jeweiligen Users abgelegt auf das er ja in jedem Fall auch Schreibrechte hat.

Jetzt noch mal etwas generelles zu der Art wie Vista Orb Menü die Anzeige der einzelnen Menü-"Icons" handhabt:

Es sind keine einzelnen Icons sondern sie sind zusammen mit dem Orb in einem Bild integriert. Das Anklicken der Menü-Icons geschieht also auch nicht durch Anklicken derselben sondern durch für den Anwender unsichtbare Hotspot-Bereiche die ich programmtechnisch über jeden Bereich in dem sich auf dem Skin ein Icon befindet gelegt habe.

Dadurch wird der Anschein erweckt dass das Icon angeklickt wird, in Wirklichkeit könnte statt des Icons auch etwas völlig anderes in diesem Bereich abgebildet sein, der Klickeffekt wäre derselbe.

Die Anzeige des Orbs und des im aufgeklappten Zustand angezeigten Menüs sind komplett PNG-Bilder. Der Grund dafür ist die Transparenz.

Bevor nun jemand sagt: Ja ne ist klar das die transparent sind aber das geht doch auch mit Bitmaps oder Icons dazu folgende Erklärung:

Wenn man von Transparenz spricht ist immer exakt eine Farbe gemeint, wie etwa das Ausblenden eines weissen Bereichs eines Bitmaps, Jpgs oder eines Icons, Bsp: Roter Kreis in weissem Viereck. Durch Angabe der Farbe weiss als transparente Farbe wird alles was weiss ist ausgeblendet (transparent) so das nur noch der rote Kreis sichtbar ist.

Um die Art der Menüanzeige wie beim Vista Orb Menü zu erreichen (nicht einfach nur eine Farbe transparent zu machen, also komplett auszublenden und alles andere zu 100% deckend über den Rest des Bildschirms liegen zu haben sondern das Durchscheinen eines Bereichs zu ermöglichen um den darunter liegenden restlichen Inhalt des Bildschirms anzeigen zu können) muss mit einem Alphakanal gearbeitet werden der die dafür notwendigen Informationen zur Verfügung stellt.

Dieser wird aber von Icons, Bitmaps und JPG's nicht unterstützt, bei ihnen kann als "transparent" wie gesagt exakt immer nur eine einzige Farbe komplett ausgeblendet werden.

Um stufenlose Durchsichtigkeit von Bildbereichen zu erreichen unterstützt Windows ab XP und aufwärts das PNG-Bildformat, denn dieses kann in einem Alphakanal die hierfür erforderlichen Informationen speichern.

Leider ist es trotzdem weder unter XP noch unter Vista möglich ohne grosse Verrenkungen und Umwege dieses Bildformat in eigenen Programmen einfach so auf den Bildschirm zu bringen. Das PNG muss erst intern in ein TBitmap32-Format umgewandelt werden um so wie es z. B. beim Vista Orb Menü dann letztendlich auf dem Monitor erscheint angezeigt zu werden.

Es kann auch nicht einfach in eine Image-Komponente geladen werden um dann angezeigt zu werden sondern muss Pixel für Pixel auf den Canvas gezeichnet werden wofür dann der Programmierer verantwortlich ist. Und es kommt noch ein Problem dazu:

Legt man über ein stufenlos durchsichtig einstellbares Skin wiederum z. B. ein Icon oder normales Bitmap wird es an den Rändern immer einen Übergang haben (bei weissem auzublendendem Farbanteil also immer einen weiss- bis hellgrauen Rand der einige Pixel breit sein kann) der sehr unschön aussieht.

Wer selbst programmiert und sich mit solchen Dingen beschäftigt kennt dieses Problem. Bevor ich da jetzt aber noch mehr in die Tiefe gehe und den Leser langweile ist die Quintessenz daraus:

Ich sehe aus diesen Gründen im Moment deshalb leider keine Möglichkeit den "Vista-Effekt" des Vista Orb Menüs auf eine andere Weise als die eben geschilderte (PNG mit allen zum Menü gehörenden Bildteilen als ein einziges Bild mit den entsprechenden Darstellungsinformationen im Alphakanal) zu realiseren.

Deshalb scheidet leider auch die Möglichkeit aus andere bzw. eigene Icons im Vista Orb Menü zu verwenden um das Erscheinungsbild den eigenen Vorlieben anzupassen. Um so etwas zu verwirklichen gibt es meines Wissens nach nur einige sehr wenige kommerzielle Komponenten für z. B. C++ um damit dann solche Effekte zu realisieren wie sie z. B. Stardock bei seinen Produkten anbietet.

Und diese komerziellen Komponenten sind dermassen teuer das sich niemand den Kauf derselben zum Prgrammieren von Freeware antun wird.

Insofern weiss ich momentan keine Lösung dafür Vista Orb Menü mit vertretbarem Aufwand so umzuschreiben das jeder seine eigenen Icons dafür verwenden kann wenn das "Vista-like" Erscheinungsbild (und darum geht es ja letztendlich) erhalten bleiben soll.

Sollte mir da vielleicht nicht doch noch eine Lösung einfallen wird Vista Orb Menü aus diesen Gründen vom Erscheinungsbild her weiterhin nicht änderbar sein können.

Edit:
Ich habe gerade gesehen das in der Zeit als ich diesen Beitrag schrieb poundhn noch etwas zu seinem Beitrag hinzufügte und möchte dann gleich darauf antworten.

Dass das Packen mit PECompact niemanden der über ein bisschen Wissen verfügt ernsthaft davon abhält an die Ressourcen zu kommen ist klar. Nur wird so jemand dann auch entsprechend behutsam vorgehen beim Verändern des PNG's und nicht, wie andere vielleicht, "wild" drauf los editieren und sich dann wundern wenn Vista Orb Menü anschliessend nicht mehr funktioniert (Stichwort: Hotspots der Icon-Bereiche um nur eins zu nennen, es gibt noch ein weiteres aber bevor dieser Beitrag noch länger wird soillte das zuerst mal genügen).

Ich habe auch daran gedacht die Skins einfach als Dateien mit ins Verzeichnis dazu zu legen, mich dann letztendlich aber doch dagegen entschieden.

Der Grund ist einfach folgender: Wie ich oben schrieb muss zunächst das PNG geladen, ausgewertet (Alphakanal), dann mit diesen Infos in ein TBitmap32 (was den Alphakanal unterstützt) umgewandelt und letztendlich Pixel für Pixel auf den Canvas gezeichnet werden.

Das sind recht komplexe Vorgänge von denen der Anwender selbst nicht allzuviel mitbekommt, die aber trotzdem ihre Rechenzeit kosten und so manchen (siehe sibbl, lach) stören dann schon auch sehr kurze Verzögerungen.

Und nicht jeder der das Programm vielleicht benutzen möchte hat einen superschnellen Rechner. Aus diesen Gründen habe ich die PNG's (es sind insgesamt 6) nicht als von der Platte nachladbare Dateien dazugelegt sondern sie als Ressourcen mit ins Programm compiliert denn das Laden aus dem Arbeitsspeicher geht schneller als sie von einer (vielleicht noch relativ langsamen) HDD nachzuladen wenn vielleicht der PC gleichzeitig gerade noch mit anderen Schreib- oder Leseoperationen auf dieser beschäftigt ist.

Und letzendlich muss bei jedem Aufruf des Menüs (oder beim Zuklappen desselben) immer ein anderes Skin geladen werden.


Gruß,
Mike

Dieser Beitrag wurde von NorthWalker bearbeitet: 01. Februar 2008 - 19:45

0

#11 Mitglied ist offline   poundhn 

  • Gruppe: aktive Mitglieder
  • Beiträge: 763
  • Beigetreten: 04. März 07
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Heilbronn

geschrieben 01. Februar 2008 - 19:45

@NorthWalker

danke für deinen sehr ausführlichen Beitrag. Ich habe ja die verwendeten PNGs inzwischen betrachtet und selbst feststellen können, dass es sich um ein komplettes Bild handelt. Ich denke auch, dass mit den eigenen Icons würde einen nicht vertretbaren Aufwand bedeuten, denn so, wie das Programm jetzt ist, kann das gar nicht umgesetzt werden. Aber komplette Skins könnte man dennoch haben durch einen separaten Ordner mit den PNGs. Man muss ja nicht zwingend die Bilder als Resourcen in der exe drin haben. Ich weiß jetzt nur nicht, ob das mit den "Hot Spots" dann noch funktioniert, dazu kenne ich mich nicht genug aus. Verstehe es einfach nur mal als Anregung für weitere Releases.

Edit: Danke für deine interessanten Hinweise und Begründungen, die dich zu der vorliegenden Umsetzung des Programms bewogen haben. Das ist alles nachvollziehbar und du hast mit deiner Argumentation auch nicht unrecht, was die Resourcen und deren Zugriff darauf angeht. Deine Erklärungen zeigen vielmehr, dass du dir um die Entwicklung sehr viel Gedanken gemacht hast und für eine Version 1.0 wirkt das Ganze sehr ausgereift. Vielen Dank dafür.

Dieser Beitrag wurde von poundhn bearbeitet: 01. Februar 2008 - 21:32

0

#12 Mitglied ist offline   sibbl 

  • Gruppe: aktive Mitglieder
  • Beiträge: 377
  • Beigetreten: 30. Dezember 06
  • Reputation: 3
  • Wohnort:localhost

geschrieben 01. Februar 2008 - 20:50

wenn genug interesse da wäre und ich jetzt 2 wochen ferien habe, würd ich mich da gern auch mal ransetzen. hätte da paar ideen. bräuchte lediglich die technik von mike, mit der er den orb auf dem desktop "platziert" hat. bzw dass das fenster eben nur dort angezeigt wird =)
0

#13 Mitglied ist offline   NorthWalker 

  • Gruppe: Mitglieder
  • Beiträge: 8
  • Beigetreten: 04. Januar 08
  • Reputation: 0

geschrieben 02. Februar 2008 - 00:45

Beitrag anzeigenZitat (poundhn: 01.02.2008, 19:45)

...Verstehe es einfach nur mal als Anregung für weitere Releases.


Zunächst einmal danke für die Blumen :-). Was Deine Anregung angeht: Eine Möglichkeit könnte darin bestehen das ich die verwendeten PNG's nicht als Ressource mitliefere sondern doch als eigenständige Skins.

Dann hätte jeder der dazu in der Lage ist die Möglichkeit sich die PNG's selbst anzupassen. Das einzige was mir etwas Bauchschmerzen dabei bereitet ist das unter Umständen, je nachdem wie exessiv die Festplatte zufällig gleichzeitig von anderen Programmen (oder von Windows selbst) in Beschlag genommen wird, auch abhängig vom vorhandenen PC-System, das nachladen von der HD vielleicht bei einigen mit einer kurzen Verzögerung verbunden ist.

Das mit den Hotspots sollte nicht das Problem sein, denn diese sind im Programmcode selbst definiert, nicht in den PNG's. Solange sich die neuen Icon-Bereiche in den Rahmen dieser bewegen (eine entsprechende Schablone dafür könnte ich entweder als eigenständiges Bild mitliefern oder als Layer in z. B. einer PSD-Datei den man dann über dem Menü-Orb entsprechend ein- oder ausblenden kann während man es in der Bildbearbeitung editiert) dürfte es da keine Probleme geben.

Eventuell fallen mir da noch ein, zwei weitere Ideen ein, z. B. (ich will jetzt nicht zuviel versprechen) die Möglichkeit das man bis zu 14 Programme definieren kann und diese dann den einzelnen Icon-Bereichen frei zuordnet.

Das hiesse dann das z. B. jemand seinen Lieblingsbrowser auch auf den 3. Iconbereich von oben rechts legen könnte oder eben jede (anzahlmässige) Mischform aus den 14 Programmen und den vorhandenen Systemfunktionen miteinander kombinieren könnte bis eben insgesamt alle 14 Icon-Bereiche so belegt sind wie er es gerne hätte. Und dann natürlich sich entsprechend die Icon-Bereiche dafür nach seinen Vorstellungen ebenfalls editieren kann.

Dies wäre die einzige Möglichkeit Vista Orb Menü in so ziemlich jeglicher Hinsicht wirklich flexibel zu gestalten. Vorausgesetzt der Anwender kann mit einer Bildbearbeitung umgehen und ist bereit ein paar Minuten Zeit in das Lesen der Anleitung zum Ändern der PNG's (die ich dann erstellen und mitliefern würde) und in das Anpassen der PNG's selbst zu investieren. Für alle die das nicht wollen oder können gibt es dann weiterhin die bisherige Version des Vista Orb Menüs ohne änderbare PNG's zum Download.

Ich werde mir da mal ein paar Gedanken machen, aber nagel(t) mich bitte nicht darauf fest. Denn das was ich da im Kopf habe würde das komplette umschreiben nicht weniger Codeteile bedeuten und das kostet Zeit, und es soll anschliessend ja auch vernünftig funktionieren.

Ich würde also eine Weile brauchen um ein "Vista Orb Menü X" (für eXtended zum Unterscheiden von der jetzigen, dann weiterhin downloadbaren Version) zu schreiben, schaun wir mal :-)

Beitrag anzeigenZitat (sibbl: 01.02.2008, 20:50)

wenn genug interesse da wäre und ich jetzt 2 wochen ferien habe, würd ich mich da gern auch mal ransetzen. hätte da paar ideen. bräuchte lediglich die technik von mike, mit der er den orb auf dem desktop "platziert" hat. bzw dass das fenster eben nur dort angezeigt wird =)


Hallo sibbl,

wie ich das mache ist kein Geheimnis. Ich programmiere in C++ und in Delphi, wobei ich diese Version mit Delphi realisiert habe da ich die Funktionen für die PNG's etc. dort früher schon einmal als Packages eingebunden habe.

Du brauchst eine Komponente zum Verarbeiten der PNG's (für Delphi z. B. PNG Delphi), für C++ empfehle ich Dir da libpng.

Du erstellst dann zur Laufzeit ein Object von PNGImage, in dass Du das gerade benötigte PNG aus der Ressource oder von der Platte hineinlädst und auswertest.

Dann benötigst Du zur Umwandlung in ein Bitmap mit 32 Bit (weder PNG noch 32-Bit Bitmaps werden von Haus aus von z. B. Delphi oder C++ unterstützt) noch die TBitmap32-Funktionen aus Graphics32. Es ist verfügbar für Borland Delphi, Kylix und den C++ Builder.

Damit erstellst Du ebenfalls zur Laufzeit ein Object von TBitmap32 und weist, bevor Du die Instanz von PNGImage wieder freigibst das PNG mit den entsprechenden Informationen aus dem Alphakanal des PNG's als 32-Bit Bitmap zu.

Wie das übernehmen, auslesen und auswerten der Alphakanal-Infos und das Umwandeln in ein Bitmap vom Typ TBitmap32 funktioniert ist in den Dokus der Komponenten erklärt die frei verwendbar sind.

Statt dieser beiden Komponenten kannst Du natürlich auch auf die seit Windows XP zum Lieferumfang gehörende GDI+ Version zurückgreifen. Ich habe allerdings darauf verzichtet weil ich dann alle User die z. B. noch Windows NT, Windows 2000 (oder ältere Versionen von Windows) benutzen ausgesperrt hätte.

Und an dem Problem das z. B. keine eigenen Icons als einzelne Images auf dem Menü-PNG vernünftig nutz- bzw. anzeigbar sind ändert die Art der Lösung (egal ob nun die oben geschilderte oder benutzen der GDI+ Schnittstelle von Windows ab XP) leider auch nichts.

Dafür hat die oben geschilderte Lösung den Vorteil das sie auf allen entsprechenden Windows-Systemen läuffähig ist, unabhängig davon ob auf ihnen GDI+ vorhanden ist oder nicht und auch, das keine zusätzlichen Dlls mitgeliefert bzw. installiert werden müssen.

Den Borderstyle für die Form stellst Du natürlich auf bsNone, dann ermittelst Du die Werte der vom Anwender aktuell eingestellten Bildschirmauflösung um Breite und Höhe in Pixeln zu erhalten, und berechnest dann mit Hilfe der von Deinem Programm entsprechend ermittelten Werte der Formgrösse und die des 32-Bit Bitmaps (Breite und Höhe) die x- und x-Werte für die Ausgabe auf dem Desktop um es entweder an anwenderdefinerter Stelle (wenn es verschiebbar sein soll die letzte Position des Orbs an die es der Anwender Deines Programm verschoben hatte) oder exakt in der Mittte des Desktops auf den Canvas zu zeichnen. Soll Dein Programm so wie Vista Orb Menü zusätzlich durch den Anwender einstellbar stufenloses AlphaBlend unterstützen musst Du vorher noch den entsprechenden Wert dafür beim TBitmap32 angeben.

Vor der endgultigen Ausgabe auf dem Canvas musst Du dann noch mit der API-Funktion SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_LAYERED (setzt einen neuen 32 Bit (long) Wert am spezifierten Offset des via Handle angegebenen (Programm)-Fensters) das Fenster Deines Programms mit neuen Parametern ausstatten um Transparenz zu ermöglichen und das 32-Bit Bitmap mit allen Attributen auf den Canvas zeichnen zu können.

Wie Du es machst das für Dein Menüprogramm kein Eintrag in der Taskleiste angezeigt wird sondern es stattdessen nur als Icon im Systray angezeigt wird wirst Du wissen denke ich. Ich muss sowieso mal ein mea Culpa für alle technisch nicht interessierten hier einwerfen da der Beitrag so lang geworden ist.

Ich wünsche Dir viel Spass beim Umsetzen Deiner Ideen und bin gespannt auf Deine Version, nur um eins möchte ich bitten, sei so nett und "klaue" für Dein Programm nicht meine PNG's.

Denn zum einen wäre es nicht so toll wenn Dein Menüprogramm dann eine mit Vista Orb Menü identische Oberfläche hätte und sich auf den ersten Blick nur vom Namen her unterscheiden würde, und zum zweiten steckt einiges an Arbeit in ihnen von der ersten Idee bis zum fertigen funktionierenden Ergebnis :-).

Gruss,
Mike

Dieser Beitrag wurde von NorthWalker bearbeitet: 02. Februar 2008 - 01:00

0

#14 Mitglied ist offline   NorthWalker 

  • Gruppe: Mitglieder
  • Beiträge: 8
  • Beigetreten: 04. Januar 08
  • Reputation: 0

  geschrieben 03. Februar 2008 - 05:41

Der Knackpunkt beim Vista Orb Menü scheint zu sein das einige gern die Iconsymbole gegen eigene tauschen würden, was bisher leider nicht ging.

Nachdem ich mir noch einmal Gedanken darüber gemacht habe fand ich folgende Lösung:

Ich könnte Vista Orb Menü so umschreiben das die Skins als PNG-Dateien von der Festplatte geladen werden und nicht mehr aus einer Ressource in der Exe.

Die PNG's für die Skins könnten dann nach einer (von mir mitgelieferten) Anleitung dem eigenen Geschmack entsprechend abgeändert oder komplett neue, andere erstellt werden.

Das Problem bei veränderten oder komplett neuen Skins sind die Hotspots für die Iconbereiche, denn diese sind positions- und grössenmässig im Programmcode unabänderbar festgelegt. Aber auch dafür habe ich eine Lösung gefunden die Vista Orb Menü absolut flexibel machen würde, einen Hotspot-Editor.

An dem bin ich heute mal probehalber angefangen zu schreiben um zu sehen ob es so zu realisieren ist wie ich es mir vorstelle bevor ich diesen Beitrag hier reinsetze.

Mit dem Hotspot-Editor ist man sehr komfortabel in der Lage die Hotspots von der Grösse her beliebig zu ändern (Bild 1) und auch in jeden gewünschten Bereich auf dem Skin zu verschieben (Bild 2).

Die so festgelegten Einstellungen werden dann gespeichert und von Vista Orb Menü eingelesen und die Hotspots auf dem Skin positions- und grössenmässig entsprechend gesetzt.

Da ich dann schon mal dabei war mir Gedanken zu machen denke ich das ich die Zahl der möglichen Programme auf 14 erhöhe so dass man entweder alle 14 Iconbereiche mit Programmen der eigenen Wahl oder mit z. B. 3 der sieben möglichen Systemfunktionen plus 11 eigenen Programmen belegen kann.

Das ganz dann natürlich so das man jedem beliebigen Iconbereich auf dem Skin mit jedem beliebigem Programm oder mit jeder beliebigen der möglichen Systemfunktionen belegen kann egal an welcher Position sich das Icon dafür auf dem Skin befindet, also nicht mehr so wie jetzt die Trennung links Programme, rechts Sytemfunktionen.

Zusammengefasst:
  • Veränderbare oder auch komplett selbst erstellte Skins durch die Möglichkeit die Skin-PNG's zu bearbeiten (z. B. Darth Vader als "Vista Orb"...).
  • Beliebig grosse Iconbereiche auf dem Skin an jeder beliebigen Position durch die Möglichkeit mit dem Hotspot-Editor die Hotspots für das eigene Skin komfortabel anpassen zu können.
  • Maximal 14 Icon-Bereiche die entweder mit maximal 14 selbst festzulegenden Programmen oder mit einer Mischform aus diesen und einer beliebigen Anzahl der möglichen Systemfunktionen belegt werden können.
  • Dabei entfällt die bisherige feste Aufteilung der Zuweisungen von Programmen oder Systemfunktionen an bestimmte Icons, es kann dann "frei Schnauze" selbst entschieden werden welchem Icon ein Programm oder eine Systemfunktion zugewiesen werden soll.
  • Keine Bindung mehr an ein kreisrundes Menü, mit dem Hotspot-Editor kann man sich dann z. B. auch ein quadratisches zusammenklicken...

Dies alles würde Vista Orb Menü in jeglicher Hinsicht superflexibel machen, es hat aber einen Nachteil (für mich...), und der heisst Arbeit ;).

Die angedachten Veränderungen würden das umschreiben fast jeder Funktion im Programmcode nötig machen, ganz abgesehen vom Hotspot-Editor der noch nicht wirklich fertig ist. Bzw. ist es bei solchen umfangreichen Änderungen manchmal besser das ganze als komplett neues Projekt frisch anzufangen.

Da etliche Stunden Freizeit dafür draufgehen würden (der kürzeste Progammiererwitz lautet: "Ich habs gleich...") lohnt sich für mich der Aufwand nicht wenn nur 1 oder 2 sagen ja OK, mach mal und es sonst keinen interessiert.

Deshalb möchte ich, bevor ich mich da ernsthaft an die Arbeit mache, gerne wissen ob wirklich Bedarf und Interesse an einem neuen Vista Orb Menü in der oben beschriebenen Form besteht.

Gruss,
Mike

Edit: Eins habe ich noch vergessen zu erwähnen: Es soll auch die Möglichkeit implementiert werden einzelne Hotspotbereiche komplett abzuschalten zu können. So lassen sich auch Menüs mit weniger als den 14 möglichen Menüpunkten erstellen wenn jemand nicht soviel braucht. Dafür könnte er dann stattdessen z. B. grössere Icons nehmen.

Hotspot-Editor - festlegen jeder beliebigen Hotspotgrösse (quadratisch oder rechteckig):
Angehängtes Bild: hotspoteditor1.jpg

Hotspot-Editor - verschieben der Hotspots an jede beliebige Position auf dem Skin:
Angehängtes Bild: hotspoteditor2.jpg

Dieser Beitrag wurde von NorthWalker bearbeitet: 03. Februar 2008 - 06:01

0

#15 Mitglied ist offline   roots 

  • Gruppe: aktive Mitglieder
  • Beiträge: 42
  • Beigetreten: 27. April 06
  • Reputation: 0

geschrieben 03. Februar 2008 - 12:25

Also ich fänd's absolut Klasse!

Wünschen würd ich mir noch, dass ich frei definieren könnt, wo der Hotspot sein soll!
Also ich meine natürlich nicht irgendwo auf dem Desktop, sondern in einem fest definierten Bereich!!
Warum nur um den von dir vorgegebenen Orb?
Wenn ich doch lieber einen Quader hätte! Ist nur ein Beispiel.
Und müssen die Hotspot willkürlich auf 15 begrenzt sein?
Ok, ich denke eine Obergrenze muss sein, sonst wird das Ganze zu aufwändig.

Gruß
roots
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0