| |
|
|
Uckermann | Ciao, ich habe schon überall gesucht, habe momentan leider auch keine Idee, wie ich eine horizontale Laufschrift (analog dem marquee in html) aufsetze. |
|
|
| |
|
|
|
| Verschoben, falsches Foro.
Laufschrift ist mit HTML nicht possibile, mit JS (JavaScript) schon. Google nach JS Laufschrift. |
|
|
| |
|
|
|
Carlo Keil | Holzhammerlösung per reines Profan (vielleicht fällt jemand ja noch etwas eleganteres ein): 1. Memory-Bitmap anlegen 2. Memory-Bitmap mit dem gewünschten Text beschreiben 3. Bitmap-Ausschnitt mit Anfang des Textes aus der Memory-Bitmap ins Fenster kopieren 4. Nächsten Bitmap-Ausschnitt aus der Memory-Bitmap (1 Pixel weiter rechts anfangen) ins Fenster kopieren (naturalmente circa die erste Kopie drüber) 5. Schritt 4 solange wiederholen, bis dir die Pixel ausgehen
HTH Carlo |
|
|
| |
|
|
|
Uckermann | Hallo If, ich meinte naturalmente in einem Fenster unter Xprofan. Ein String mit mehreren Zeichen soll größt possibile dargestellt werden. Da nicht alle Zeichen in dieser Dimensione angezeigt werden können, sollen diese Zeichen als Laufschrift angezeit werden. Bei einem ständig nicht gleichen wechselten Text.
Saluto Michael Uckermann |
|
|
| |
|
|
|
| @Hallo Michael Hier ein Text von Thomas Hölzer (denke mal, der ist frei) Als Anfang ist der Code ganz gut KompilierenMarkierenSeparierenPRFellow-Vorlage
Autor: Thomas Hölzer, 1998
Ein einfacher Lauftext
Def Sleep(1) !"KERNEL32","Sleep"
Proc LaufText
Parameters delay%,txt$
SetTimer delay%
While Neq(Len(txt$),0)
Sleep(delay%)
WaitInput
Let txt$=Del$(txt$,1,1)
StartPaint GetActiveWindow()
DrawText 0,20,Add$(txt$," ")
EndPaint
Angehängter Leerstring verhindert "Schmierspuren"
Wend
KillTimer
EndProc
Beispiel
Cls
UseFont "ARIAL",16,0,0,0,0
LaufText 100,"Bei diesem Verfahren ist es schwierig, den Text weich scr zu lassen."
|
|
|
| |
|
|
|
Jac de Lad | Oder mit der SKControl.dll. Die ist fabelhaft! |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 24.01.2007 ▲ |
|
|
|
|
| Büdde - sogar in echtzeit , soll heissen, egal wie schnell der Rechner ist - der Text wird immer gleichschnell scrollen - und im Gegensatz zu Marquee auch noch flimmerfreier, dennoch sicherlich an x Stellen zu optimieren habs nur hingepinselt. KompilierenMarkierenSeparieren!{$cleq}
const outptxt="Hallo Welt"
windowstyle 80
cls
showmax
mcls maxx,maxy
startpaint -1
usefont "Arial",100,0,0,0,0
textcolor 0,-1
long twidth=TextWeite(outptxt,nul)
endpaint
long scrollwidth=maxx+twidth
whilenot iskey(27) {
startpaint -1
cls $00FFFFFF
drawtext maxx-mod(gettickcount/10,scrollwidth),100,outptxt
endpaint
mcopybmp 0,100 - maxx,100>0,100;0
}
end
Proc TextWeite Autor: Gerhard Putschalka, leicht abgeändert iF
Parameters T$,Prt_Ctl%
Declare Z$,Adr&,Adr1&,Leng&
Let Z$ = "000000" wichtig ab Profan 7.x !
Let Adr&=@If(@LT$(@Left$($PROFVER,1),"7"),@Add(@Addr(T$),1),@Addr(T$))
Let Adr1&=@If(@LT$(@Left$($PROFVER,1),"7"),@Add(@Addr(Z$),1),@Addr(Z$))
GetTextExtentPoint32A(%HDC,Adr&,@Len(T$),Adr1&)
Let Leng&=@Long(Adr1&,0)
Let Leng&=@If(@Equ(Prt_Ctl%,1),(@Long(Adr1&,0)/10),@Long(Adr1&,0))
Return Leng&
EndProc
bzw. per nonXPSEler: KompilierenMarkierenSeparierenDECLARE __cf1&
Def __cf1(2) !"KERNEL32","GetProcAddress"
Def __cf2(1) !"KERNEL32","GetModuleHandleA"
__cf1&=__cf1(__cf2("gdi32.dll"),"GetTextExtentPoint32A")
WINDOWSTYLE 80
CLS
SHOWMAX
MCLS %MAXX,%MAXY
STARTPAINT -1
USEFONT "Arial",100,0,0,0,0
TEXTCOLOR 0,-1
var TWIDTH&=TEXTWEITE("Hallo Welt",0)
ENDPAINT
var SCROLLWIDTH&=%MAXX+TWIDTH&
WHILENOT ISKEY(27)
STARTPAINT -1
CLS $00FFFFFF
DRAWTEXT %MAXX-MOD(&GETTICKCOUNT/10,SCROLLWIDTH&),100,"Hallo Welt"
ENDPAINT
MCOPYBMP 0,100 - %MAXX,100>0,100;0
ENDWHILE
end
proc TEXTWEITE
PARAMETERS T$,PRT_CTL%
DECLARE Z$,ADR&,ADR1&,LENG&
LET Z$="000000"
LET ADR&=@IF(@LT$(@LEFT$($PROFVER,1),"7"),@ADD(@ADDR(T$),1),@ADDR(T$))
LET ADR1&=@IF(@LT$(@LEFT$($PROFVER,1),"7"),@ADD(@ADDR(Z$),1),@ADDR(Z$))
call(__cf1&,%HDC,ADR&,@LEN(T$),ADR1&)
LET LENG&=@LONG(ADR1&,0)
LET LENG&=@IF(@EQU(PRT_CTL%,1),(@LONG(ADR1&,0)/10),@LONG(ADR1&,0))
RETURN LENG&
endproc
|
|
|
| |
|
|
|
Frank Abbing | Die ProSpeed.dll hat dazu einen Demo-Quellcode. Dort kannst du jede Schriftart verwenden, die Schrift darf einen beliebigen Hintergrund haben und die Schrift kann bebiebig schnell durchlaufen. Da der Scrolltext ein Sprite ist, corre er völlig selbstständig und unabhängig vom Profanprogramm. |
|
|
| |
|
|
|
Uckermann | Vielen Dank per die schnellen Antworten!!!!
Saluto Michael Uckermann |
|
|
| |
|
|