Autor Beitrag
littleDave
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 111
Erhaltene Danke: 2

Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
BeitragVerfasst: So 28.09.08 22:19 
Hallo :wave:

ich hab mal wieder ein Projekt, welches ich hier veröffentlichen will: Eine ...
[url=widgets.godlikesoft.de]user defined image[/url]
Desktop Widget Engine


Downloads
  • hier ist eine Übersicht über alle Versionen
  • hier (ca. 1.5 MB) kann die aktuellste Version heruntergeladen werden
  • hier könnt ihr weitere Widgets herunterladen und eure eigenen Widgets hochladen
  • hier ist jetzt der komplette ChangeLog seit Version 0.1 aufgelistet
  • hier sind jetzt die möglichen Startparameter aufgelistet


Was ist eine Widget Engine?
Widget? Was ist das denn? ... Hm, das ist nicht so schnell zu beschreiben. Kurz gesagt: Widgets sind kleine Fenster, die auf dem Desktop sitzen und unterschiedliche Aufgaben übernehmen können. Jedes Widget ist dabei nur eine Ansammlungen von Anweisungen, Bildern oder sonstigen Daten. Diese Daten werden dann von einem Hauptprogramm visualisiert und verarbeiten. Diese Widget-Engine ist dabei dieses Hauptprogramm.

Wie funktioniert das ganze?
Das ist ganz einfach. Im Hauptprogramm klickt ihr einfach auf Widgets und dann auf Add widget. In einem Dialog wählt ihr dann die Widget-Datei aus, die ihr starten wollt. Danach erscheint ein neues Fenster auf dem Bildschirm - fertig: das Widget läuft jetzt.

Screenshots (für größere Version einfach auf das Bild klicken)
Mal ein Paar Widgets auf dem Desktop
[url=widgets.godlikesoft....hots/Desktop001.jpg]user defined image[/url] [url=widgets.godlikesoft....hots/Desktop002.jpg]user defined image[/url] [url=widgets.godlikesoft....hots/Desktop006.jpg]user defined image[/url]
Der Editor
[url=widgets.godlikesoft....hots/Desktop003.jpg]user defined image[/url] [url=widgets.godlikesoft....hots/Desktop004.jpg]user defined image[/url]
Die Widget-Auswahl
[url=widgets.godlikesoft....hots/Desktop005.jpg]user defined image[/url]

Kann ich selbst Widgets erstellen?
Natürlich! Im Hauptprogramm ist ein Widget-Editor dabei, mit dem ihr neue Widgets erstellen und bearbeiten könnt.

Wie erstelle ich eigene Widgets?
Das ist schon nicht so einfach zu beschreiben, da ihr durch die Script-Sprache extrem viel Möglichkeiten habt.
Zuerst wählt ihr im Menü unter Edit den Punkt Create new Widget aus. Dort gibst du die ersten groben Daten zu deinem Widget ein (diese können natürlich später noch geändert werden). Unten müsst ihr noch die Zieldatei eingeben, in dem die Daten gespeichert werden sollen. Danach erscheint der Editor. Der Editor ist ungefähr so aufgebaut wie ihr es von Delphi gewohnt seid. Es gibt einen Form-Designer und einen Code-Editor. Im Formdesigner könnt ihr Komponenten hinzufügen, bearbeiten und löschen. Im Code-Editor bearbeitet ihr die Funktionalität des Widgets. Die Programmiersprache des Widgets ist Pascal, somit könnt ihr wahrscheinlich gleich loslegen. Als Scriptsprache verwende ich (wie könnte es anders sein ;-)), meine Script-Engine. Um alle Funktionen zu beschreiben bräuchte ich jetzt sehr lange - am besten schaut ihr euch bereits mitgelieferten Widgets im Editor an.

