Français
Source/ Codesnippets

Erzeugen la fenêtre Rundes

 

KompilierenMarqueSéparation
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Rundes Fenster erzeugen
Lauffähig ab Profan-Version 5.0
PRFellow - Vorlage
Zeigt, wie man ein rundes Fenster simuliert
Autor: Thomas Hölzer
Benötigt Profan 6.0 (32)
Def CreateEllipticRgn(4) !GDI32,CreateEllipticRgn
Def DeleteObject(1) !GDI32,DeleteObject
Def InvertRgn(2) !GDI32,InvertRgn
Def PaintRgn(2) !GDI32,PaintRgn
Def SetWindowRgn(3) !USER32,SetWindowRgn
Def ReleaseCapture(0) !USER32,ReleaseCapture

Proc DrawTime

    Declare t$
    Rectangle 120,140-190,160
    Let t$=Time$(0);:;Left$(Time$(1),2)
    DrawText 120,140,t$

EndProc

Declare ende%,rgn&,x%,move%
SetTrueColor 1
WindowStyle $78
WindowTitle Rundes Fenster
Window 0,0-300,300
Let rgn&=CreateEllipticRgn(0,0,300,300)
SetWindowRgn(%hwnd,rgn&,1)
Cls RGB(0,0,255)
UseFont Arial,20,0,0,0,0
UseBrush 1,RGB(0,0,255)
UsePen 5,0,0
TextColor RGB(255,255,255),-1
DrawText 80,80,Rechte Maustaste!
DrawTime
SetTimer 1000

WhileNot ende%

    WaitInput

    If %wmTimer

        DrawTime

        If move%

            SetWindowPos %hwnd=x%,0-300,300
            Add x%,10
            Case Gt(x%,%maxX):Let x%=0

        EndIf

    EndIf

    If Equ(%message,$204)

        CreateMenu
        AppendMenu 1, &Invertieren

        IF move%

            AppendMenu 2,&Anhalten

        Else

            AppendMenu 2, B&ewegen

        EndIf

        AppendMenu 3,&Farbe ändern
        Separator
        AppendMenu 4,&Beenden
        TrackMenu %MouseX,%MouseY

        If MenuItem(1)

            InvertRgn(%hdc,rgn&)

        Elseif Menuitem(2)

            Let move%=Not(move%)

        ElseIf MenuItem(3)

            Randomize
            Mit Region-Funktion:
            UseBrush 1,RGB(Rnd(256),Rnd(256),Rnd(256))
            PaintRgn(%hdc,rgn&)
            Das tuts freilich auch...
            Cls RGB(Rnd(256),Rnd(256),Rnd(256))
            DrawTime

        ElseIf MenuItem(4)

            Let ende%=1

        Endif

    Elseif Equ(%message,$201)

        UseCursor 5
        Sendmessage(%hwnd,$0112,$0F012,0);
        UseCursor 0
        ReleaseCapture()

    EndIf

Wend

KillTimer
SetWindowRgn(%hwnd,0,0)
DeleteObjectss=s2>(rgn&)
Fin
 
16.07.2007  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.933 Views

Untitledvor 0 min.
Michael Hettner21.09.2023
Frank16.04.2021
AndreasS27.11.2018
Tango21.07.2017
plus...

Themeninformationen

cet Thema hat 1 participant:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie