OptionGadgets mit Mehrfachauswahl durch Gruppentrennung
- 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
@falo: mußte mal die Boardsuche bemühen, nicolaus hat sowas bereits mal gepostet! glaub ich
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.

Ja, Danke. Wen es auch interessiert: http://forums.purebasic.com/german/viewtopic.php?t=3511ts-soft hat geschrieben:@falo: mußte mal die Boardsuche bemühen, nicolaus hat sowas bereits mal gepostet! glaub ich
:::: WIN 10 :: PB 5.73 :: (x64) ::::
-
- Beiträge: 34
- Registriert: 18.05.2005 14:59
Obwohl, oder gerade weil ich Anfänger bin, würde ich mich der "Forderung" von Falo anschließen wollen.Falo hat geschrieben:Hallo,ts-soft hat geschrieben:Erfüllt also auch nicht dem Zweck eine neue Gruppe aufzurufenPureBasic.chm hat geschrieben: Diese Art von Gadget dient nur zur dekorativen Zwecken
nunja ob dekorativ oder nicht, dennoch ist es ein Gadget. In Sinne der Einheitlichkeit wäre es daher schon besser wenn dies auch für das OptionGadget als Trenner fungieren könnte.
Eigendlich könnte man ContainerGadget und Frame3DGadget auch vereinigen.
Dazu müßte man im ContainerGadget nur den Standard-3D-Rahmen und den möglichen Text-Parameter als weitere Option einbauen
- fertig wärs und äußerst praktisch dazu.
Jetzt einen Borderless-Container, darin dann einen Rahmen mit Textparameter, wäre ja irgendwie doppelt gemoppelt.
Bis das realisiert ist, aber auf jeden Fall einen expliziten Hinweis in der Hilfe, daß ein Frame3DGadget nicht als Gruppenabschluß benutzt werden kann.
Gruß Peter
- freedimension
- Admin
- Beiträge: 1987
- Registriert: 08.09.2004 13:19
- Wohnort: Ludwigsburg
- Kontaktdaten:
Re: OptionGadgets mit Mehrfachauswahl durch Gruppentrennung
Peter aus der Nordheide hat geschrieben: Ich weiß, daß für diese Aufgabenstellung eigentlich das CheckBoxGadget vorgesehen ist und sich auch viel einfacher handhaben läßt.
Aus "Schönheitsgründen" (kann man streiten) habe ich mich aber für die OptionGadgets entschieden.

http://www.sapdesignguild.org/community ... _rules.asp
http://www.joelonsoftware.com/uibook/fog0000000249.html
Leider beides auf Englisch, aber sicherlich eine nette Lektüre für alle Interessierten.
-
- Beiträge: 34
- Registriert: 18.05.2005 14:59
Re: OptionGadgets mit Mehrfachauswahl durch Gruppentrennung
Hallo freedimension,freedimension hat geschrieben:Peter aus der Nordheide hat geschrieben: Ich weiß, daß für diese Aufgabenstellung eigentlich das CheckBoxGadget vorgesehen ist und sich auch viel einfacher handhaben läßt.
Aus "Schönheitsgründen" (kann man streiten) habe ich mich aber für die OptionGadgets entschieden.
http://www.sapdesignguild.org/community ... _rules.asp
http://www.joelonsoftware.com/uibook/fog0000000249.html
Leider beides auf Englisch, aber sicherlich eine nette Lektüre für alle Interessierten.
ok, - ü b e r g e r e d e t.
Ich nehme jetzt CheckBoxen, so wie es sich gehört.