Wie veröffentliche ich meine eigenen Widgets
Das ist ganz einfach: sobald ihr euer Widget fertig habt, klickt ihr im Editor auf Datei -> Publish-Datei erstellen.... Nachdem ihr die Publish-Datei gespeichert habt, geht ihr auf Website der Desktop Widget Engine. Dort loggt ihr euch mit eurem Account ein (wenn ihr noch keinen habt, einfach kurz registrieren) und wählt dann rechts unten den Eintrag Publish own widget. Dann wählt ihr die gerade erstellte Publish-Datei aus und wählt noch die Kategorie des Widgets - fertig.

Wichtige Sachen für den Editor
  • Events zuweisen:
    Um einer Komponente ein Event zuzuweisen solltet ihr im Object-Inspector den Tab "Events" auswählen. Dort klickst ihr doppelt auf den Namen des Events. Dann wird automatisch alles nötige erstellt. Ihr könnt die Events natürlich auch manuell eintragen, jedoch ist solltet ihr dann genau wissen, welche Parameter wann wo kommen. Wenn eine Event-Funktion falsche Parameter hat, wird das Widget zwar erfolgreich kompiliert, die Event-Funktion wird aber niemals erreicht.
  • Bilder zuweisen:
    Widgets sind meistens mit einer aufwendigeren grafischen Oberfläche ausgestattet. In dieser Widget-Engine geht das natürlich auch. Dafür fügt ihr einfach ein Image hinzu und wählt im Objekt-Inspektor den Eintrag "Graphic" aus. Dort findet ihr einen Eintrag "ImageFile", welcher einen Dialog öffnet. In diesem Dialog wählt ihr das gewünschte Bild aus. Dabei könnt ihr nur Bilder auswählen, die sich in der Wiget-Datei befinden. Um eine Datei hinzuzufügen wählt ihr links den Eintrag Add file to folder.
    ACHTUNG: Bei den Bildern werden nur PNGs, JPEGs, Bitmaps und Gifs unterstützt. Andere Bildtypen funktionieren nicht!


Was ist alles dabei?
Das Hauptpacket besteht nur aus einer analogen Uhr und einer SideBar. Wenn ihr weitere Widgets haben wollt, geht ihr auf die Website der Desktop Widget Engine. Dort könnt ihr viele weitere Widgets herunterladen.

Eigene PlugIns?
Die Funktionalität von Widgets kann man mit Hilfe von PlugIns erweitern. Die Erweiterbarkeit mit Hilfe durch PlugIns ist extrem groß. Um ein PlugIn zu erstellen, solltet ihr vorher die PlugIn-API-Reference herunterladen (der Download-Link befindet sich am Ende dieses Abschnitts). Dort findet ihr einen Pascal-Header sowie eine Hilfe, die euch anhand des mitgelieferten Beispiels erklärt, wie ihr ein PlugIn erstellen könnt und worauf ihr achten müsst. Die PlugIn-API findet ihr hier (ca. 1 MB)

Noch ein paar Hinweise

  • Getestet mit Windows XP
  • Verwende Komponenten: Sysygy Script Engine, SynEdit, Jedi Component Library, GraphicEx, GR32 (TBitmap32)
  • Aktuelle Version: 0.72
  • Programmiert mit Delphi 7
  • Das Programm erstellt folgende Ordner:
    • Den Ordner "Desktop Widget Engine" in %APPDATA%

  • Das Programm erstellt folgende Registry-Einträge:
    • "Desktop Widget Engine" in "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\" (nur falls die Einstellung "Autostart" aktiviert wurde)


Zuletzt bearbeitet von littleDave am Do 27.11.08 16:53, insgesamt 31-mal bearbeitet

Für diesen Beitrag haben gedankt: Hidden
littleDave Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 111
Erhaltene Danke: 2

Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
BeitragVerfasst: Mo 29.09.08 16:04 
Sorry das ich mich nochmal melde, aber ich hab gerade eine neue Version hochgeladen, da es in der alten Version einen Fehler gab, der den Editor fast unbenutzbar machte. Die Entf-Taste wurde als Hotkey vom Hauptfenster angesehen und funktionierte so im Editor nicht. Das ist jetzt behoben.

Da man an dem Screenshot vor mir noch nicht so gut erkennen kann, was das Programm eigendlich macht, hab ich nochmal nen Screenshot erstellt. Ich denke, der ist etwas aussagekräftiger:

Im Hintergrund ist das Desktophintergrund und darauf befinden sich die einzelnen Widgets. Ich denke, dass ist doch etwas aussagekräftiger als die Widgets an sich.
Einloggen, um Attachments anzusehen!
littleDave Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 111
Erhaltene Danke: 2

Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
BeitragVerfasst: Sa 04.10.08 20:17 
Schade, dass sich bisher keiner dazu überwunden hat, was zu schreiben :(. Ist das Programm so schlecht/so gut, dass nichts mehr zu retten ist/dass nichts mehr verändert werden muss? :nixweiss:
Liegt es an der Beschreibung? Zu lang, zu kurz, man weiß trotzdem nicht so genau, worum es geht?

Naja, an die, die es vielleicht doch interessiert, ich hab gerade eine neue Version hochgeladen. Diesmal sind noch weitere Widgets hinzugekommen und die Komponenten-Palette hab ich wiedermal erweitert.

Der komplette ChangeLog sowie der Download ist im 1. Post zu finden
Grüße
Dave
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 04.10.08 20:24 
Hi,

Also ich muss sagen: Mit der Beschreibung im Hauptpost konnte ich nciht so viel anfangen. Mit dem Screenshot schon mehr =)

Ich lad's mal runter. Sieht schonmal vielversprechend aus ;)

E: Wow, mein Computer funktioniert ohne Energie :lol: zumindest laut dem Batterieanzeige-Wicked ;) Nene, ist für die Laptopbatterie. Dachte irgendwie für's bios^^.

mfG,

E: *Tusch* proudly presents:
Clipboard Manager Version 1.55
[*]Jetzt mit EE-Farben, viel schöner als der alte Farbton :)
Einloggen, um Attachments anzusehen!
_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)


Zuletzt bearbeitet von Hidden am Di 14.10.08 22:21, insgesamt 8-mal bearbeitet
littleDave Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 111
Erhaltene Danke: 2

Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
BeitragVerfasst: Sa 04.10.08 20:51 
user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
Hi,

Also ich muss sagen: Mit der Beschreibung im Hauptpost konnte ich nciht so viel anfangen. Mit dem Screenshot schon mehr =)

Hm, mal schauen ob mir noch ne bessere Beschreibung einfällt ...

user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
E: Wow, mein Computer funktioniert ohne Energie :lol: zumindest laut dem Batterieanzeige-Wicked ;) Nene, ist für die Laptopbatterie. Dachte irgendwie für's bios

Leider konnte ich die Batterieanzeige noch nicht ausgiebig testen, da ich keinen Laptop habe. Da bräuchte ich mal Feedback :zwinker:
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 04.10.08 20:59 
user profile iconlittleDave hat folgendes geschrieben Zum zitierten Posting springen:
Leider konnte ich die Batterieanzeige noch nicht ausgiebig testen, da ich keinen Laptop habe. Da bräuchte ich mal Feedback :zwinker:

Hmm.. Mal weiterempfehlen *g*

Erster Eindruck: :zustimm:

Zwei kleine Vorschläge:
  • Wickets standardmäßig wie normale Fenster in der Größe verstellbar machen
  • unbedingt ein Wicket für die SB hier, eventuell da dann auch die Suche gleich mit integrieren.


E: Ach so, eventuell noch ein Menüpunkt, um sich in Autostart einzutragen.

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
littleDave Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 111
Erhaltene Danke: 2

Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
BeitragVerfasst: Sa 04.10.08 21:17 
user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconlittleDave hat folgendes geschrieben Zum zitierten Posting springen:
Leider konnte ich die Batterieanzeige noch nicht ausgiebig testen, da ich keinen Laptop habe. Da bräuchte ich mal Feedback :zwinker:

Hmm.. Mal weiterempfehlen *g*

