Ok, das wäre eine Idee! Teste ich mal!NicTheQuick hat geschrieben:Und wenn du einfach alle Gadgets, die im Panel liegen, deaktivierst? Dann kann man zwar das Panel anwählen, aber nichts drin tun. Das könnte auch recht einfach gehen, wenn du alle diese Gadgets in einen Container packst und nur diesen deaktivierst.
Schaltflächen in einem Panelgadget deaktivieren
-
- Beiträge: 328
- Registriert: 06.06.2013 20:37
- Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10
Re: Schaltflächen in einem Panelgadget deaktivieren
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
-
- Beiträge: 328
- Registriert: 06.06.2013 20:37
- Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10
Re: Schaltflächen in einem Panelgadget deaktivieren
Hallo Kiffi,
"ShowWindow_" ist eine API-Funktion? Dann würde es nicht unter Linux laufen?
Ich versuche immer gerne, wenn es irgendwie machbar ist, nur mit PB-Funktionen zu arbeiten damit es dann auch unter
Linux funktionieren kann.
In einem früheren Beitrag wurde auch schon mal angesprochen zu prüfen, welche "Seite" des Panels aktiv ist und dann evtl. wieder auf die erlaubte Seite zurück zu schalten. Das sollte vermutlich die einfachste Lösung sein. Ein zusätzlicher Container ist dann auch nicht erforderlich sondern nur diese Abfrage:
Das in die Ereignisschleife eingebaut funktioniert! Habe ich eben getestet.
Nur ist das halt nicht so ganz sauber programmiert.
LG
Wolfgang
"ShowWindow_" ist eine API-Funktion? Dann würde es nicht unter Linux laufen?
Ich versuche immer gerne, wenn es irgendwie machbar ist, nur mit PB-Funktionen zu arbeiten damit es dann auch unter
Linux funktionieren kann.
In einem früheren Beitrag wurde auch schon mal angesprochen zu prüfen, welche "Seite" des Panels aktiv ist und dann evtl. wieder auf die erlaubte Seite zurück zu schalten. Das sollte vermutlich die einfachste Lösung sein. Ein zusätzlicher Container ist dann auch nicht erforderlich sondern nur diese Abfrage:
Code: Alles auswählen
If GetGadgetState(panel_0) <> 2
SetGadgetState(panel_0,2)
EndIf
Nur ist das halt nicht so ganz sauber programmiert.
LG
Wolfgang
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Re: Schaltflächen in einem Panelgadget deaktivieren
ah, ok. Das vergesse ich immer wieder. Kannst Du mir / uns einen Gefallen tun und das in Deine Signatur schreiben?derschutzhund hat geschrieben:Ich versuche immer gerne, wenn es irgendwie machbar ist, nur mit PB-Funktionen zu arbeiten damit es dann auch unter
Linux funktionieren kann.
Grüße ... Kiffi
a²+b²=mc²
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Schaltflächen in einem Panelgadget deaktivieren
Das einfachste wäre ein TabBarGadget von StarGate zu nutzen.
Crossplattform, lediglich nicht im FormDesigner integriert, was aber kein Problem sein sollte. Einfach im FormDesigner einen Container
erstellen, in dem man das dann nachträglich einfügt, programmiertechnisch, also nichts für Mausschubser
Crossplattform, lediglich nicht im FormDesigner integriert, was aber kein Problem sein sollte. Einfach im FormDesigner einen Container
erstellen, in dem man das dann nachträglich einfügt, programmiertechnisch, also nichts für Mausschubser

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

-
- Beiträge: 328
- Registriert: 06.06.2013 20:37
- Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10
Re: Schaltflächen in einem Panelgadget deaktivieren
ErledigtKiffi hat geschrieben:ah, ok. Das vergesse ich immer wieder. Kannst Du mir / uns einen Gefallen tun und das in Deine Signatur schreiben?derschutzhund hat geschrieben:Ich versuche immer gerne, wenn es irgendwie machbar ist, nur mit PB-Funktionen zu arbeiten damit es dann auch unter
Linux funktionieren kann.
Grüße ... Kiffi
Hoffe das is ok so!
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Schaltflächen in einem Panelgadget deaktivieren
Und falls jemand anders eine Windows Only lösung sucht:
Code: Alles auswählen
Procedure DisablePanelItem(panel, item, state)
Protected itm.TC_ITEM
If state = 1
itm\Mask = #TCIF_PARAM
SendMessage_(GadgetID(panel), #TCM_GETITEM, item, @itm)
itm\lParam = 1
itm\Mask = #TCIF_PARAM
SendMessage_(GadgetID(panel), #TCM_SETITEM, item ,@itm)
ElseIf state = 0
itm\Mask = #TCIF_PARAM
SendMessage_(GadgetID(panel), #TCM_GETITEM, item, @itm)
itm\lParam = 0
itm\Mask = #TCIF_PARAM
SendMessage_(GadgetID(panel), #TCM_SETITEM, item, @itm)
EndIf
EndProcedure
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- NicTheQuick
- Ein Admin
- Beiträge: 8809
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Schaltflächen in einem Panelgadget deaktivieren
Hier noch eine Linux-Lösung um ein Tab zu verstecken ohne es löschen zu müssen.
Code: Alles auswählen
OpenWindow(0, 0, 0, 400, 300, "Test")
PanelGadget(0, 0, 0, 400, 300)
AddGadgetItem(0, -1, "1")
ButtonGadget(1, 5, 5, 60, 25, "Show")
ButtonGadget(2, 5, 35, 60, 25, "Hide")
AddGadgetItem(0, -1, "Bin da")
AddGadgetItem(0, -1, "3")
CloseGadgetList()
Procedure HideTab(panelId.i, item.i, state.i = #True)
Protected *notebook.GtkNotebook = GadgetID(panelId)
Protected *page.GtkWidget = gtk_notebook_get_nth_page_(*notebook, item)
If (state)
gtk_widget_hide_(*page)
Else
gtk_widget_show_(*page)
EndIf
EndProcedure
Repeat
event.i = WaitWindowEvent()
If event = #PB_Event_Gadget
Select EventGadget()
Case 1: HideTab(0, 1, #False)
Case 2: HideTab(0, 1)
EndSelect
EndIf
Until event = #PB_Event_CloseWindow
-
- Beiträge: 328
- Registriert: 06.06.2013 20:37
- Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10
Re: Schaltflächen in einem Panelgadget deaktivieren
Habe auch noch einen Weg gefunden, wie es mit allen Betriebssystemen funktioniert!
Für das Panel_0 eine Ereignis-Prozedure erstellen, z.B.
Das war es dann schon!
Die Variable "Vollversion" muss natürlich auch noch definiert und mit 0 oder 1 gesetzt werden.
Hinweis: Ist das Programm nicht registriert dann werden nur Seite 2 und 8 angezeigt.
LG
Wolfgang
Für das Panel_0 eine Ereignis-Prozedure erstellen, z.B.
Code: Alles auswählen
Procedure PanelWahl(EventType)
If Vollversion = 0
If GetGadgetState(panel_0) <> 2 And GetGadgetState(panel_0) <> 8
SetGadgetState(panel_0,2)
EndIf
EndIf
EndProcedure
Das war es dann schon!
Die Variable "Vollversion" muss natürlich auch noch definiert und mit 0 oder 1 gesetzt werden.
Hinweis: Ist das Programm nicht registriert dann werden nur Seite 2 und 8 angezeigt.
LG
Wolfgang
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Re: Schaltflächen in einem Panelgadget deaktivieren
Also nichts anderes als was ein anderer User bereits vorgeschlagen hat... 
RSBasic hat geschrieben:Z.B. kannst du im Eventcode abfragen, welche Schaltfläche gerade aktiv ist. Wenn beispielsweise Tab 5 aktiv ist, dann sorgst du dafür, dass ...

-
- Beiträge: 328
- Registriert: 06.06.2013 20:37
- Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10
Re: Schaltflächen in einem Panelgadget deaktivieren
Genau, nur mit einer etwas ausführlichen BeschreibungGronkhLP hat geschrieben:Also nichts anderes als was ein anderer User bereits vorgeschlagen hat...RSBasic hat geschrieben:Z.B. kannst du im Eventcode abfragen, welche Schaltfläche gerade aktiv ist. Wenn beispielsweise Tab 5 aktiv ist, dann sorgst du dafür, dass ...

Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck