Français
Source/ Codesnippets

Animierte la fenêtre

 

Andreas
Miethe


une kleine Spielerei avec Windows
KompilierenMarqueSéparation
#####################################
animierte Fenster
und
Fenster-Eigenschaften ( Properties )
XProfan
ab Windows 98 und W2K
#####################################
Andreas Miethe * Juni 2004
#####################################
SET("FastMode",1)
 $H windows.ph
 $H messages.ph
Declare OldWindowProc&,BackBrush&
Declare Ende&,Button1&,Button2&

Proc ButtonCallback

    Parameters Wnd&, Msg&, wParam&, lParam&

    IF Msg& = ~WM_LBUTTONDOWN

        SetText Wnd&,"Autsch"

    Endif

    IF Msg& = ~WM_LBUTTONUP

        SetText Wnd&,"Klick"

    Endif

    Return ~CallWindowProc(~GetProp(Wnd&,"OldCallback"),Wnd&, Msg&, WParam&, LParam&)

EndProc

Proc WindowCallback

    Parameters Wnd&, Msg&, wParam&, lParam&

    If Msg& = ~WM_COMMAND

        If lParam& = Button1&

            If ~IsWindowVisible(Button2&) = 0

                ~SetWindowPos(Button2&,0,10,40,80,24,~SWP_HIDEWINDOW)
                ~AnimateWindow(Button2&,400,~AW_ACTIVATE | ~AW_SLIDE | ~AW_HOR_POSITIVE)

            Endif

        Endif

        If lParam& = Button2&

            SendMessage(Wnd&,~WM_CLOSE,0,0)

        Endif

    Endif

    If Msg& = ~WM_CLOSE

        ~RemoveProp(Button2&,"OldCallback")
        ~AnimateWindow(Wnd&,400,~AW_HIDE | ~AW_SLIDE | ~AW_VER_NEGATIVE)
        ~DeleteObject(Backbrush&)
        ~PostQuitMessage(0)Programm-Ende

    Endif

    Return ~CallWindowProc(OldWindowProc&,Wnd&, Msg&, WParam&, LParam&)

EndProc

WindowStyle 31
Window %Maxx+1,0 - 640,480
CLS ~GetSysColor(~COLOR_BTNFACE)
BackBrush& = ~CreateSolidBrush(~GetSysColor(~COLOR_BTNFACE))
~SetClassLong(%hwnd,~GCL_HBRBACKGROUND,BackBrush&)
OldWindowProc&= ~SetWindowLong(%hwnd,~GWL_WNDPROC, ProcAddr(WindowCallback,4))
SetDialogFont ~GetStockObject(~DEFAULT_GUI_FONT)
Button1& = Create("BUTTON",%hwnd,"Klick",10,10,80,24)
Eigenschaft "OldCallback" setzen ( in diesem Fall wird das "alte" Callback gesichert )
das spart eine globale Variable
~SetProp(Button1&,"OldCallback",~SetWindowLong(Button1&,~GWL_WNDPROC, ProcAddr(ButtonCallback,4)))
Button2& = Create("BUTTON",%hwnd,"Ende",0,0,0,0)
ShowWindow(Button2&,0)
~SetWindowPos(%hwnd,0,0,0,640,480,~SWP_SHOWWINDOW)

Whilenot Ende&

    
put Endwhile
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
06.06.2004  
 




p.specht

... pour XProfan11.2a
'#####################################
'Animierte Fensterelemente  et
'la fenêtre-Eigenschaften ( Properties )
'XProfan ab Windows 98 et W2K
'#####################################
'Andreas Miethe * juin 2004
'#####################################
SET("Fastmode",1)
 $H windows.ph
 $H messages.ph
Déclarer OldWindowProc&,BackBrush&
Déclarer Ende&,Button1&,Button2&

Proc ButtonCallback

    Paramètres Wnd&, Msg&, wParam&, lParam&

    IF Msg& = ~WM_LBUTTONDOWN

        SetText Wnd&,"Autsch"

    Endif

    IF Msg& = ~WM_LBUTTONUP

        SetText Wnd&,"Klick"

    Endif

    Retour ~CallWindowProc(~GetProp(Wnd&,"OldCallback"),Wnd&, Msg&, WParam&, LParam&)

ENDPROC

Proc WindowCallback

    Paramètres Wnd&, Msg&, wParam&, lParam&

    Si Msg& = ~WM_COMMAND

        Si lParam& = Button1&

            Si ~IsWindowVisible(Button2&) = 0

                ~SetWindowPos(Button2&,0,10,40,80,24,~SWP_HIDEWINDOW)
                ~AnimateWindow(Button2&,400,~AW_ACTIVATE | ~AW_SLIDE | ~AW_HOR_POSITIVE)

            Endif

        Endif

        Si lParam& = Button2&

            SendMessage(Wnd&,~WM_CLOSE,0,0)

        Endif

    Endif

    Si Msg& = ~WM_CLOSE

        ~RemoveProp(Button2&,"OldCallback")
        ~AnimateWindow(Wnd&,400,~AW_HIDE | ~AW_SLIDE | ~AW_VER_NEGATIVE)
        ~DeleteObject(Backbrush&)
        ~PostQuitMessage(0)'Programme-Ende

    Endif

    Retour ~CallWindowProc(OldWindowProc&,Wnd&, Msg&, WParam&, LParam&)

ENDPROC

Fenêtre Style 31
Fenêtre %Maxx+1,0 - 640,480
CLS ~GetSysColor(~COLOR_BTNFACE)
BackBrush& = ~CreateSolidBrush(~GetSysColor(~COLOR_BTNFACE))
~SetClassLong(%hwnd,~GCL_HBRBACKGROUND,BackBrush&)
OldWindowProc&= ~SetWindowLong(%hwnd,~GWL_WNDPROC, ProcAddr(WindowCallback,4))
SetDialogFont ~GetStockObject(~DEFAULT_GUI_FONT)
Button1& = Créer("BUTTON",%hwnd,"Klick",10,10,80,24)
'qualité "OldCallback" mettons ( dans diesem le cas wird cela "alte" Callback gesichert )
'cela spart une globale Variable
~SetProp(Button1&,"OldCallback",~SetWindowLong(Button1&,~GWL_WNDPROC, ProcAddr(ButtonCallback,4)))
Button2& = Créer("BUTTON",%hwnd,"Ende",0,0,0,0)
ShowWindow(Button2&,0)
~SetWindowPos(%hwnd,0,0,0,640,480,~SWP_SHOWWINDOW)

Whilenot Ende&

    waitinput

Endwhile


P.S.: peux on den Prettyfier irgendwie einbremsen?
 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
18.02.2019  
 



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

5.708 Views

Untitledvor 0 min.
Member 862464112.05.2024
Axel Berse02.11.2023
Stefan8107.05.2021
p.specht18.04.2021
plus...

Themeninformationen

cet Thema hat 2 participant:

p.specht (1x)
Andreas Miethe (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