Ja, sehr gut :)

user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
Erster Eindruck: :zustimm:

Wunderbar *freu*

user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
  • Wickets standardmäßig wie normale Fenster in der Größe verstellbar machen

Naja, an sich gehen tut das schon, doch warum? Das sind ja keine normalen Fenster, zudem würde man beim Verstellen der Größe nur einzelne Bereiche der Widgets "abschneiden".

user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
  • unbedingt ein Wicket für die SB hier, eventuell da dann auch die Suche gleich mit integrieren.

Gibt es denn einen XML-Feed für die Shoutbox? In der DP gibt es einen, hier hab ich aber noch keinen gefunden.

user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
E: Ach so, eventuell noch ein Menüpunkt, um sich in Autostart einzutragen.

Den gibts doch schon: unter Settings -> Program Settings... (bzw. Strg+F12 im Hauptprogramm)

PS: die einzelnen Progrämmchen nennen sich Widgets, nicht Wickets :zwinker:
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 04.10.08 21:28 
user profile iconlittleDave hat folgendes geschrieben Zum zitierten Posting springen:
PS: die einzelnen Progrämmchen nennen sich Widgets, nicht Wickets :zwinker:

Und siehe da: Das oberflächliche Lesen hat nur Vorteile: Man ist schneller fertig, man hat immer 'was zu lachen.. :lol:

Also irgendwo habe ich doch schonmal ein Programm gesehen, das die SB drin hatte.. sollte das etwa mit Indy-Komponenten aus dem Seitenquelltext extrahiert sein :?:

Also Größenverstellbarkeit wäre für mich so ziemlich Pflichtprogramm, da sich die widgets gut in die Desktop-Umgebung integrieren lassen müssen.

Könnte man nicht das Bild neu Skalieren, dann? Kann ich mir ehrlichgesagt nicht vorstellen, dass das unmöglich ist :zwinker:

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
littleDave Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 111
Erhaltene Danke: 2

Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
BeitragVerfasst: Sa 04.10.08 22:00 
user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
Also irgendwo habe ich doch schonmal ein Programm gesehen, das die SB drin hatte.. sollte das etwa mit Indy-Komponenten aus dem Seitenquelltext extrahiert sein :?:

Klar, möglich ist das schon. Kannst ja selbst ein Widget erstellen, dafür ist der Editor ja da. Ich bin nicht so der Fan von Quelltext auslesen.

user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
Also Größenverstellbarkeit wäre für mich so ziemlich Pflichtprogramm, da sich die widgets gut in die Desktop-Umgebung integrieren lassen müssen.

Könnte man nicht das Bild neu Skalieren, dann? Kann ich mir ehrlichgesagt nicht vorstellen, dass das unmöglich ist :zwinker:

Ich ich kenne keine andere Widget Engine, wo sowas geht.
Im Prinzip ist das schon möglich, jedoch ist es ein etwas größerer Aufwand. Zum einen haben die Widgets keinen Rahmen und die Widgets sind auch nicht über einen einfaches "Transparent-Color" realisiert - sonst hätt ich keine "Halbtransparenz". Also müsst ich extra ein kleines Fenster erstellen, in dem man das jeweilige Widget verkleinern/vergrößern kann. Das bedeutet extrem viel Aufwand und die meisten würden das wahscheinlich nicht benutzen.
Das mit dem Bild im nachhinein verkleinern/vergrößern ist wirklich das geringste Problem, auch von Realisierung der Skalierung her (MouseEvent-Koordinaten umrechnen usw) ist auch nur ein round(x*ScaleX), jedoch das Drummherum ist für extrem aufwendig und den Kosten-Nutzen-Faktor find ich jetzt noch nicht so dolle.

Ich werds mir mal aufschreiben, vielleicht fällt mir noch eine gute Möglichkeit ein.
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 04.10.08 22:30 
user profile iconlittleDave hat folgendes geschrieben Zum zitierten Posting springen:
Ich werds mir mal aufschreiben, vielleicht fällt mir noch eine gute Möglichkeit ein.

