Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

17.11.2008, 10:23

Screenmates programmieren

Kennt jemand eine gute Seite auf der man viel Informationen zum Programmieren von Windows Screenmates bekommt? (vllt mit Tutorials, Codebeispielen)
Vllt hat auch jnd von euch Antworten auf die ein oder andere Frage: :)

- Welche Technologien eigenen sich dafür, bzw. werden im allgemeinen verwendet? (z.b. WS_EX_LAYERED)
- gibt es Developer Librarys dafür, die schon die ein oder andere Funktionalität beinhalten?

Postet bitte einfach mal was ihr darüber wisst. :D Je mehr Infos umso besser.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

2

17.11.2008, 10:38

Du hast Glück..
https://www.spieleprogrammierer.de/phpBB2/viewtopic.php?p=117690#117690

Schau dir mal PHUD an.

Ja. Man benutzt da eigentlich Layered Windows dazu. Damit lassen sich auch schöne Alpha Effekte erzeugen. Allerdings ist Alpha verdammt schlecht unterstützt und man muss ein wenig basteln, wenn man da etwas aufwändigeres machen will.

Eine Lib kenne ich dazu nicht, aber ich könnte ein paar Hilfsfunktionen schreiben, oder wie ich im anderen Forum bereits angeboten habe bei Bedarf auch ein kleines Tutorial dazu schreiben. ( Bist jetzt war anscheinend kein Bedarf da )

3

18.11.2008, 08:58

also tutorial hört sich gut an. könnte auch etwas abgespeckt sein. also code mit paar kommentaren, nicht unbedingt eine schritt für schritt anleitung. so ein grundgerüst, das man je nach wunsch ausbauen kann, aber grundlegende funktionen schon zur verfügung stellt.

ich hätte auf jedenfall großes interesse dran. :D

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

4

18.11.2008, 10:45

Zitat von »"moh_dev"«

also tutorial hört sich gut an. könnte auch etwas abgespeckt sein. also code mit paar kommentaren, nicht unbedingt eine schritt für schritt anleitung. so ein grundgerüst, das man je nach wunsch ausbauen kann, aber grundlegende funktionen schon zur verfügung stellt.

ich hätte auf jedenfall großes interesse dran. :D


Enjoy: ;)
https://www.spieleprogrammierer.de/phpBB2/viewtopic.php?p=118486#118486

5

21.11.2008, 08:58

leider kann ich es nicht komplilieren:
C:\Users\moh\Documents\Visual Studio Projects\Gadget\gadget.cpp(90) : error C2065: 'WS_EX_LAYERED': nichtdeklarierter Bezeichner
C:\Users\moh\Documents\Visual Studio Projects\Gadget\gadget.cpp(160) : error C2039: 'UpdateLayeredWindow': Ist kein Element von 'operator``global namespace'''
C:\Users\moh\Documents\Visual Studio Projects\Gadget\gadget.cpp(161) : error C2065: 'ULW_ALPHA': nichtdeklarierter Bezeichner
C:\Users\moh\Documents\Visual Studio Projects\Gadget\gadget.cpp(160) : error C3861: 'UpdateLayeredWindow': Bezeichner wurde auch mit einer argumentbezogenen Suche nicht gefunden

für mich nicht nachvollziehbar, da WS_EX_LAYERED über windows.h (winuser.h) inkludiert ist und er beim Hovern mit der Maus auch den entsprechnende Hex Wert anzeigt. :shock: Hast du eine Idee woran das liegen könnte? Ahja ich benutze WinVista mit VS.NET2003. (Da müsste das doch ohne Weiteres funktionieren?!) Die Header etc. sind (soweit ich das sehe) alle vorhanden.
Hoffe dir fällt was dazu ein...

6

21.11.2008, 09:48

Hast du die User32.lib mitgelinkt?

7

21.11.2008, 11:19

ist bei den Verzeichnissen unter Extras/Optionen/Projekt inkludiert (Pfad zum Platfrom SDK/Includes bzw. /Lib). Auch wenn ich dem Linker noch zusätzlich den Pfad zu der lib mitteile, lässt es sich nicht kompilieren. :cry:
noch irgendwelche Ideen?

8

21.11.2008, 11:26

so langsam habe ich das Gefühl, dass es an meiner VS.NET2003 Version liegt. Habe folgenden Post im Netz gefunden:

Zitat

Danke, Problem hat sich erledigt....

Hab das Problem selber lösen können....

Für die die es interessiert:

Es gab zwei Probleme und unterschiedliche Lösungsansätze.

Problem 1: Bei meiner veralteten Version vom VC++ war LayeredWindowAttributes noch gar nicht definiert.
nachdem ich mir ne neue Version gezogen und das neuste WinSDK installiert habe klappte es.

Problem 2: Wenn ichs ohne neue IDE gelöst hätte, dann hätte ich die entsprechende Funktion(SetLayeredWindowAttributes) direkt aus der user32.dll
auslesen müssen, einen Funktionsprototypen dafür schreiben und die fehlenden Konstanten selbst definieren müssen.
Is ne Scheißarbeit und für meine bescheidenen Kenntnisse viel zu komplex.

Für die die es interessiert, kann ich den Quellcode für Problem 2 auch noch posten....


:x

Was sagt ihr dazu? Macht das Sinn?!

9

21.11.2008, 11:39

Die Lib(s) sollte unter

Projekteigenschaften - Linker - Eingabe -> Zusätzliche Abhängigkeiten

eingetragen sein

Zitat von »"MSDN"«

Layered Windows.

Requirements
Windows NT/2000: Requires Windows 2000 or later.
Windows 95/98: Unsupported.
Header: Declared in Winuser.h; include Windows.h.
Library: Use User32.lib.

10

21.11.2008, 12:10

Ok habe es so versucht, leider ohne Erfolg. :?

nochmal kurz, was ich alles drin hab, zur Übersicht.
folgende Verzeichnisse sind inkludiert:


unter Extras/Optionen/Projekte/VC++Verzeichnisse

Bibliotheksdateien===================
C:\Program Files\Microsoft Platform SDK\Lib

Includes=========================
C:\Program Files\Microsoft Platform SDK\Include

Projekteigenschaften/Linker/Eingabe/Zusätzl Abh
User32.lib
und auch schon mit Pfad versucht
C:\Program Files\Microsoft Platform SDK\Lib\User32.lib

Werbeanzeige