| |
|
|
- Seite 1 - |
|
Julian Schmidt | Kann mir jemand sagen, wieso der der Text 'Test' der Listbox nicht rechtsbündig ausgerichtet wird. Ausgehend von der Logik würde ich sagen, dass es funktionieren müsste!?
cls
declare text$
var lb&=Create("ListBox", %hwnd, 0, 10, 10, 152, height(%hwnd)-20)
Randomize
Addstring(lb&,Mkstr$("_",18))'18 Zeichen nutzen die Listboxbreite aus
whileloop 20
case iskey(27) : end
text$=Mkstr$(Str$(Rnd(10)),Rnd(10)+1)
'Maximale_Zeichenlänge_in_ListBox - (Anzahl_Zeichen_Linksbündig + Anzahl_Zeichen_Rechtsbündig) = Zeichenlänge_zwischen_Linkbündig_und_Rechtbündig_damit_Maximale_Zeichenlänge_in_ListBox_erreicht
Addstring(lb&,text$+MkStr$(" ",18-(Len(text$)+Len("Test")))+"Test")
Messagebox("Länge '"+text$+"' = "+Str$(Len(text$))+" - Länge 'Test' = "+Str$(Len("Test"))+"\n18-("+Str$(Len(text$))+"+"+Str$(Len("Test"))+")="+Str$(Len(MkStr$(" ",18-(Len(text$)+Len("Test")))))+"\nIst "+Str$(Len(text$))+"+"+Str$(Len(MkStr$(" ",18-(Len(text$)+Len("Test")))))+"+"+Str$(Len("Test"))+" = 18?","",0)
Endwhile
while 1
waitinput
Endwhile
|
|
|
| |
|
|
|
« Dieser Beitrag wurde als Lösung gekennzeichnet. » |
|
Andreas Miethe
| Falscher Font würde ich sagen.
$H windows.ph
$H messages.ph
cls
declare text$
var lb&=Create("ListBox", %hwnd, 0, 10, 10, 152, height(%hwnd)-20)
sendmessage(lb&,~wm_setfont,~GetStockObject(~ANSI_FIXED_FONT),1)
Randomize
Addstring(lb&,Mkstr$("_",18))'18 Zeichen nutzen die Listboxbreite aus
whileloop 20
case iskey(27) : end
text$=Mkstr$(Str$(Rnd(10)),Rnd(10)+1)
'Maximale_Zeichenlänge_in_ListBox - (Anzahl_Zeichen_Linksbündig + Anzahl_Zeichen_Rechtsbündig) = Zeichenlänge_zwischen_Linkbündig_und_Rechtbündig_damit_Maximale_Zeichenlänge_in_ListBox_erreicht
Addstring(lb&,text$+MkStr$(" ",18-(Len(text$)+Len("Test")))+"Test")
Messagebox("Länge '"+text$+"' = "+Str$(Len(text$))+" - Länge 'Test' = "+Str$(Len("Test"))+"\n18-("+Str$(Len(text$))+"+"+Str$(Len("Test"))+")="+Str$(Len(MkStr$(" ",18-(Len(text$)+Len("Test")))))+"\nIst "+Str$(Len(text$))+"+"+Str$(Len(MkStr$(" ",18-(Len(text$)+Len("Test")))))+"+"+Str$(Len("Test"))+" = 18?","",0)
Endwhile
while 1
waitinput
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 : [...] | 25.03.2012 ▲ |
|
|
|
|
|
Julian Schmidt | Stimmt damit funktioniert es. Aber warum hängt das mit der Font zusammen? |
|
|
| |
|
|
|
Andreas Miethe
| Bei diesen Fixed-Fonts sind eben alle Zeichen gleich breit, bei anderen Font unterschiedlich.
Aber es geht auch mit anderen Fonts. Und ohne grosse Rechnerei. Einfach den ExStil der Listbox ändern.
$H windows.ph
$H messages.ph
cls
declare text$
Var lb& = Control("LISTBOX","",~WS_CHILD | ~WS_VISIBLE | ~WS_BORDER,10,10,152,height(%hwnd)-20,%hwnd,2000,%hinstance)
~SetWindowLong(lb&,~GWL_EXSTYLE,~WS_EX_RIGHT)
Randomize
Addstring(lb&,Mkstr$("_",18))'18 Zeichen nutzen die Listboxbreite aus
whileloop 20
case iskey(27) : end
text$=Mkstr$(Str$(Rnd(10)),Rnd(10)+1)
'Maximale_Zeichenlänge_in_ListBox - (Anzahl_Zeichen_Linksbündig + Anzahl_Zeichen_Rechtsbündig) = Zeichenlänge_zwischen_Linkbündig_und_Rechtbündig_damit_Maximale_Zeichenlänge_in_ListBox_erreicht
Addstring(lb&,text$+MkStr$(" ",18-(Len(text$)+Len("Test")))+"Test")
Messagebox("Länge '"+text$+"' = "+Str$(Len(text$))+" - Länge 'Test' = "+Str$(Len("Test"))+"\n18-("+Str$(Len(text$))+"+"+Str$(Len("Test"))+")="+Str$(Len(MkStr$(" ",18-(Len(text$)+Len("Test")))))+"\nIst "+Str$(Len(text$))+"+"+Str$(Len(MkStr$(" ",18-(Len(text$)+Len("Test")))))+"+"+Str$(Len("Test"))+" = 18?","",0)
Endwhile
while 1
waitinput
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 : [...] | 25.03.2012 ▲ |
|
|
|
|
Julian Schmidt | Ok, danke Andreas. Du hast mir sehr geholfen. |
|
|
| |
|
|