Gut, danke :)

E: Wollte dich damit nicht auffordern, das über den Seitenquelltext zu machen ;) Hab' nur laut gedacht.

E2: Ich hab' mal Gegooglet. Gibt es eine bestimmte Kategorie von Widges, mit denen dein Programm kompatibel ist?

Was dürfen Widges alles mit deinem Scipt? Sind ja Open Source, insofern droht da weniger Gefahr. Aber könnte ein Widge(ist das die Einzahl?^^), dem ich einmal Zugriff aufs Internet gestattet habe, beliebige Systemdaten versenden oder sogar als Keylogger fungieren?

Eine Funktion, die ich nicht gefunden habe, ist, wenn ich einem Widge einmal generell Zugriff auf's Internet gestattet habe, ihm diese Rechte wieder wegzunehmen ;)

E3: Ich habe jetzt die Beschreibung im Hauptpost gelesen und auf den zweiten Blick ist es doch etwas verständlicher ;)

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
littleDave Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 111
Erhaltene Danke: 2

Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
BeitragVerfasst: So 05.10.08 12:39 
user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
E2: Ich hab' mal Gegooglet. Gibt es eine bestimmte Kategorie von Widges, mit denen dein Programm kompatibel ist?

Also die anderen sind nicht zu meiner Kompatibel, da diese Java als Script-Sprache benutzen. Somit müsst ich noch einen Java-Compiler sowie einen Java-Interpretor bastelt.

user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
Was dürfen Widges alles mit deinem Scipt? Sind ja Open Source, insofern droht da weniger Gefahr. Aber könnte ein Widge(ist das die Einzahl?^^), dem ich einmal Zugriff aufs Internet gestattet habe, beliebige Systemdaten versenden oder sogar als Keylogger fungieren?

Also mit Hilfe der ScriptEngine sind die Widgets an sich schon extrem eingeschränkt. Man kann nicht einfach mal "uses Windows" hinschreiben und dann hoffen, dass alle Windows-API-Befehle funktionieren. Somit ist eine Art KeyLogger schon mal extrem schwer (ich glaub es ist überhaupt nicht möglich) zu realisieren. Zudem kann man jedem Widget individuell Sachen erlauben/verbieten. Wie du das machst, erklär ich dir im nächsten Quote ;-)

user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
Eine Funktion, die ich nicht gefunden habe, ist, wenn ich einem Widge einmal generell Zugriff auf's Internet gestattet habe, ihm diese Rechte wieder wegzunehmen ;)

Das ist nicht schwer. Wenn du das Popup-Menü des Widgets öffnest (Widget mit der linken Maustaste auswählen, Strg + Rechte Maustaste drückst und dann im Popup-Menü den Eintrag Security Settings auswählst, kannst du die Rechte des ausgewählten Widgets einsehen/ändern.
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: So 05.10.08 13:08 
user profile iconlittleDave hat folgendes geschrieben Zum zitierten Posting springen:
Das ist nicht schwer. Wenn du das Popup-Menü des Widgets öffnest (Widget mit der linken Maustaste auswählen, Strg + Rechte Maustaste drückst und dann im Popup-Menü den Eintrag Security Settings auswählst, kannst du die Rechte des ausgewählten Widgets einsehen/ändern.

Entweder ich bin blind oder es gibt 'ne neue Version ;) Ich schau' mal..

Aso, wer lesen kann ist klar im Vorteil :) Hatte im Menü des Hauptfensters den Widget-Eintrag genommen^^ Sollte aber imho dort auch nochmal möglich sein :zwinker:

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Fighter#1
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 787

Win XP, Ubuntu 8.04
Turbo Delphi 2006, Delphi 2005 Pe, Delphi 5 Pe, Netbeans 6.1, Eclipse, Microsoft VisualC#, Dev C++, PHP, HTML, CSS
BeitragVerfasst: So 05.10.08 13:15 
Hallo =)
mir gefällt das ganze schonmal ziemlich gut =) !!! *g*
Aber ich hab ein riesen Problem! =(
Wenn ich die Widgets auf immer im Hintergrund hab und dann mit [Windowstaste] + [D] zum Desktop komme verschwinden die Widgets.
Das tun sie nicht wenn ich die Widgets auf immer im Vordergrund setze... aber ich möchte sie als Desktop Widgets zu nutzen =/
Wie soll ich das machen?

_________________
Wer andere beherrscht ist stark,
wer sich selbst beherrscht ist mächtig. Lao Tse
littleDave Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 111
Erhaltene Danke: 2

Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
BeitragVerfasst: So 05.10.08 13:27 
user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
Aso, wer lesen kann ist klar im Vorteil :) Hatte im Menü des Hauptfensters den Widget-Eintrag genommen^^ Sollte aber imho dort auch nochmal möglich sein :zwinker:

