Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
TabControl erstellen (2)
====================================================================
Zeigt ein Tabcontrol mit Profan 7.0 32 Bit und Win95.
(c)1998 Richard Maurukas
====================================================================
DEKLARATIONEN
---------------------------------------------------------
declare ende%,Tabdialog%,Tabcontrol&,AktivesTab&
------Elemente erstes TAB---------------
declare SText1%,Stext12%,Stext13%,CopText%
declare Text1%,Text12%,Text13%,test&
------Elemente zweites TAB--------------
declare SText2%,Stext22%,Stext23%
declare Text2%,Text22%,Butt1%
------Elemendte drittes TAB-------------
declare mltedit%
declare frame1%
PROZEDUREN
-----------------------------------------------------------------------
PROC TAB1AKTIV
-------------
Textfelder Zeigen-----------------------
setwindowpos SText1% = 40, 60-80,20;0 Text Name zeigen
setwindowpos SText12%= 40, 85-80,20;0 Text Straße zeigen
setwindowpos SText13%= 40,110-80,20;0 Text Plz/Ort zeigen
Die Editfelder aktivieren.--------------
Enablewindow Text1%,1 Editfeld Name aktiv
Enablewindow Text12%,1 Editfeld Straße aktiv
Enablewindow Text13%,1 Editfeld Plz/Ort aktiv
Editfelder Anzeigen---------------------
setwindowpos Text1% =120, 60-200,20;0 Editfeld Name zeigen
setwindowpos Text12% =120, 85-200,20;0 Editfeld Straße zeigen
setwindowpos Text13% =120,110-200,20;0 Editfeld Plz/Ort zeigen
setfocus(Text1%) Focus ins erste Feld setzen
ENDPROC
PROC TAB1INAKTIV
---------------
setwindowpos SText1% =0,0-0,0;0 Text Name Ausblenden
setwindowpos SText12%=0,0-0,0;0 Text Straße Ausblenden
setwindowpos SText13%=0,0-0,0;0 Text Plz/Ort Ausblenden
setwindowpos Text1% =0,0-0,0;0 Editfeld Name ausblenden
setwindowpos Text12% =0,0-0,0;0 Editfeld Straße ausblenden
setwindowpos Text13% =0,0-0,0;0 Editfeld Plz/Ort ausblenden
Enablewindow Text1%,0 Editfeld Name inaktiv
Enablewindow Text12%,0 Editfeld Straße inaktiv
Enablewindow Text13%,0 Editfeld Plz/Ort inaktiv
ENDPROC
PROC TAB2AKTIV
-------------
setwindowpos SText2% = 40, 60-100,20;0 Text Telefon Anzeigen
enablewindow Text2%,1 Editfeld Telefon aktiv
setwindowpos Text2% =120, 60-200,20;0 Editfeld Telefon zeigen
Setfocus(Text2%) Focus in 1.Feld setzen
ENDPROC
PROC TAB2INAKTIV
---------------
setwindowpos SText2% =0,0-0,0;0 Text Telefon ausblenden
setwindowpos Text2% =0,0-0,0;0 Editfeld Telefon ausblenden
Enablewindow Text2%,0 Editfeld Telefon inaktiv
ENDPROC
PROC TAB3AKTIV
-------------
Enablewindow Mltedit%,1 Multieditfeld Aktiv
Setwindowpos mltedit%=0,26-width(tabcontrol&),(height(tabcontrol&)-26);0 Multieditfeld zeigen
setfocus(mltedit%) Focus ins Multieditfeld
ENDPROC
PROC TAB3INAKTIV
---------------
Setwindowpos mltedit%=0,0-0,0;0 Multieditfeld ausblenden
Enablewindow mltedit%,0 Multieditfeld inaktiv
ENDPROC
PROC INFO
--------
MessageBox(Add$(TAB-CONTROL MIT PROFAN
,
Autor: 1998 Richard Maurukas/1999 RGH),
Über ...,64)
ENDPROC
PROC INITTAB
-----------
Usefont Arial,15,0,0,0,0
Hier die Dialogelemente--------------------------------------------------
Tabdialog% = %Hwnd
Tabcontrol& = Create(Tabctrl,Tabdialog%,Adresse,0,0,width(tabdialog%),height(tabdialog%)-20)
------weitere Tab-Items Einfügen-----------------------------------------
InsertTab(Tabcontrol&,1,Telefon) fügt das zweite Tabcontrol ein
InsertTab(TabControl&,2,Notizen)
-------Elemente 1. TAB---------------------------------------------------
SText1% =Create(text,Tabdialog%,Name, 0,0,0,0)
Stext12% =Create(text,Tabdialog%,Straße, 0,0,0,0)
Stext13% =Create(text,Tabdialog%,Plz/Ort, 0,0,0,0)
Text1% =create(edit,Tabdialog%,, 0,0,0,1) Passwort nicht aktivieren
Text12% =create(edit,Tabdialog%,, 0,0,0,1)
Text13% =create(edit,Tabdialog%,, 0,0,0,1)
------Elemente 2.TAB-----------------------------------------------------
SText2% =Create(text,Tabdialog%,Telefon Nr., 0,0,0,0)
Text2% =create(edit,Tabdialog%,, 0,0,0,1)
------Elemente 3. TAB----------------------------------------------------
mltedit%=Create(multiedit,Tabdialog%,, 0,0,0,0)
das Copyright (simulierte Statuszeile)
coptext%=Create(text,Tabdialog%,(c) 1998 Richard Maurukas/1999 RGH,0,height(tabdialog%)-20,width(tabdialog%),20)
sendmessage(coptext%,$0030,%Font,0)
ENDPROC
====================== HAUPTPROIGRAMM ==============================
FENSTERAUFBAU
-------------
WindowTitle Tabcontrol-1998 Richard Maurukas/1999 RGH
Window 0,0-400,300
Menü
----
Popup &Datei
Appendmenu 100,&Öffnen
Appendmenu 199,&Beenden
Popup &Bearbeiten
Appendmenu 200,&Rückgängig
Separator
Appendmenu 201,&Ausschneiden
Appendmenu 202,&Kopieren
Appendmenu 203,&Einfügen
Popup &Über
Appendmenu 900,&Info
Initialisierung
---------------
INITTAB Tabcontrol und alle Tab-Elemente Tabs aufbauen
TAB1AKTIV Erstes Tab und deren Elemente aktivieren. Andere deaktivieren
HAUPTSCHLEIFE
-------------
Whilenot Ende%
Waitinput
if tabchanged(TabControl&)
AktivesTab&= GetActiveTab(Tabcontrol&) Ermittelt das selektierte Tab
If AktivesTab& = 0
Tab1Aktiv
Tab2Inaktiv
Tab3Inaktiv
Elseif AktivesTab& = 1
Tab2Aktiv
Tab1Inaktiv
Tab3Inaktiv
Elseif AktivesTab& = 2
Tab3Aktiv
Tab1Inaktiv
Tab2Inaktiv
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 Menuitem(199) or (%key = 2)
ende%=1
Elseif Menuitem(900)
INFO
Endif
Settext Tabdialog%,Aktives Tab: +str$(AktivesTab&)
wend
destroywindow(Tabcontrol&)
destroywindow(Tabdialog%)
end