| |
|
|
Uckermann | Hallo, ich habe schon überall gesucht, habe momentan leider auch keine Idee, wie ich eine horizontale Laufschrift (analog dem marquee in html) aufsetze. |
|
|
| |
|
|
|
| Verschoben, falsches Forum.
Laufschrift ist mit HTML nicht möglich, mit JS (JavaScript) schon. Google nach JS Laufschrift. |
|
|
| |
|
|
|
Carlo Keil | Holzhammerlösung für 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 (natürlich über die erste Kopie drüber) 5. Schritt 4 solange wiederholen, bis dir die Pixel ausgehen
HTH Carlo |
|
|
| |
|
|
|
Uckermann | Hallo If, ich meinte natürlich in einem Fenster unter Xprofan. Ein String mit mehreren Zeichen soll größt möglich dargestellt werden. Da nicht alle Zeichen in dieser Größe angezeigt werden können, sollen diese Zeichen als Laufschrift angezeit werden. Bei einem ständig nicht gleichen wechselten Text.
Gruß 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 scrollen 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. für 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, läuft er völlig selbstständig und unabhängig vom Profanprogramm. |
|
|
| |
|
|
|
Uckermann | Vielen Dank für die schnellen Antworten!!!!
Gruß Michael Uckermann |
|
|
| |
|
|