Modul MouseOver

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Re: Modul MouseOver

Beitrag von PureLust »

techniker hat geschrieben:Welche Funktion erfüllt die folgende Zeile in der Init-Routine..?

Code: Alles auswählen

If PB_Object_EnumerateNext(PB_Window_Objects, @window)
.... Jedoch habe ich (bei?) diesen undokumentierten Befehlen etwas Bauchweh.. /:->
Das ist im Grunde ein interner PB-Befehl den Du in der SDK-Beschreibung findest (in Deinem PB-Verzeichnis unter \SDK\VisualC\PureLibraries\Object\Object.h).

Was Du mit den 'PB_Object_Enumerate...' Befehlen machen kannst, ist im Grunde alle Gadgets aufzulisten, die bisher definiert wurden.

Wie Du im Code sehen kannst, wird die Auflistung der Gadgets mit 'PB_Object_EnumerateStart(PB_Gadget_Objects)' gestartet.
Durch PB_Object_EnumerateNext(PB_Gadget_Objects, @gadget) wird das nächste Gadget abgerufen.
Im Falle, dass Du die Auflistung vor erreichen des Endes abbrechen willst, solltest Du PB_Object_EnumerateAbort(PB_Gadget_Objects) aufrufen.

Du kannst Dir das so in etwa wie eine ForEach-Schleife bei LinkedLists vorstellen.
Oder noch genauer (falls Du das kennst), wie bei ExamineDirectory(), NextDirectoryEntry(), FinishDirectory() .


PS: Hab gerade gesehen, dass Du die Zeilen in der Init-Routine auskommentiert hast.
Die solltest Du besser wieder aktivieren ... ich schätze mal die hatte schon ihren Sinn. :mrgreen:
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
Benutzeravatar
techniker
Beiträge: 160
Registriert: 27.01.2016 11:08
Wohnort: BY

Re: Modul MouseOver

Beitrag von techniker »

PureLust hat geschrieben:PS: Hab gerade gesehen, dass Du die Zeilen in der Init-Routine auskommentiert hast.
Die solltest Du besser wieder aktivieren ... ich schätze mal die hatte schon ihren Sinn. :mrgreen:
..genau das wäre konkret meine Frage - Welchen Sinn hat diese? :mrgreen:
Never change a running system - Never run a changed system!
(PB 6.03 LTS [x86])
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: Modul MouseOver

Beitrag von Bisonte »

Purelust schrieb schon : Es listet alle Fenster auf.

In deinem Fall wird jedes Window aufgerufen und ein Timer angehängt.
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
mk-soft
Beiträge: 3695
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Modul MouseOver

Beitrag von mk-soft »

ParentWindow und ParentGadget wird leider nicht von Purebasic unterstützt.
Es ist auch relativ aufwendig diese über API für alle OS umzusetzen.

Habe es mal ohne API mit Hilfe von Listen und Macros umgesetzt.

WindowManager.pbi
http://www.purebasic.fr/german/viewtopi ... =8&t=27970
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
Sicro
Beiträge: 955
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: Modul MouseOver

Beitrag von Sicro »

Code im CodeArchiv unter Gadgets/Modul_MouseOver[WIN,LIN].pbi aktualisiert.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Modul MouseOver

Beitrag von RSBasic »

[OT]
Schön, dass du das alles hinzufügst. Danke :allright:
[/OT]
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten