| |
|
|
Jörg Sellmeyer | Repariert
'Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
'TabControl mit Reitern gleicher Breite erstellen
DEF SetWindowLong(3) !"User32","SetWindowLongA"
DEF GetWindowLong(2) !"User32","GetWindowLongA"
DEF &WM_CLOSE $010
DEF &TCM_SETITEMSIZE $01329
DEF &TCS_FIXEDWIDTH 1024
DEF &TCS_MULTILINE $0200
DEF &TCM_GETITEMCOUNT $01304
DEF &GWL_STYLE -16
DEF MakeLong(2) (&(1) | &(2) << 16)
Declare Ende&,Tab&,TabItems&
WindowStyle 538
Cls
Tab& = Create("TABCTRL",%hwnd,"1",10,10,400,300)
InsertTab(Tab&,1,"2")
InsertTab(Tab&,2,"3")
'WindowStyle erweitern um feste Breite und Multiline
'das heisst alle Tabreiter sind gleich breit
SetWindowLong(Tab&,&GWL_STYLE,(GetWindowLong(Tab&,&GWL_STYLE) | (&TCS_FIXEDWIDTH | &TCS_MULTILINE)))
'Anzahl der Tabreiter ermitteln
TabItems& = SendMessage(Tab&,&TCM_GETITEMCOUNT,0,0)
'Breite und Hoehe setzen
'Par1 bei MakeLong ist die Breite
'Par2 bei Makelong ist die Höhe
SendMessage(Tab&,&TCM_SETITEMSIZE,0,MakeLong(Width(Tab&)/TabItems&-2,20))
UserMessages &WM_CLOSE
Whilenot Ende&
Waitinput
If %UMessage = &WM_CLOSE
End
Endif
EndWhile
End
|
|
|
| |
|
|