Gruß Peter
PS :
Aber deswegen die Ergänzung der ContainerGadgets bitte nicht aus den Augen verlieren.
OptionGadgets im Container ...
Moin-Moin,
ich habe mal ein wenig mit den Containern und den OptionGadgets herumgespielt. Herausgekommen ist folgender Code:
Vielleicht kann man's ja auch im Code-Archiv gebrauchen - als beispiel.
CU
Mr.X
ich habe mal ein wenig mit den Containern und den OptionGadgets herumgespielt. Herausgekommen ist folgender Code:
Code: Alles auswählen
;-- Declarations ---------------
;-- YesNo .---------------------
#YES = 1
#NO = 0
#TRUE = 1
#FALSE = 0
#OK = 1
;-- MainWindow IDs .------------
Enumeration
#Main_Window
#Main_Toolbar
#Main_Toolbar_New
#Main_Toolbar_Open
#Main_Toolbar_Save
#Main_Toolbar_Print
#Main_Toolbar_Find
#Main_Menu
#Main_Menu_New
#Main_Menu_Open
#Main_Menu_Save
EndEnumeration
;-- Procedures -----------------
;-- Main -----------------------
If OpenWindow(#Main_Window, 0, 0, 640, 480, #PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_ScreenCentered, "[Name] - v0.01")
If CreateMenu(#Main_Menu, WindowID())
MenuTitle("Project")
MenuItem(#Main_Menu_New, "New")
MenuItem(#Main_Menu_Open, "Open")
MenuItem(#Main_Menu_Save, "Save")
EndIf
If CreateToolBar(#Main_Toolbar, WindowID())
ToolBarStandardButton(#Main_Toolbar_New, #PB_ToolBarIcon_New)
ToolBarStandardButton(#Main_Toolbar_Open, #PB_ToolBarIcon_Open)
ToolBarStandardButton(#Main_Toolbar_Save, #PB_ToolBarIcon_Save)
ToolBarSeparator()
ToolBarStandardButton(#Main_Toolbar_Print, #PB_ToolBarIcon_Print)
ToolBarToolTip(#Main_Toolbar_Print, "Print")
ToolBarStandardButton(#Main_Toolbar_Find, #PB_ToolBarIcon_Find)
ToolBarToolTip(#Main_Toolbar_Find, "Find a document")
ToolBarSeparator()
EndIf
If CreateGadgetList(WindowID())
;-- Gadgets
ContainerGadget(1, 0, 28, 180, 100, #PB_Container_Raised)
EditorGadget(10,0,0,80,94,#PB_Container_Raised)
OptionGadget(11, 90, 0, 60, 20, "Option 1")
OptionGadget(12, 90, 18, 60, 20, "Option 2")
OptionGadget(13, 90, 36, 60, 20, "Option 3")
SetGadgetState(11,1)
CloseGadgetList()
ContainerGadget(2, 0, 128, 180, 100, #PB_Container_Raised)
EditorGadget(20,0,0,80,94,#SS_Sunken)
OptionGadget(21, 90, 0, 60, 20, "Option 1")
OptionGadget(22, 90, 18, 60, 20, "Option 2")
OptionGadget(23, 90, 36, 60, 20, "Option 3")
SetGadgetState(22,1)
CloseGadgetList()
ContainerGadget(3, 0, 228, 180, 100, #PB_Container_Raised)
EditorGadget(30,0,0,80,94,#SS_Sunken)
OptionGadget(31, 90, 0, 60, 20, "Option 1")
OptionGadget(32, 90, 18, 60, 20, "Option 2")
OptionGadget(33, 90, 36, 60, 20, "Option 3")
SetGadgetState(33,1)
CloseGadgetList()
TextGadget(4, 182, 28, 116, 100, "", #SS_Sunken)
TextGadget(5, 182, 128, 116, 100, "", #SS_Sunken)
TextGadget(6, 182, 228, 116, 100, "", #SS_Sunken)
EndIf
;-- Main Loop .-----------------
Quit = #NO
Repeat
Select = WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadgetID()
Case 11 : If GetGadgetState(11) = 1 : SetGadgetText(4, "Option 1") : EndIf
Case 12 : If GetGadgetState(12) = 1 : SetGadgetText(4, "Option 2") : EndIf
Case 13 : If GetGadgetState(13) = 1 : SetGadgetText(4, "Option 3") : EndIf
Case 21 : If GetGadgetState(21) = 1 : SetGadgetText(5, "Option 1") : EndIf
Case 22 : If GetGadgetState(22) = 1 : SetGadgetText(5, "Option 2") : EndIf
Case 23 : If GetGadgetState(23) = 1 : SetGadgetText(5, "Option 3") : EndIf
Case 31 : If GetGadgetState(31) = 1 : SetGadgetText(6, "Option 1") : EndIf
Case 32 : If GetGadgetState(32) = 1 : SetGadgetText(6, "Option 2") : EndIf
Case 33 : If GetGadgetState(33) = 1 : SetGadgetText(6, "Option 3") : EndIf
EndSelect
:
Case #PB_Event_Menu
:
Case #PB_Event_CloseWindow
Quit = #YES
EndSelect
Until Quit = #YES
EndIf
;-- End ------------------------
End
CU
Mr.X
Zuletzt geändert von Mr.X am 18.08.2005 09:53, insgesamt 1-mal geändert.
-
- Beiträge: 34
- Registriert: 18.05.2005 14:59
Hallo Simon,bluejoke hat geschrieben:Entweder du lässt die Optionsboxen am Anfang ungesetzt, oder aber du schreibst den richtigen Text gleich von Anfang an in die Textgadgets.
Fände ich deutlich logischer
Simon
ich glaube, da reden wir aneinander vorbei.
Die TextGadgets oben im Beispiellisting habe ich nur reingesetzt, um zu zeigen, wie es
a) nicht geht, mit auskommentierten TextGadget und
b) geht, wenn ich im TextGadget den Kommentar zurücknehme und es damit als Gruppenabschluß einsetze.
Und damit ich nicht unter die Kategorie "Bad User Interface Programmierer" falle, habe ich mich ja entschlossen, die Checkboxen zu nehmen.
@ freedimension
Sehen garnicht so schlecht aus, fast so, als ob sie da schon immer hingehörten - - und funktionieren viel besser !
@ Mr.X
Dein Beispiel habe ich erst einmal in die Schublade gelegt, weil ich ja jetzt eine andere Lösung genutzt habe.
Gruß Peter
Hi Simon,bluejoke hat geschrieben:Entweder du lässt die Optionsboxen am Anfang ungesetzt, oder aber du schreibst den richtigen Text gleich von Anfang an in die Textgadgets.
Fände ich deutlich logischer
der obige Code beansprucht keinerlei logik für sich. Das ist nur ein sinfreies Beispiel, an dem die Programmierung von mehreren Optionsgruppen darstellen möchte. Solltest Du mit dem Setzen der Optionsboxen oder den Textgadges Problemehaben, ändere das Beispiel einfach nach Deinen Vorstellungen. Und wenn Du einen tieferen Sinn in diesem Programm entdecks, lass es uns wissen.
Hi Peter (aus der Nordheide),
ich bin mir nicht sicher, ob Simon Dein Beispiel ganz oben oder mein 2 weiter oben meint. -- Fühlen wir uns einfach beide NICHT angesprochen.
CU
Mr.X