Ich werd das Menü im Hauptprogramm noch mit dem Popup-Menü synchronisieren


user profile iconFighter#1 hat folgendes geschrieben Zum zitierten Posting springen:
Hallo =)
mir gefällt das ganze schonmal ziemlich gut =) !!! *g*

Das freut mich :)

user profile iconFighter#1 hat folgendes geschrieben Zum zitierten Posting springen:
Aber ich hab ein riesen Problem! =(
Wenn ich die Widgets auf immer im Hintergrund hab und dann mit [Windowstaste] + [D] zum Desktop komme verschwinden die Widgets.
Das tun sie nicht wenn ich die Widgets auf immer im Vordergrund setze... aber ich möchte sie als Desktop Widgets zu nutzen =/
Wie soll ich das machen?

Ich bin ständig am suchen und machen: mit den SetWindowsLong-Konstanten rumspielen oder auf bestimmte Events reagieren, jedoch hab ich es noch nicht geschafft :(. Ich werd aber weitersuchen, irgendwie muss das möglich sein ;-)
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: So 05.10.08 13:39 
Hi,

@Fighter#1: Kann ich bestätigen. Ist aber auch praktisch(*g*), dann kann man sich glatt den ganzen Desktop vollpflastern und trotzdem noch per Win_D ales normal erreichen :mrgreen: (Scherz, wird wohl niemand machen ;))

PS: Könntest du das Syntax-Highlighting in deiner IDE einstellbar zu machen? Das finde ich immer sehr schön, wenn man z.B. einstellen kann, was für die IDE Keywords sind(if, while, ..) und, welche Farbe und welchen Style(bolt, kursiv, ..) Chars, Strings, Schlüsselwörter, Kommentare, etc. haben. Sry, wenn cih Blindfisch mal wider übersehen haben sollte, dass es dieses Feature schon wieder bereits gibt XD

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
littleDave Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 111
Erhaltene Danke: 2

Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
BeitragVerfasst: So 05.10.08 13:55 
user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
PS: Könntest du das Syntax-Highlighting in deiner IDE einstellbar zu machen? Das finde ich immer sehr schön, wenn man z.B. einstellen kann, was für die IDE Keywords sind(if, while, ..) und, welche Farbe und welchen Style(bolt, kursiv, ..) Chars, Strings, Schlüsselwörter, Kommentare, etc. haben. Sry, wenn cih Blindfisch mal wider übersehen haben sollte, dass es dieses Feature schon wieder bereits gibt XD

Nein, dass hast du diesmal nicht übersehen, da es dieses Feature noch nicht gibt ;-). Das wird noch kommen, ganz sicher. Jedoch weiß ich noch nicht, wann.
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: So 05.10.08 14:56 
wie machst du das eig. mit dem Startup-Delay?

E: Wäre schön, wenn bei neuen Wickeds erst einmal ein Standard-Hintergrund da wäre :) Soweit ich das jetzt sehen kann könnte das ja über "Stretched" bei jeder Größe funktionieren.

