Seite 1 von 1

Drag&Drop in externes Fenster

Verfasst: 01.04.2008 19:13
von Stefen.R
Hallo,
ich habe mal ein Frage, ist es irgendwie möglich ein Icon oder eine kleine Grafik von PB in ein anderes Windows Programm bzw. auf dessen Fenster zu ziehen.

Gruss Stefen

Verfasst: 01.04.2008 19:18
von NicTheQuick
Ja, mit der neuen Drag&Drop-Library in V4.20 beta 2.

Verfasst: 01.04.2008 19:18
von Vermilion
Kommt drauf an, wie du es meinst. Stichwort PureBasic Hilfe: Drag'n'Drop Befehlsbibliothek.

Edit: biste 3 Sekunden schneller gewesen <) In PureBasic 4.10 in D'n'D aber auch schon drin.

Verfasst: 01.04.2008 19:26
von Stefen.R
Ich möchte in PB ein Fenster mit drei kleinen Icons haben, diese möchte ich auf ein Spielfenster eines anderen Programms ziehen um damit das jeweilige Spielfenster eindeutig durch dieses Icon zu markieren.
Das Icon sollte dann auch auf dem Fenster verbleiben.

Verfasst: 01.04.2008 19:42
von NicTheQuick
Das geht so einfach nicht.

Dazu müsstest du Zugriffsrechte auf den Prozess des Spiels haben, dort das
richtige Fenster oder Unterfenster (Child) finden und dort mittels API ein
Gadget plazieren, dass dir dein Bild anzeigt. Wenn das Spiel mit DirectX oder
OpenGL läuft, wird das ganze allerdings noch komplizierter.

Was mir gerade einfällt, wäre auch folgendes:
Du erstellt ein neues Borderless-Fenster, das nur dieses Icon anzeigt und das
plazierst du dann über dem Spielefenster. Mittels 'EnumWindow_()' oder 'FindWindow_()' kannst du ja das entsprechenden Spielefenster finden und
die Koordinaten auslesen. Dann setzt du dein Borderless-Window einfach
ontop, solange das zugehörige Spielefenster-Handle gleich
'GetForegroundWindow_()' ist, sonst setzt du es normal. Dabei musst du
natürlich beachten, dass du dein Borderless-Window auch mitverschieben
musst, wenn sich die Koordinaten des Spielefensters ändern.

Klingt kompliziert, ist aber wahrscheinlich gar nicht so schlimm. Mit
'WindowFromPoint_()' (oder so ähnlich) kriegt man auch schonmal schnell
das Fenster unterm Cursor.

Verfasst: 01.04.2008 20:06
von Stefen.R
Danke, hast mir schon geholfen !
Wusste, das es wohl doch nicht "so" einfach wird.
Ich werde aber die erste Variante bevorzugen, da ich sowieso diverse Eingriffe in den Speicher mache bzw. aus dem Window einiges auslesen muss.

Danke Stefen.