| |
|
|
Jac de Lad | Hallo,
gibt es eine Funktion SetActiveTab (quasi das Gegenstück zu GetActiveTab)?
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 06.02.2006 ▲ |
|
|
|
|
Rolf Koch | Hi Jac, das geht so. KompilierenMarkierenSeparieren $P+
SetErrorLevel 0
********************** HINWEISE ********************************
CODE ERZEUGT MIT ROKOS OBJECT CREATOR 4.3a
DATUM 06.02.2006 um 16:08 Uhr
VERWENDETE PROFANVERSION IST 7.6a-NT
CODE ERSTELLT UNTER WINDOWS XP
!!! Dieser Code wird von Roc immer neu erzeugt !!!
!!! Erst bearbeiten, wenn alle Objekte erzeugt wurden !!!
!!! Verändern Sie ggf. feste Pfade in variable Pfade !!!
DEF GETSYSCOLOR(1) !"USER32","GetSysColor"
Def SetActiveTab(2) SendMessage(&(1),$0130C,&(2),0)
DECLARE TABCTRL1&
WINDOWSTYLE 63
WINDOWTITLE "SetActiveTab"
WINDOW 160,136-515,196
SETTRUECOLOR 1
DECLARE ENDE%
CLS GETSYSCOLOR(15)
USEFONT "MS Sans Serif",13,0,0,0,0
SETDIALOGFONT 1
Hier kann ggf. Ihr Menü hin
TABCTRL1& = CREATE("TABCTRL",%HWND,"Reiter1",0022,0013,0464,0130)
@InsertTab(TABCTRL1&,1,"Reiter2")
@InsertTab(TABCTRL1&,2,"Reiter3")
SETFOCUS(%HWND)
SetActiveTab(Tabctrl1&,0)
sleep 1000
SetActiveTab(Tabctrl1&,1)
sleep 1000
SetActiveTab(Tabctrl1&,2)
sleep 1000
SetActiveTab(Tabctrl1&,1)
sleep 1000
SetActiveTab(Tabctrl1&,0)
sleep 1000
WHILENOT ENDE%
WAITINPUT
If @EQU(%KEY,2)
LET ENDE%= 1
ELSEIF @EQU(%KEY,4)
ELSEIF TABCHANGED(TABCTRL1&) TABCTRL
ENDIF
WEND
|
|
|
| |
|
|
|
Jac de Lad | Ahh, danke. Prompte Bedienung!
Jac
PS: Gibts noch mehr sendmessage.Befehle für TabControl, die wirklich sinnvoll sind. Woher nehmt ihr die? Ich kenne nur die, die in der Profan-Hilfe stehen... |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 06.02.2006 ▲ |
|
|
|
|
Rolf Koch | Infos wie immer über MSDN: Tabs halt [...]
Noch einfacher ohne zu rechnen ist natürlich folgender Weg:
Unter MSDN siehst Du, welche Headerdatei eingebunden werden muss. Hier ist es die commctrl.h unten am Schluss der Seite. Also einfach einbinden in profanisch: $H Commctrl.ph
und dann
folgendes schreiben: Def Setactivetab(2) Sendmessage(&(1),~TCM_SETCURSEL,&(2),0)
Du siehst, beide wichtigen Infos findest Du in der MSDN. Also welcher Header einzubinden ist und dann einfach die Tilde vor die in der MSDN definierte Funktion setzen.
Ich hoffe ich hab Dir nix erzählt, was Du schon weist. Ansonsten ist es ja auch für Neulinge gut zu wissen
Rolf |
|
|
| |
|
|
|
Jac de Lad | Naja, das mit Header und so weiß ich schon. Aber ich blicke bei MSDN immer nicht so durch und dann weiß ich ja auch nicht, welche weiteren Parameter verwendet werden...naja, ich kann ja euch fragen. Ich dachte, dass mal jemand irgendwie alle Messages zusammgefasst hat, in ner Hilfedatei oder so. MSDN ist irgendwie nicht so mein Fall (außerdem muss ich dafür immer online sein!
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 06.02.2006 ▲ |
|
|
|
|
Frank Abbing | Du kannst auch die Win32.hlp-Datei verwenden. Das reicht fast in allen Fällen, ich mache es genauso. Aktuelle Windows 2000/XP Sachen wirst du dort nur nicht finden. Alles andere aber schon. Einfach googlen unter win32.hlp. Oder [...] klicken und beide Teile runterladen. |
|
|
| |
|
|