Hallo Martin!
Am Besten ist es, wenn du für jede "Registerkarte" einen rahmenlosen Dialog
auf dem TabControl erzeugst, auf dem dann die Bedienungselemente platziert werden.
Je nach gewähltem Reiter wird der aktuell gewählte Dialog ein - und der vorher
aktive ausgeblendet (mit ShowWindow + EnableWindow):
window 50,50-500,400
usefont "MS Sans Serif",15,0,0,0,0
setdialogfont 1
declare Tabcontrol&,AktivesTab&,dlg%,Tab1&,Tab2&,Tab3&
dlg%=createdialog(%hwnd,"Demo",100,100,420,320)
Tabcontrol&=create("Tabctrl",dlg%,"Tab 1",7,10,400,200)
inserttab(Tabcontrol&,1,"Tab 2")
inserttab(TabControl&,2,"Tab 3")
Tab1&=control("Dialog","",$50000003,3,25,385,155,Tabcontrol&,1,%hinstance)'Sichtbar
Tab2&=control("Dialog","",$48000003,3,25,385,155,Tabcontrol&,1,%hinstance)'Verborgen
Tab3&=control("Dialog","",$48000003,3,25,385,155,Tabcontrol&,1,%hinstance)'Verborgen
' Zur Positionierung Stil auf $50800003 setzen (erzeugt Rahmen)
create("edit",Tab1&,"Edit auf Tab1",110,10,100,20)
create("edit",Tab2&,"Edit auf Tab2",110,40,100,20)
create("edit",Tab3&,"Edit auf Tab3",110,70,100,20)
while 1
waitinput
if tabchanged(TabControl&)
AktivesTab&= GetActiveTab(Tabcontrol&)
showwindow(Tab1&,0)'--Alle verbergen
enablewindow Tab1&,0
showwindow(Tab2&,0)
enablewindow Tab2&,0
showwindow(Tab3&,0)
enablewindow Tab3&,0
if AktivesTab&=0'--Aktives Tab zeigen
showwindow(Tab1&,1)
enablewindow Tab1&,1
elseif AktivesTab&=1
showwindow(Tab2&,1)
enablewindow Tab2&,1
elseif AktivesTab&=2
showwindow(Tab3&,1)
enablewindow Tab3&,1
endif
Settext %hwnd,"Aktives Tab: "+str$(AktivesTab&)
endif
endwhile
HTH
Pascal
|