ComputNik Geschrieben 4. September 2003 Geschrieben 4. September 2003 Hallo, Ja wie der Titel sagt will ich mit (am besten API) eine Anwendung schreiben die Skins hat. Wie z.B. Winamp. Wir müssen in der Schule eine analoge Uhr Programmieren. Verwendet wird Visual Studio 6.0 bin dankbar für Links und empfehlungen über Skins. Wenn jemand noch nen genialen tipp für ne analoge uhr hat würde ich mich auch freuen. Ich weis noch nicht richtig wie ich das mit den Zeigern machen soll. Das Skinn ist aber erstmal wichtiger. thx Zitieren
Guybrush Threepwood Geschrieben 4. September 2003 Geschrieben 4. September 2003 Ich weiß ehrlich gesagt nicht so genau was du dir unter "skin" vorstellst. Bei der Winamp z.b. sind das ja nur ein paar Bilder die die Oberfläche verschieden gestallten. Wenn du sowas machen willst müßtest du ja einfach nur irgendwo ein Bild ablegen was du in deiner Uhr darstellst und gegebenenfalls eine Funktion das Bild auszusuchen. Zitieren
ComputNik Geschrieben 6. September 2003 Autor Geschrieben 6. September 2003 Ich dachte an eine Anwendung die sich nicht an ein 4 Ecken fenster klammert. d.h anstadt eines fensters nur eine runde uhr darstellen. ohne titelleiste etc... winamp hat ja auch keine Windows-typische titelleiste Zitieren
Diablo999 Geschrieben 7. September 2003 Geschrieben 7. September 2003 Runde bzw. beliebig geformte Fenster kannst du mit SetWindowRgn realisieren. Die Funktion braucht ein Regionhandle als Übergabe das du z.B. für ein rundes Fenster von CreateEllipticRgn bekommst. Ich würde an deiner Stelle erstmal das Fenster nur und machen, beliebige Formen sind zwar auch nicht so aufwendig zu realisieren, allerdings musst du die Anordnung der Elemnte in deinem Fenster irgendwo mitspeichern. Das mit den Zeigern könntest du in etwa so machen // nSecond enthält die Sekunden der aktuellen Uhrzeit // Der Umfang des Kreises ist 2PI --> PI*2 / 60 entspricht dem Weg // den der Zeiger zurücklegen muss für 1Sekunde // - PI/2 ist dafür gedacht damit der Zeiger oben anfängt und nicht links x = nSecond * ((PI * 2) / 60) - PI / 2; // Den Endpunkt des Zeigers malen ZeichnePunkt(Cos(x) * 1000 + 1100, Sin(x) * 1000 + 1100); // für Stunden würde das so aussehen x = nHour * ((PI * 2) / 24) - PI / 2; Hoffe das hilft dir... Gruß Diablo999 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.