E2: Hast du mal 'neDoku zu deinen Klassen, z.B. TwgEdit? Ich hab' vieles probiert:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure edClpiboardChanged(Sender: TObject);
begin
  //(Sender as TwgEdit).CopyToClipboard;  //"end" expected, but found ( instead
  //TwgEdit(Sender).CopyToClipboard;  //unknown Identifer "TwgEdit"
  edClipboard.CopyToClipboard;
end;

procedure tmrRefreshEditTimer(Sender: TObject);
begin
  //edClipboard.SelectAll;  //unknown class procedure
  //edClipboard.Clear;  //unknown class procedure
  //edClipboard.Text := '';  //"end" expected, but found := instead
  //eig. soll ja nur danach der Clipboardtext im Edit stehen.. Aber so wird er immer wieder aneinandergereiht :( (statt 'test' 'testtesttestttest..')
  edClipboard.PasteFromClipboard;
end;


E3: Du compillierst die Datei ja, oder(zumindest kann sie weder vom Borland Developer Studio noch von HxD sinnvoll gelesen werden..)?

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
littleDave Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 111
Erhaltene Danke: 2

Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
BeitragVerfasst: So 05.10.08 18:58 
user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
wie machst du das eig. mit dem Startup-Delay?

Mit Sleep(x) :zwinker:

user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
E: Wäre schön, wenn bei neuen Wickeds erst einmal ein Standard-Hintergrund da wäre :) Soweit ich das jetzt sehen kann könnte das ja über "Stretched" bei jeder Größe funktionieren.

:lol: schon wieder Wickeds, diesmal aber mit d
Nen Standard-Hintergrund wäre fatal, weil dadurch nicht mehr genügend Flexibilität vorhanden wäre. Ich denke, dass man so jetzt schon relativ schnell ein Widget erstellen kann

user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
E2: Hast du mal 'neDoku zu deinen Klassen, z.B. TwgEdit? Ich hab' vieles probiert:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure edClpiboardChanged(Sender: TObject);
begin
  //(Sender as TwgEdit).CopyToClipboard;  //"end" expected, but found ( instead
  //TwgEdit(Sender).CopyToClipboard;  //unknown Identifer "TwgEdit"
  edClipboard.CopyToClipboard;
end;

procedure tmrRefreshEditTimer(Sender: TObject);
begin
  //edClipboard.SelectAll;  //unknown class procedure
  //edClipboard.Clear;  //unknown class procedure
  //edClipboard.Text := '';  //"end" expected, but found := instead
  //eig. soll ja nur danach der Clipboardtext im Edit stehen.. Aber so wird er immer wieder aneinandergereiht :( (statt 'test' 'testtesttestttest..')
  edClipboard.PasteFromClipboard;
end;

Ne Doku ist geplant, jedoch schaff ich so viel nicht in kurzer Zeit. Meine Script-Engine kann zwar schon viel, jedoch so Sachen wie (Sender as Tirgendwas) funktioniert noch nicht. Das ganze geht am besten über eine lokale Variable:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure edClpiboardChanged(Sender: TObject);
var aEdit : TwgEdit;
begin
  aEdit := Sender;
  aEdit.CopyToClipboard;
end;

Properties kann die ScriptEngine leider noch nicht, deswegen wird edClipboard.Text := ''; nicht funktionieren. Das geht nur über den Umweg edClipboard.SetText('');

Was aber immer eine große Hilfe ist: die CodeCompletion: Strg + Leertaste.
Noch kurz wegen den Properties: wenn ich in der ScriptEngine eine Property zur Verfügung stelle, dann ist sie immer so deklariert:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
 // diese Property
property [Name]: [Typ]  read F[Name] write F[Name]
// wird in der ScriptEngine zu
function [Name]: [Typ];   procedure Set[Name](value: [Typ]);


user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
E3: Du compillierst die Datei ja, oder(zumindest kann sie weder vom Borland Developer Studio noch von HxD sinnvoll gelesen werden..)?

