Einsteigerfragen zur PROFAN Programmierung
  Suchen
 Zurück zur Übersicht
 AutorThema: Tab-Control und ChoiceBox
uwe beisler
Datum:10.10.02 19:13 Antwortenals Email verschicken (uwe.beisler@t-online.de) 


Hi,

ich möchte eine ChoiceBox auf einem Tab-Control ein und ausblenden.
Die einfache ChoiceBox läuft (Beispiel 1).
Das Ein- und Ausblenden funktioniert zumindest mit einem Text-Control
aber die ChoiceBox sieht man nur mit einem schnellen Auge.

Was mache ich falsch ?

Beispiel 1:
declare ende%,SChoice11%,SChoice12%,Tabdialog%
Window 0,0-800,571
Usefont "Arial",15,0,0,0,0
Tabdialog% = %Hwnd
let SChoice12%=@createchoicebox(Tabdialog%,"",0,0,0,0)
SetWindowPos SChoice12%= 20,50-60,80;0 'Auswahl Jahrgang zeigen
@addchoice(SChoice12%,"08")
@addchoice(SChoice12%,"10")
@addchoice(SChoice12%,"12")
@addchoice(SChoice12%,"14")
@addchoice(SChoice12%,"16")
Whilenot Ende%
Waitinput
If %key = 2
ende%=1
Endif
wend
destroywindow(Tabdialog%)
end

Beispiel 2:
declare ende%,SChoice12%,SText11%,Tabdialog%,Tabcontrol&,AktivesTab&

Window 0,0-800,571
Usefont "Arial",15,0,0,0,0

PROC TAB1AKTIV
setwindowpos SChoice12%= 20,50-60,80;0
setwindowpos SText11% = 120,50-80,20;0
ENDPROC

PROC TAB1INAKTIV
setwindowpos SChoice12% =0,0-0,0;0
setwindowpos SText11% =0,0-0,0;0
ENDPROC

PROC INITTAB
Usefont "Arial",15,0,0,0,0
Tabdialog% = %Hwnd
Tabcontrol& = Create("Tabctrl",Tabdialog%,"Schüler",0,0,width(tabdialog%),height(tabdialog%)-20)
InsertTab(Tabcontrol&,1,"Schule")
SChoice12%=@createchoicebox(Tabdialog%,"",0,0,0,0)
@addchoice(SChoice12%,"08")
@addchoice(SChoice12%,"10")
@addchoice(SChoice12%,"12")
@addchoice(SChoice12%,"16")
@addchoice(SChoice12%,"18")
SText11% =Create("text",Tabdialog%,"Vorname",0,0,0,0)
ENDPROC

INITTAB
TAB1AKTIV

Whilenot Ende%
Waitinput
If tabchanged(TabControl&)
AktivesTab&= GetActiveTab(Tabcontrol&) 'Ermittelt das selektierte Tab
If AktivesTab& = 0
Tab1Aktiv
Elseif AktivesTab& = 1
Tab1Inaktiv
Endif
Elseif %Key = 4
seterrorlevel 0
setwindowpos Tabcontrol& = 0,0 - width(tabdialog%),(height(tabdialog%)-20);0
setwindowpos coptext% = 0,(height(tabdialog%)-20) - width(tabdialog%),20;0
If AktivesTab& = 2
setwindowpos mltedit%=0,26-width(tabcontrol&),(height(tabcontrol&)-26);0
Endif
Elseif %key = 2
ende%=1
Endif
Settext Tabdialog%,"Aktives Tab: "+str$(AktivesTab&)
wend
destroywindow(Tabcontrol&)
destroywindow(Tabdialog%)
end



uwe beisler
Datum: 10.10.02 19:40 Antwortenals Email verschicken (uwe.beisler@t-online.de) 



Nachdem ich bis eben lange und verzweifelt nach dem Fehler gesucht habe bin ich nun darauf gekommen wie ich die Auswirkung umgehen kann :

...
PROC INITTAB
Cls @RGB(23,23,23)
Tabdialog% = %Hwnd
Tabcontrol& = Create("Tabctrl",Tabdialog%,"Schüler",0,0,width(tabdialog%),22)
...

OK, sicher nicht der eleganteste Weg aber es läuft.


 Zurück zur Übersicht
 

 Ein kostenloses WebMart Forum
WebMart Homepage Tools kostenlos
Shortwin - denn Glück ist kein Zufall!