Wenn ich jetzt das Fenster allerdings auseinander schiebe, dann ist der verkürzte Pfad nicht richtig berechnet. Ich nehme an, dass da mit dem hDC auf die Toolbar nicht der richtige Font oder die richtige Schriftgröße geliefert werden.
Hat dafür jemand eine andere Idee?
Code: Alles auswählen
EnableExplicit
Define sPath.s
Define hStatusbar.l
Define Event.l
Define rect.RECT
Define lTextLenInPixels.l
OpenWindow(0, #PB_Ignore, #PB_Ignore, 300, 200, "test", #PB_Window_SizeGadget | #PB_Window_SystemMenu)
hStatusbar = CreateStatusBar(1, WindowID(0))
AddStatusBarField(100)
AddStatusBarField(#PB_Ignore)
Repeat
Event = WaitWindowEvent()
;Wenn Fenstergröße geändert wird, ...
If Event = #PB_Event_SizeWindow
;Verfügbare Pixelbreite in Statusbar auslesen
SendMessage_(hStatusBar, #SB_GETRECT, 1, @rect)
lTextLenInPixels = rect\right - rect\left
;Text in Statusbar anpassen
sPath = "C:\\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test.txt"
Str(PathCompactPath_(GetDC_(hStatusbar), sPath, lTextLenInPixels + 50))
StatusBarText(1, 1, sPath)
EndIf
Until event = #PB_Event_CloseWindow