Seite 2 von 2

Verfasst: 16.08.2005 20:16
von ts-soft
@falo: mußte mal die Boardsuche bemühen, nicolaus hat sowas bereits mal gepostet! glaub ich

Verfasst: 16.08.2005 20:30
von rolaf
ts-soft hat geschrieben:@falo: mußte mal die Boardsuche bemühen, nicolaus hat sowas bereits mal gepostet! glaub ich
Ja, Danke. Wen es auch interessiert: http://forums.purebasic.com/german/viewtopic.php?t=3511

Verfasst: 16.08.2005 21:15
von Peter aus der Nordheide
Falo hat geschrieben:
ts-soft hat geschrieben:
PureBasic.chm hat geschrieben: Diese Art von Gadget dient nur zur dekorativen Zwecken
Erfüllt also auch nicht dem Zweck eine neue Gruppe aufzurufen
Hallo,

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.
Obwohl, oder gerade weil ich Anfänger bin, würde ich mich der "Forderung" von Falo anschließen wollen.

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

Re: OptionGadgets mit Mehrfachauswahl durch Gruppentrennung

Verfasst: 16.08.2005 21:31
von freedimension
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.
:roll:
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.

Re: OptionGadgets mit Mehrfachauswahl durch Gruppentrennung

Verfasst: 16.08.2005 22:34
von Peter aus der Nordheide
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.
:roll:
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.
Hallo freedimension,

ok, - ü b e r g e r e d e t.

Ich nehme jetzt CheckBoxen, so wie es sich gehört. :roll:

Gruß Peter

PS :

Aber deswegen die Ergänzung der ContainerGadgets bitte nicht aus den Augen verlieren.

OptionGadgets im Container ...

Verfasst: 17.08.2005 21:16
von Mr.X
Moin-Moin,

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

Vielleicht kann man's ja auch im Code-Archiv gebrauchen - als beispiel.

CU
Mr.X

Verfasst: 17.08.2005 22:59
von bluejoke
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

Verfasst: 18.08.2005 00:16
von Peter aus der Nordheide
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
Hallo 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

Verfasst: 18.08.2005 10:02
von Mr.X
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
Hi Simon,
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

Verfasst: 18.08.2005 11:16
von bluejoke
Ich meinte das Code-Beispiel von Mr. X, das bevor es vielleicht im Code Archiv verwendet wird imho auf jeden Fall derartig "überarbeitet" werden, wie ichs oben geschrieben habe. Sind ja nur dreimal die SetGadgetState auszukommentieren...