Jep, der Quelltext wird von meinem selbst geschriebenen Compiler in ByteCode übersetzt, der dann von meinem Interpretor ausgeführt wird.
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: So 05.10.08 19:51 
user profile iconlittleDave hat folgendes geschrieben Zum zitierten Posting springen:
:lol: schon wieder Wickeds, diesmal aber mit d

Ich habe Talent ;)

user profile iconlittleDave hat folgendes geschrieben Zum zitierten Posting springen:
Nen Standard-Hintergrund wäre fatal, weil dadurch nicht mehr genügend Flexibilität vorhanden wäre.

Aber man könnte dieses Standard-Bild doch jederzeit ersetzen :?:

user profile iconlittleDave hat folgendes geschrieben Zum zitierten Posting springen:
CodeCompletion: Strg + Leertaste

Aso :shock: hab' mich schon gewundert, warum die nach'm Punkt nicht automatisch aufgeht^^[/quote]

E: Habe jetzt die Übersicht durchgelesen.. Gibt es etwa kein SelectAll? :shock:
E2: Kann es etwa sein, dass dieses Edit noch ncihtmal markiert werden kann?^^ also manuell mit der Maus hab' ich's nicht geschafft. Das wär' ja aber ein dicker Hund -.-

E3: So, fertig :) Da das hier so gut in den Thread passt, will ich hier mal gleich mein neustes Projekt vorstellen, ein Widget zur Steuerung des Clipboard-Inhalts(ausschließlich als String).

Das ganze ist Open Source und basiert auf der "Desktop Widget Engine" von littleDave, vielen Dank :D

Ich habe erstmal noch keine Bilder reingeladen, werde ich bei Gelegenheit nachholen :)

E4: Sollte es wirklich keine andere Möglichkeit geben, an das Clipboard zu kommen als mit einem TwgEdit :?:

E5: Upload entfernt, unten die neue Version angehängt.

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)


Zuletzt bearbeitet von Hidden am So 05.10.08 22:30, insgesamt 1-mal bearbeitet
littleDave Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 111
Erhaltene Danke: 2

Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
BeitragVerfasst: So 05.10.08 22:09 
user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
E: Habe jetzt die Übersicht durchgelesen.. Gibt es etwa kein SelectAll? :shock:
E2: Kann es etwa sein, dass dieses Edit noch ncihtmal markiert werden kann?^^ also manuell mit der Maus hab' ich's nicht geschafft. Das wär' ja aber ein dicker Hund -.-

Leider nein, mein Edit unterstützt selektierten Text noch nicht. Aber das Nachrüsten ist für mich nicht schwer. Steht schon auf meiner Liste

user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
E3: So, fertig :) Da das hier so gut in den Thread passt, will ich hier mal gleich mein neustes Projekt vorstellen, ein Widget zur Steuerung des Clipboard-Inhalts(ausschließlich als String).
Das ganze ist Open Source und basiert auf der "Desktop Widget Engine" von littleDave, vielen Dank :D
Ich habe erstmal noch keine Bilder reingeladen, werde ich bei Gelegenheit nachholen :)

Ui *freu* das erste externe Widget *g*. Hab ich gleich mal runtergeladen und angeschaut - funktioniert prima, doch nen Hintergrund wäre doch relativ wünschenswert. Wenn du mir es erlaubst, erweitere ich das Widget von dir noch.

user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
E4: Sollte es wirklich keine andere Möglichkeit geben, an das Clipboard zu kommen als mit einem TwgEdit :?:

Nein, leider gibt es noch keine andere Möglichkeit an das Clipboard razukommen. Mal schauen, was sich da noch machen lässt ;-)

@All:
Ich habe gerade eine neue Version hochgeladen.

Es gibt jetzt einen neuen Widget-Form-Style: Desktop-Icon. Wenn dies aktiviert ist, ist das Widget immer im Hintergrund, minimiert sich bei einem Druck auf Win + D nicht. Somit wäre schon mal Fighters Problem behoben ;-)

Download sowie der komplette ChangeLog befindet sich im ersten Post
Grüße
Dave