wSkin Titlebar Skinning Library



  • hi,

    vielleicht habt ihr mal lust euch meine Titlebar Skinning Lib
    anzusehen. Sie verändert das aussehen der Titelbar und auch das
    von MessageBox`n und Dialog-fenster.
    Es sind ein paar Skins dabei, das Silver.wss gefällt mir am besten.

    Schaut euch die Readme.txt an, da steht drin wie`s funktioniert.

    Danke!!!



  • Irgendwas hast du vergessen



  • 😃



  • oh schei**** *gg*
    wskin.de.to



  • Mit der Lizenz wirste nicht weit kommen.
    Zudem ist kein Source Code vorhanden.
    Und nur als .dll ist auch schlecht.

    Bau es so, dass es einfach in wxWidgets zu integrieren ist.
    Nutze die gleiche Lizenz.
    Nutze das wxWidgets Buildsystem so dass ich es als .dll oder static lib bauen kann und auch als debug version.

    Alles andere ist vergebene Liebesmühe Michael.



  • Beschreibung des Projekts + Online-Doku wären auch was.
    Ich lade mir solche Dinge nicht erst runter um lesen zu können was sie alles können/nicht können und wie sie anzuwenden sind.
    Und natürlich mehr Screenshots.



  • Hab grad mal auf die Schnelle versucht das mitgelieferte (nicht ganz
    vollständige) Beispiel mit VS2010 zu kompilieren.

    Den Header mag der Compiler nicht:

    LRESULT CALLBACK DLL_EXPORT wSkinHookProc(int, WPARAM, LPARAM);
      >wskin.h(20): error C2059: Syntaxfehler: '__declspec(dllimport)'
    LRESULT CALLBACK DLL_EXPORT wSkinTitlebar(HWND, UINT, WPARAM, LPARAM);
      >wskin.h(21): error C2059: Syntaxfehler: '__declspec(dllimport)'
    LRESULT CALLBACK DLL_EXPORT wSkinMsgDlg(HWND, UINT, WPARAM, LPARAM);
      >wskin.h(22): error C2059: Syntaxfehler: '__declspec(dllimport)'
    

    Es wäre auch gut, wenn im Beispiel keine Satzzeichen (Semikolons, Klammer u.a.) fehlen würden.



  • hab die dll ein wenig verbessert, schaut euch mal die skins an
    und sagt mir was ihr davon haltet?
    wskin.de.to

    Danke!!!



  • entfernt



  • mike24 schrieb:

    hab die dll ein wenig verbessert, schaut euch mal die skins an
    und sagt mir was ihr davon haltet?
    wskin.de.to

    Leider ist immer noch nicht dokumentiert was denn die Returnwerte bedeuten.

    Source der DLL scheint es nicht zu geben ...

    Musste die DLL wg. fehlender .lib mit LoadLibrary() laden.

    Leider verwendet die DLL statt __stdcall (WINAPI) die __cdecl Konvention,
    was die DLL für einige Programmiersprachen unbrauchbar macht.

    Alle Funktionen werden jedoch scheinbar gefunden und lassen sich aufrufen.

    Bei mir kommt jedoch bei wSkin_Init als Returnwert 0 raus. Es erscheint auch
    nur ein einfaches Fenster. Wenn man draufklickt kommt die Infobox mit Name.

    Wo die .wss Datei genau hin muss steht leider nirgends ..

    Ich habe es im Ordner der .exe versucht.

    👎



  • wo die .wss hin muss?
    das ist eigentlich egal, du musst halt den gesamten pfad angeben, wenn sie nicht im selben ordner liegt.

    der rückgabe wert von allen funktionen ist TRUE oder FALSE...

    und wie gefallen dir die skins ansich?



  • merano schrieb:

    Es erscheint auch nur ein einfaches Fenster. Wenn man draufklickt kommt die Infobox mit Name.

    Die Skins sind ansprechend, leider werden sie mit der dll im Programm
    nicht angezeigt. Dafür kommt jedes mal wenn man mit der Maus ins Fenster
    klickt jeweils eine neue Infobox.

    Habe es mit Win7(x64) und XP mit VS2010 getestet.

    Wenn Du mir den Sourcecode der DLL zukommen lässt sehe ich mal nach was
    da schief läuft.



  • mike24 schrieb:

    TRUE oder FALSE...

    Die Frage wäre Bedeutet 0 == FALSE == Fehler ?

    Dieser Fall liegt bei mir vor. Keine weitere Meldung somit kann ich nicht
    sagen wo das Problem liegt.



  • die infobox kommt nur wenn du das example aus der readme benutzt, dass soll
    ja uch nur ein anschauungs code sein.



  • mike24 schrieb:

    die infobox kommt nur wenn du das example aus der readme
    benutzt, dass soll ja uch nur ein anschauungs code sein.

    Ja das ist wohl klar ..

    Ja zum einen deutet es darauf hin, das die DLL richtig geladen wurde zum
    anderen müsste das Fenster ja nicht mehrfach angezeigt werden.

    Dokumentation der Funktionen und Rückgabewerte wäre auch wichtig.

    Das die .wss mit gesamten pfad angeben werden kann oder ansonsten
    "im selben" Ordner liegen soll hast Du ja nun verraten.

    1. Mit "selben" ist das Verzeichnis der exe oder das CurrentDirectory gemeint ?

    2. TRUE und FALSE helfen nichts wenn man nicht dokumentiert was es bedeutet.
    FALSE = kein Fehler, oder FALSE = Fehler wäre beides denkbar.

    Was läuft denn bei der dll noch schief ?



  • hi,

    hab ne neue version hochgeladen die auch einige controls skint.
    es gibt auch noch ne neue funktion wSkin_LoadSkin
    mit der man das skin zur laufzeit des programmes ändern kann.
    alle funktionen geben 1 zurück, wenn alles geklappt hat und 0
    wenn was schief gelaufen ist.

    allerdings funkz wSkin nur wenn in der client anwendung ein manifest
    eingebunden ist? weiß auch nicht wieso?

    ich könnt euch mal die "wSkin Demo.zip" anschauen. da ist ne test .exe,
    die wSkin.dll und sechs skin files drin.

    Thx!!!
    wskin.de.to



  • mike24 schrieb:

    ich könnt euch mal die "wSkin Demo.zip" anschauen. da ist ne test .exe, die wSkin.dll und sechs skin files drin.

    Nach dem Start der exe kommt nur der Dialog "Fehler in Anwendung":
    Die Anweisung "0x773d4e4b" verweist auf Speicher in "0x0000000028".
    Der Vorgang "read" konnte nicht auf dem Speicher durchgeführt werden.

    Das ganze stürzt in der comctl32.dll ab.

    Da es keinerlei Quelltext, noch nicht mal zum Demoprogramm gibt wars das.

    Anmerkungen:

    1. Es gibt keine Header-Datei
    2. Zur Demo gibts keinen Quelltext
    3. Dokumentation sehr dürftig und nur in englisch (warum ?)
    - Wie baut man die Funktionen in eigene Programme ein ?
    - Welchen Betriebssysteme und Compilern werden unterstützt
    4. Im Gegensatz zu der Version von "damals" hat die neue DLL keine EXPORTS mehr.
    - Die DLL kann also geladen werden, aber wie ruft man Funktionen auf ?

    Wer soll sich denn als Programmierer allen Ernstes mit so einer DLL belasten ?



  • steht doch eh auf der webseite welches betriebssystem... XP/Vista/7

    und die wSkin.h ist doch in der wSkin.zip enthalten?

    das die .exe bei dir nicht geht, kann ich mir nicht erklären, habs sie
    auf XP und 7 getestet und da lief alles ohne probleme.

    ??? was sagen die anderen dazu?



  • mike24 schrieb:

    steht doch eh auf der webseite welches betriebssystem... XP/Vista/7

    und die wSkin.h ist doch in der wSkin.zip enthalten?

    das die .exe bei dir nicht geht, kann ich mir nicht erklären, habs sie
    auf XP und 7 getestet und da lief alles ohne probleme.

    ??? was sagen die anderen dazu?

    Fakt ist das sie so unter XP nicht läuft. Win7 hab ich nicht getestet.

    Header ist tatsächlich vorhanden, wird aber beanstandet:

    VisualStudio 2010 sagt LPCTSTR not defined.

    Fehlt vermutlich #include <WinDef.h>

    Und da stellt sich sofort die nächste Frage UNICODE oder nicht ?

    ->Wenn möglich einfache unkritische Datentypen verwenden (char ?)
    für die Schnittstellen!

    Der Quelltext für ein lauffähiges Beispiel fehlt.

    Habe wSkin_Init in ein Default Win32 Programmgerüst gepackt und mit der
    wSkin.a gelinkt.

    Der Compiler warnt, compiliert aber:

    wSkin.a(d000072.o) : warning LNK4078: Mehrere .text-Abschnitte mit unterschiedlichen Attributen gefunden (E0300020).

    Das Programm sieht dann so aus:

    int result = wSkin_Init(_T("Aron.wss"));
    
    // If the function fails, the return value is 0.
    if(result == 0) {
        MessageBox(NULL, _T("Fehler beim Initialisieren"), _T("Fehler"), MB_OK);
        return FALSE;
    }
    

    Da das result == 0 ist gehts dann nicht weiter.

    Die gute Nachricht ist das es nicht abstürzt ...

    =======

    Habe den Header versuchsweise geändert

    int WSKIN_DLL_EXPORT wSkin_Init(char *szSkin); // Initialized wSkin
    

    und

    int result = wSkin_Init((char *)("Aron.wss"));
    

    Das result ist dann 1. -> Also vermutlich KEIN UNICODE !!

    Danach erscheint dann auch ein Fenster mit blauer Caption.

    Gibts eigentlich auch eine 64 Bit DLL ?



  • hi,

    hab mal ne überarbeitete version hochgeladen. allerdings hab ich das projekt umbenannt in SkinWin.

    skinwin.de.to

    denkt ihr, für das projekt würd ich ein paar euros bekommen?



  • Nein. QT kann das auch und ist quasi kostenlos. Noch dazu kann es das besser mit CSS.


Anmelden zum Antworten