Forum | | | | E.T. | Folgendes (Ein- / Ausblenden) läuft im Interpreter völlig sauber, in der Exe "ruckelt" das Ausblenden (CProfan 11.2 & 12ß): "Minimalbeispiel":
KompilierenMarkierenSeparierenDeclare Static&, A_Button&, E_Button&, Ende_Button&, Schluss%
Proc Einblenden
Parameters WAS&,Anfang&,Ende&
WhileLoop Anfang&,Ende&,-1
SetWindowPos Was& = 0,&loop - %MaxX,100
sleep 1
EndWhile
EnableWindow A_Button&,1
EnableWindow E_Button&,0
EndProc
Proc Ausblenden
Parameters WAS&,Anfang&,Ende&
WhileLoop Anfang&,Ende&
SetWindowPos Was& = 0,&loop - %MaxX,100
sleep 1
EndWhile
EnableWindow A_Button&,0
EnableWindow E_Button&,1
EndProc
WindowStyle 64
Window 0,0 - 1,1
CLS @RGB(0,0,0)
SetWindowPos %HWnd = 0,0 - %MaxX,%MaxY
@SetActiveWindow(%HWnd)
Static& = @Control("Dialog","",$54000000,0,Height(%HWnd)-100,@Width(%HWnd), 100,%HWnd,1000,%HInstance,$10000)
A_Button& = @Create("Button",%HWnd,"AUS-blenden",10,10,100,25)
E_Button& = @Create("Button",%HWnd,"EIN-blenden",100,50,100,25)
EnableWindow E_Button&,0
Ende_Button& = @Create("Button",%HWnd,"ENDE",200,100,100,25)
Clear Schluss%
WhileNot Schluss%
waitinput
If @Clicked(A_Button&)
Ausblenden Static&,Height(%HWnd)-100,Height(%HWnd)
ElseIf @Clicked(E_Button&)
Einblenden Static&,Height(%HWnd),Height(%HWnd)-100
ElseIf @Clicked(Ende_Button&)
Schluss% =1
EndIf
EndWhile
end
|
| | | Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 19.09.2010 ▲ |
| |
| | | Liegt am Sleep, bei dieser Verwendung würde vlt. ein WaitInput 1 einen "gleicheren" Ablauf liefern. |
| | | | |
| | E.T. | Jo, hilft. Bleibt nur die Frage: Warum kanns der Interpreter "sauber" und die Runtime nicht. |
| | | Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 19.09.2010 ▲ |
| |
| | | Beide machens schon richtig, bei der Exe hat Windows nur seltener die Chance anzuzeigen. ^^ |
| | | | |
| | Andreas Miethe
| Dazu habe ich auch noch einen. Ich habe Dein Beispiel etwas abgewandelt. Du kannst hier Richtung und Zeit auch noch angeben, und das beste daran Windows regelt das für Dich. KompilierenMarkierenSeparieren $H windows.ph
Declare Static&, A_Button&, E_Button&, Ende_Button&, Schluss%
Proc Hide
Parameters wnd&,Time&,Richtung&
~AnimateWindow(wnd&,Time&,~AW_SLIDE | ~AW_HIDE | Richtung&)
EnableWindow A_Button&,0
EnableWindow E_Button&,1
EndProc
Proc Show
Parameters wnd&,Time&,Richtung&
~AnimateWindow(wnd&,Time&,~AW_SLIDE | Richtung&)
EnableWindow A_Button&,1
EnableWindow E_Button&,0
EndProc
Proc Kill
~AnimateWindow(%hwnd,500,~AW_HIDE | ~AW_BLEND)
EndProc
WindowStyle 64
Window 0,0 - 1,1
CLS @RGB(0,0,0)
SetWindowPos %HWnd = 0,0 - %MaxX,%MaxY
@SetActiveWindow(%HWnd)
Static& = @Control("Dialog","",$54000000,0,Height(%HWnd)-100,@Width(%HWnd), 100,%HWnd,1000,%HInstance,$10000)
A_Button& = @Create("Button",%HWnd,"AUS-blenden",10,10,100,25)
E_Button& = @Create("Button",%HWnd,"EIN-blenden",100,50,100,25)
EnableWindow E_Button&,0
Ende_Button& = @Create("Button",%HWnd,"ENDE",200,100,100,25)
Clear Schluss%
WhileNot Schluss%
waitinput
If @Clicked(A_Button&)
Hide(Static&,250,~AW_CENTER)'zur Mitte ausblenden
' Hide(Static&,250,~AW_HOR_POSITIVE)'nach rechts ausblenden
' Hide(Static&,250,~AW_HOR_NEGATIVE)'nach links ausblenden
' Hide(Static&,250,~AW_VER_POSITIVE)'nach unten ausblenden
' Hide(Static&,250,~AW_VER_NEGATIVE)'nach oben ausblenden
ElseIf @Clicked(E_Button&)
Show(Static&,250,~AW_CENTER)'von der Mitte einblenden
' Show(Static&,250,~AW_HOR_NEGATIVE)'von rechts einblenden
' Show(Static&,250,~AW_HOR_POSITIVE)'von links einblenden
' Show(Static&,250,~AW_VER_NEGATIVE)'von unten einblenden
' Show(Static&,250,~AW_VER_POSITIVE)'von oben einblenden
ElseIf @Clicked(Ende_Button&)
Kill()
Schluss% =1
EndIf
EndWhile
end
|
| | | 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 : [...] | 19.09.2010 ▲ |
| |
| | | Sehr cool, an solchen APIs sieht man immer wieder das die Windows-Macher auch für Spaß an der Arbeit Zeit haben müssen. |
| | | | |
| | Andreas Miethe
| Ja, genau ! Für so was haben sie Zeit, statt sich um wichtige Sachen zu kümmern |
| | | 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 : [...] | 19.09.2010 ▲ |
| |
|
AntwortenThemenoptionen | 2.260 Betrachtungen |
ThemeninformationenDieses Thema hat 3 Teilnehmer: |