Beispielcode mit allen Gadgets ?

Anfängerfragen zum Programmieren mit PureBasic.
¯\_(ツ)_/¯
Beiträge: 141
Registriert: 18.08.2017 09:35

Beispielcode mit allen Gadgets ?

Beitrag von ¯\_(ツ)_/¯ »

In der Hilfe gibt es manchmal je Gadget ein Beispielcode . Gibt es auch ein Beispielcode mit allen Gadgets so dass ich nicht in mehreren Reitern hin und her wechseln muss un rumzuspielen , was geht und was nicht geht ?

Oder muss ich den Code selber erstellen ? Ich kenne mich nicht so gut aus und würde gerne eine einzige Vorlage , wo alles drin ist , so dass ich damit machen kann, was ich will . Gibt es so etwas ?

Ich lerne am besten durch Try and Error , aber ich möchte nicht viele getrennte Beispielcodes zum Ausprobieren haben , sondern All In One .
Bild
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8679
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Beispielcode mit allen Gadgets ?

Beitrag von NicTheQuick »

Im Examples-Ordner in deinem Purebasic-Installations-Verzeichnis ist zum Beispiel eine Gadget.pb, eine AdvancedGadgets.pb und weitere. Schau dich doch dort mal um.
Bild
¯\_(ツ)_/¯
Beiträge: 141
Registriert: 18.08.2017 09:35

Re: Beispielcode mit allen Gadgets ?

Beitrag von ¯\_(ツ)_/¯ »

Beide Dateien kenne ich schon und habe sie ausprobiert , aber es sind immer nur ein paar Gadgets , die eingebaut wurden .

Danke trotzdem . :) Dann versuche ich später selber alle Gadgets einzubauen . Oder ich muss halt hin und her switchen . Zwar umständlich , aber machbar . :)
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Beispielcode mit allen Gadgets ?

Beitrag von RSBasic »

Ich habe noch einen sehr alten Beispielcode von André aus dem Jahr 2002, der sich auf der TOPOS-CD befand, den ich für dich mal auf die neuste PB-Version aktualisiert habe. Im folgenden Beispielcode hast du etwas mehr Gadgets (ButtonGadget, ButtonImageGadget, CheckBoxGadget, ComboBoxGadget, FrameGadget, IPAddressGadget, ImageGadget, TextGadget, ListIconGadget, ListViewGadget, OptionGadget, PanelGadget, TreeGadget, SpinGadget, StringGadget, TrackBarGadget, ProgressBarGadget und WebGadget):

Code: Alles auswählen

;
; ------------------------------------------------------------
;
;   PureBasic - Gadget example file
;
;    (c) 2002 - Fantaisie Software
;
; ------------------------------------------------------------
;

#WindowWidth  = 700
#WindowHeight = 530

; Erstellen des gewünschten Fensters
If OpenWindow(0, 100, 120, #WindowWidth, #WindowHeight, "PureBasic - Gadget Demonstration  (c) 2002 by Andre Beer", #PB_Window_MinimizeGadget)

  ; Laden der verwendeten Grafiken
  CreateImage(0, 16, 16, 24, RGB(255, 0, 0))
  CreateImage(1, 16, 16, 24, RGB(255, 255, 0))
  CreateImage(2, 16, 16, 24, RGB(255, 255, 255))
  CreateImage(3, 16, 16, 24, RGB(255, 0, 255))
  CreateImage(4, 16, 16, 24, RGB(0, 0, 255))
  CreateImage(5, 16, 16, 24, RGB(0, 255, 255))

  ; Erstellen der ToolBar-Leiste
  If CreateToolBar(0, WindowID(0))
    ToolBarStandardButton(0, #PB_ToolBarIcon_New)  : ToolBarToolTip(0, 0, "Neu")
    ToolBarStandardButton(1, #PB_ToolBarIcon_Open) : ToolBarToolTip(0, 0, "Öffnen") 
    ToolBarStandardButton(2, #PB_ToolBarIcon_Save) : ToolBarToolTip(0, 0, "Speichern")
    ToolBarSeparator()
    ToolBarStandardButton(4, #PB_ToolBarIcon_Print) : ToolBarToolTip(0, 4, "Drucken")
    ToolBarStandardButton(10, #PB_ToolBarIcon_Find) : ToolBarToolTip(0, 10, "Suchen")
    ToolBarSeparator()
    ToolBarImageButton(11, ImageID(4))
    ToolBarImageButton(12, ImageID(5))
  EndIf

  ; Erstellen des Menüs
  If CreateMenu(0, WindowID(0))     ; ermittelt die eindeutige WindowID und darauf die neue Menüliste
    MenuTitle("Projekt")
      MenuItem(0, "Neu")
      MenuItem(1, "Öffnen")
      MenuItem(2, "Speichern")
      MenuItem(3, "Speichern als")
      MenuBar()
      MenuItem(4, "Drucken")
      MenuBar()
      MenuItem(5, "Quit")
    MenuTitle("Bearbeiten")
      MenuItem(6, "Rückgängig")
      MenuItem(7, "Ausschneiden")
      MenuItem(8, "Kopieren")
      MenuItem(9, "Einfügen")
      MenuBar()
      MenuItem(10, "Suchen in ...")
    MenuTitle("Optionen")
      MenuItem(16, "Zeichensatz auswählen")
      MenuItem(17, "Farbe auswählen")
      MenuBar()
      MenuItem(18, "Pfad festlegen")
    MenuTitle("Sonstiges")
      MenuItem(13, "Aktiviere Untermenü")
      OpenSubMenu("Untermenü")
        MenuItem(14, "Eintrag 1")
        MenuItem(15, "Eintrag 2")
      CloseSubMenu()
      SetMenuItemState(0,13,1)     ; setzt Häkchen vor dem Menüeintrag "Aktiviere Untermenü"
    MenuTitle("?")
      MenuItem(19, "Über...")
  EndIf

  ; Festlegen der Tastenkürzel (u.a. für Menü-Einträge)
  AddKeyboardShortcut(0, #PB_Shortcut_Control | #PB_Shortcut_Z, 16)  ; STRG + Z: Rückgabewert 16 entspricht dem Menüeintrag "Zeichensatz auswählen"
  AddKeyboardShortcut(0, #PB_Shortcut_Control | #PB_Shortcut_F, 17)  ; STRG + F: Rückgabewert 17 entspricht dem Menüeintrag "Farbe auswählen"
  AddKeyboardShortcut(0, #PB_Shortcut_Control | #PB_Shortcut_P, 18)  ; STRG + P: Rückgabewert 18 entspricht dem Menüeintrag "Pfad festlegen"
  AddKeyboardShortcut(0, #PB_Shortcut_Control | #PB_Shortcut_I, 19)  ; STRG + I: Rückgabewert 19 entspricht dem Menüeintrag "Über..."
  AddKeyboardShortcut(0, #PB_Shortcut_F1, 500)                       ; F1:       Legt 500 als Rückgabewert für die "F1"-Taste fest
  AddKeyboardShortcut(0, #PB_Shortcut_Escape, 501)                   ; ÊSC:      Legt 501 als Rückgabewert für die "ESC"-Taste fest

  ; Erstellen der Gadgets 
    #y=15   ; definiert zusätzlichen Abstand zum Fensterrand wegen der ToolBar-Leiste
    ButtonGadget     (1, 20,#y+ 20, 80, 24, "Schalter")
    GadgetToolTip    (1,"Erklärung zum Gadget Schalter")
    ButtonImageGadget(2, 20,#y+ 62,100, 83, ImageID(1))
    CheckBoxGadget   (3, 20,#y+160,120, 24, "Markierungsschalter")
    ComboBoxGadget   (4, 20,#y+200,130,20)
      AddGadgetItem  (4,-1,"Element 1")
      AddGadgetItem  (4,-1,"Element 2")
      AddGadgetItem  (4,-1,"Element 3")
      AddGadgetItem  (4,-1,"Element 4")
      ButtonGadget  (98,155,#y+200, 20, 22, "?")
    FrameGadget    (5, 20,#y+240,150, 40,"Frame3DGadget",0)
    IPAddressGadget  (6, 20,#y+300,120, 22)    
      ButtonGadget  (97,145,#y+300, 20, 22, "?")
    ImageGadget      (7, 20,#y+340,168, 35,ImageID(0))
    TextGadget      (99, 20,#y+395,168, 47,"Gadget Demonstration"+Chr(10)+"(c) 03.08.2002 by Andre Beer"+Chr(10)+"PureBasic Team Member",#PB_Text_Center|#PB_Text_Border)
      ButtonGadget  (96, 79,#y+450, 50, 22, "Exit")
    ListIconGadget   (8,220,#y+ 20,250, 80,"Feld 1",75)
      AddGadgetColumn(8, 1, "Feld 2",75)
      AddGadgetColumn(8, 2, "Feld 3",75)
      AddGadgetItem  (8,-1, "Element 1"+Chr(10)+"Spalte 2"+Chr(10)+"Spalte 3")
      AddGadgetItem  (8,-1, "Element 2"+Chr(10)+"Spalte 2"+Chr(10)+"Spalte 3")
      AddGadgetItem  (8,-1, "Element 3"+Chr(10)+"Spalte 2"+Chr(10)+"Spalte 3")
      AddGadgetItem  (8,-1, "Element 4"+Chr(10)+"Spalte 2"+Chr(10)+"Spalte 3")
      AddGadgetItem  (8,-1, "Element 5"+Chr(10)+"Spalte 2"+Chr(10)+"Spalte 3")
    ListViewGadget   (9,220,#y+115,250, 80)
      For a=1 To 6
        AddGadgetItem  (9,-1,"Zeile "+Str(a)+" vom Listview")
      Next  
    OptionGadget    (10,220,#y+205, 60, 20,"Option 1")
    OptionGadget    (11,220,#y+223, 60, 20,"Option 2")
    OptionGadget    (12,220,#y+241, 60, 20,"Option 3")
      ButtonGadget  (94,220,#y+264, 60, 20,"Info")
      TextGadget    (95,300,#y+205,170, 60,"",#PB_Text_Border)     ; in dieses Textausgabe-Gadget erfolgen später Ausdrucke vom ListView und ListIcon
    PanelGadget     (13,220,#y+295,250,80)
      AddGadgetItem (13,-1,"Panel 1")                   ; Erstellen der ersten "Seite" des Panel-Gadgets
        ButtonGadget(93, 10, 15, 80, 24,"Schalter 1")   ; auf dieser Seite können jetzt beliebige weitere Gadgets eingefügt werden
        ButtonGadget(92, 95, 15, 80, 24,"Schalter 2")
      AddGadgetItem (13,-1,"Panel 2")                   ; Erstellen der zweiten "Seite" des Panel-Gadgets
        ButtonGadget(91, 50, 15, 80, 24,"Schalter 3")   ; auf dieser Seite können jetzt beliebige weitere Gadgets eingefügt werden
        ButtonGadget(90,135, 15, 80, 24,"Schalter 4")
    CloseGadgetList()
    
    TreeGadget      (17,500,#y+ 20,170,150)
    For k=0 To 10
      AddGadgetItem (17, 0, "Allgemein "+Str(k), ImageID(3))
      AddGadgetItem (17, 0, "Verzeichnis "+Str(k), ImageID(2))
        AddGadgetItem(17, 1, "Datei 1", ImageID(3))
        AddGadgetItem(17, 1, "Datei 2", ImageID(3))
        AddGadgetItem(17, 1, "Datei 3", ImageID(3))
        AddGadgetItem(17, 1, "Datei 4", ImageID(3))
      AddGadgetItem (17, 0, "Datei "+Str(k), ImageID(3))
    Next
    SpinGadget      (18,500,#y+185,170,24,0,1000)      ; 0 = Minimum, 1000 = Maximum
    SetGadgetState  (18,5) : SetGadgetText(18,"5")  ; Anfangswert einstellen
    GadgetToolTip   (18,"Dies ist ein SpinGadget.")
    StringGadget    (19,500,#y+225,173,24,"StringGadget - bitte Text eingeben...")
    TextGadget      (20,500,#y+260,173,20,"Dies ist ein TextGadget...")
    TextGadget      (21,500,#y+280,173,35,"... und dies eins mit Rand und rechtsbündig",#PB_Text_Right|#PB_Text_Border)
    TrackBarGadget  (22,500,#y+325,157,24,0,100)
    SetGadgetState  (22,70)
      ButtonGadget  (88,662,#y+325, 20, 20, "?")
    ProgressBarGadget(14,500,#y+355,157,18,0,50)
    SetGadgetState   (14,20)
      ButtonGadget  (89,662,#y+354, 20, 20, "?")
      
      ; Ermitteln des aktuellen Dateipfads
      x = AllocateMemory(1000,0) 
      GetCurrentDirectory_(1000,x)    ; WinAPI Befehl in Aktion
      Dir$ = PeekS(x) 
    WebGadget       (23,220,#y+385,462,100,"file://"+Dir$+"\Html\map.htm") 

    Repeat
      EventID.l = WaitWindowEvent()
    
      ; Hier folgt jetzt die Überprüfung auf aufgetretene Ereignisse bei den Gadgets...
      If EventID = #PB_Event_Gadget

        Select EventGadget()     ; Abfrage, bei welchem Gadget ein Ereignis auftrat (mit Hilfe der definierten Gadget-Nummer)
          ; Gadgets der linken Spalte im Demo-Fenster
          Case 1   ; Schalter (Button)
            MessageRequester("Beispiel für die Verwendung von DisableGadget()","Der Schalter wird gleich deaktiviert"+Chr(10)+"und der Bildschalter (wieder) aktiviert...",0)
            DisableGadget(2,0)  ; Aktiviert das Bild-Gadget
            DisableGadget(1,1)  ; Deaktiviert den "normalen" Schalter

          Case 2   ; Bild-Schalter (ButtonImage)
            MessageRequester("Beispiel für die Verwendung von DisableGadget()","Der Bildschalter wird gleich deaktiviert"+Chr(10)+"und der normale Schalter (wieder) aktiviert...",0)
            DisableGadget(1,0)  ; Aktiviert den "normalen" Schalter
            DisableGadget(2,1)  ; Deaktiviert den Bild-Schalter
        
          Case 3   ; Häkchen-Schalter (CheckBox)
            If GetGadgetState(3) = 1    ; mit Häkchen
              a$="Das Häkchen wurde soeben gesetzt."
            Else                        ; ohne Häkchen
              a$="Das Häkchen wurde soeben entfernt."
            EndIf
            MessageRequester("Information zum Häkchen-Schalter",a$,0)
        
          Case 98   ; Fragezeichen beim Auswahl-Gadget (ComboBox)
            a=GetGadgetState(4)
            If a = -1   ; nichts markiert
              a$="Es wurde nichts ausgewählt !"
            Else        ; ein Eintrag wurde ausgewählt
              a$="Sie haben folgenden Eintrag ausgewählt:"+Chr(10)     ; Chr(10) fügt einen Zeilenumbruch hinzu
              a$+"Index-Nr.: "+Str(a)+"  - Name des Eintrags: "+GetGadgetText(4)
            EndIf  
            MessageRequester("Information zur Auswahlbox",a$,0)
             
          Case 5   ; Frame3DGadget
            ; hier erfolgt kein Abfrage, das ein Anklicken des Frame3DGadgets nicht möglich ist
            ; dieses Gadget dient nur zur Verzierung, ist also "lediglich" ein graphisches Element
          
          Case 97  ; Fragezeichen beim IPAddressGadget
            MessageRequester("Information über das IPAddressGadget","Die eingegebene IP-Adresse lautet: "+GetGadgetText(6),0)

          Case 7   ; ImageGadget
            ; hier erfolgt kein Abfrage, das ein Anklicken des ImageGadgets nicht möglich ist
            ; dieses Gadget dient nur zur Verzierung, ist also "lediglich" ein graphisches Element

          Case 96  ; Exit...
            a = MessageRequester("Frage","Das Demo wirklich beenden ?",#PB_MessageRequester_YesNoCancel)
            If a = 6       ; Ja angeklickt...
              EventID = #PB_Event_CloseWindow    ; die Bedingung der übergeordneten Repeat-Until Schleife wird damit erfüllt und das Programm beendet
            ElseIf a = 2   ; Abbrechen angeklickt
              MessageRequester("Weiter gehts...","Sie haben Abbrechen angeklickt...",#PB_MessageRequester_Ok)
            Else           ; Nein angeklickt  (a = 7)
              MessageRequester("Weiter gehts...","Sie haben sich für nein entschieden  :))",#PB_MessageRequester_Ok)
            EndIf
          
          ; Gadgets der mittleren Spalte im Demo-Fenster
          Case 8   ; ListIcon
            SetGadgetText(95, "ListIcon Gadget"+Chr(10)+"-------------------------"+Chr(10)+"Lfd. Nummer des Eintrags: "+Str(GetGadgetState(8))+Chr(10)+"Inhalt: "+GetGadgetText(8))
            If EventType() = 2     ; Doppelter Mausklick
              MessageRequester("Information zum ListIconGadget", "Doppelter Mausklick: Eintrag "+Str(GetGadgetState(8))+", Text: "+GetGadgetText(8), 0)
            ElseIf EventType() = 1   ; Rechter Mausklick
              MessageRequester("Hilfe", "Dies ist ein ListIcon-Gadget!", 0)
            EndIf
          
          Case 9   ; ListView
            SetGadgetText(95, "ListView Gadget"+Chr(10)+"-------------------------"+Chr(10)+"Lfd. Nummer des Eintrags: "+Str(GetGadgetState(9))+Chr(10)+"Inhalt: "+GetGadgetText(9))
            If EventType() = 2        ; Doppelter Mausklick (entspricht #PB_EventType_LeftDoubleClick)
              a$="Doppelter Mausklick: Eintrag "+Str(GetGadgetState(9))         ; ermittelt die Position des ausgewählten Eintrags, beginnend bei 0
              a$+", Text: "+GetGadgetText(9)                                    ; ermittelt den (Text-) Inhalt des ausgewählten Eintrags
              a$+Chr(10)                                                        ; fügt einen Zeilenumbruch hinzu
              a$+"Das Listview enthält "+Str(CountGadgetItems(9))+" Einträge"   ; ermittelt die Anzahl der Einträge im Listview
              MessageRequester("Information zum ListViewGadget",a$, 0)          ; Ausgabe der eben im String a$ gespeicherten Informationen...
              MessageRequester("ListViewGadget","Jetzt wollen wir den aktuell ausgewählten Eintrag im ListView entfernen...",0)
              RemoveGadgetItem(9, GetGadgetState(9))   ; entfernt das aktuelle Element im ListView
              a=MessageRequester("ListViewGadget","Na, sehen Sie ?",#PB_MessageRequester_YesNo)
              If a=7     ; mit Nein geantwortet
                a$="Tomaten auf den Augen... ?   ;)"
              Else       ; mit Ja geantwortet
                a$=":)))"
              EndIf
              MessageRequester("ListViewGadget",a$,0)
              MessageRequester("ListViewGadget","Damit das Listview aber nicht leer wird,"+Chr(10)+"müssen wir natürlich auch wieder einen Eintrag hinzufügen.",0)
              AddGadgetItem(9,0,a$)     ; die 0 bestimmt die Position, an der neue Eintrag eingefügt wird - in diesem Fall an erster Stelle 
                                      ; genauso wäre eine höhere Zahl möglich oder -1, wenn der neue Eintrag an letzter Stelle eingefügt werden soll
              MessageRequester("ListViewGadget","Das war ein kleines Beispiel im Umgang mit dem ListViewGadget.",0)
            EndIf

          Case 94   ; Info-Schalter bei den OptionGadgets
            a$="keiner"
            If GetGadgetState(10) : a$ = GetGadgetText(10) : EndIf
            If GetGadgetState(11) : a$ = GetGadgetText(11) : EndIf
            If GetGadgetState(12) : a$ = GetGadgetText(12) : EndIf
            MessageRequester("Information zum OptionGadget", "Ausgewählter Eintrag: "+a$, 0)
  
          Case 93
            MessageRequester("PanelGadget","Seite 1 des PanelGadget"+Chr(10)+"Schalter 1 angeklickt.",0)
          Case 92
            MessageRequester("PanelGadget","Seite 1 des PanelGadget"+Chr(10)+"Schalter 2 angeklickt.",0)
          Case 91  
            MessageRequester("PanelGadget","Seite 2 des PanelGadget"+Chr(10)+"Schalter 3 angeklickt.",0)
          Case 90
            MessageRequester("PanelGadget","Seite 2 des PanelGadget"+Chr(10)+"Schalter 4 angeklickt.",0)
         
          ; Gadgets der rechten Spalte im Demo-Fenster
          Case 17
            SetGadgetText(95, "TreeGadget"+Chr(10)+"--------------------"+Chr(10)+"Lfd. Nummer des Eintrags: "+Str(GetGadgetState(17))+Chr(10)+"Inhalt: "+GetGadgetText(17))
            If EventType() = 2     ; Doppelter Mausklick
              MessageRequester("Information zum TreeGadget", "Doppelter Mausklick: Eintrag "+Str(GetGadgetState(17))+", Text: "+GetGadgetText(17), 0)
            ElseIf EventType() = 1
              DisplayPopupMenu(0, WindowID(0))
              If EventMenu()  ; Wenn ein Menü-Eintrag ausgewählt wurde...
                MessageRequester("Hilfe", "Dies ist ein Tree-Gadget!", 0)
              EndIf
            EndIf

          Case 18    ; SpinGadget
            SetGadgetText(18,Str(GetGadgetState(18)))
            WindowEvent()      ; unbedingt erforderlich, um endlose Ereignissschleifen zu vermeiden

          Case 19           ; String-Gadget
            If EventType() = #PB_EventType_ReturnKey
              MessageRequester("Information", "Die Return-Taste wurde gedrückt.", 0)
            EndIf

          Case 88   ; Fragezeichen neben dem TrackBarGadget
            a$="Der aktuelle Stand des Schiebereglers liegt bei "+Str(GetGadgetState(22))+"%."
            MessageRequester("Information zum TrackBarGadget", a$, 0)

          Case 89   ; Fragezeichen neben dem ProgressBarGadget
            a$="Der aktuelle Stand des Fortschrittsbalkens liegt bei "+Str(GetGadgetState(14))+" von 50."
            MessageRequester("Information zum ProgressBarGadget", a$, 0)
            a$="Dies können wir jedoch auch einfach ändern:"+Chr(10)
            a$+"Mit den Befehl SetGadgetState() und Random() setzen"+Chr(10)
            a$+"wir den Wert auf einen zufällig ermittelten neuen Wert."
            MessageRequester("Information zum ProgressBarGadget", a$, 0)
            SetGadgetState(14,Random(50))

        EndSelect
      EndIf 
      
      ; Überprüfen der Menü- UND Toolbar-Ereignisse
      ; ===========================================
      ; Dabei handelt es sich in diesem Beispiel um die gleichen Ereignisse (da die ToolBar-Piktogramme
      ; oftmals als "Shortcuts" für die entsprechenden Menü-Punkte dienen). Bei Verwendung der gleichen
      ; IDs für ToolBar- und Menüeinträge können mit EINER Abfrage die gleichen Operationen eingeleitet
      ; werden
      
      If EventID = #PB_Event_Menu
        Select EventMenu()
          Case 1
            Name$ = OpenFileRequester("Bitte Datei zum Laden auswählen", "C:\autoexec.bat", "Text (*.txt)|*.txt;*.bat|(PureBasic (*.pb)|*.pb|Alle Dateien (*.*)|*.*", 0)
            If Name$+Name$
              MessageRequester("Information", "Sie haben folgende Datei ausgewählt:"+Chr(10)+Name$, 0)
            Else
              MessageRequester("Information", "Der Requester wurde abgebrochen.", 0)  
            EndIf
          Case 3
            Name$ = SaveFileRequester("Bitte Datei zum Speichern auswählen", "C:\autoexec.bat", "Text (*.txt)|*.txt;*.bat|(PureBasic (*.pb)|*.pb|Alle Dateien (*.*)|*.*", 0)
            If Name$
              MessageRequester("Information", "Sie haben folgende Datei ausgewählt:"+Chr(10)+Name$, 0)
            Else
              MessageRequester("Information", "Der Requester wurde abgebrochen.", 0)  
            EndIf
          Case 11
            MessageRequester("Info","Sie haben eines der beiden selbst erstellten Toolbar-Icons angeklickt.",0)          
          Case 12
            MessageRequester("Info","Sie haben eines der beiden selbst erstellten Toolbar-Icons angeklickt.",0)          
          Case 13
            If GetMenuItemState(0,13) = 1    ; Häkchen am Menüeintrag ist gesetzt
              SetMenuItemState(0,13,0)   ; Häkchen entfernen
              DisableMenuItem(0,14,1)    ; Untermenü 1 deaktivieren
              DisableMenuItem(0,15,1)    ; Untermenü 2 deaktivieren
            Else                             ; Häkchen am Menüeintrag war nicht gesetzt
              SetMenuItemState(0,13,1)   ; Häkchen hinzufügen
              DisableMenuItem(0,14,0)    ; Untermenü 1 aktivieren
              DisableMenuItem(0,15,0)    ; Untermenü 2 aktivieren
            EndIf
          Case 16    ; Zeichensatz auswählen
            If FontRequester("Courier", -13, 0)
              a$="Sie haben folgenden Zeichensatz ausgewählt:"+Chr(10)
              a$+"Name:  "+SelectedFontName()+Chr(10)
              a$+"Höhe:  "+Str(SelectedFontSize())+Chr(10)
              ; a$+"Stil:  "+Str(SelectedFontStyle())+Chr(10)
              ; a$+"Farbe: "+Str(SelectedFontColor())
              MessageRequester("Information zum FontRequester", a$, 0)
            EndIf

          Case 17    ; Farbe auswählen
            Farbe = ColorRequester()
            If Farbe > -1
              a$="Sie haben folgenden Farbwert ausgewählt:"+Chr(10)
              a$+"Rot:  "+Str(Red(Farbe))+Chr(10)
              a$+"Grün: "+Str(Green(Farbe))+Chr(10)
              a$+"Blau: "+Str(Blue(Farbe))
              MessageRequester("Information zum ColorRequester", a$, 0)
            EndIf

          Case 18    ; Pfad festlegen
            Pfad$ = PathRequester("Wählen Sie einen Dateipfad aus...","C:\")
            If Pfad$
              MessageRequester("Information zum PathRequester", "Folgender Dateipfad wurde ausgewählt:"+Chr(10)+Pfad$, 0)
            Else
              MessageRequester("Information zum PathRequester", "Der Requester wurde abgebrochen.", 0)  
            EndIf

          Case 19    ; Über - Requester
            a$="Diese Demo wurde für die BoxedVersion von PureBasic geschaffen und soll"+Chr(10)
            a$+"Ihnen den Einstieg in die Programmierung von Windows-Oberflächen erleichtern."+Chr(10)+Chr(10)
            a$+"(c) 2002 by Andre Beer / Topos Verlag"
            MessageRequester("Über...",a$,0)
            
          Case 500   ; F1-Taste
            MessageRequester("Information","Sie haben die F1-Taste gedrückt.",0)
            
          Case 501   ; ESC-Taste
            MessageRequester("Information","Sie haben die ESC-Taste gedrückt.",0)

          Default
            MessageRequester("Information", "Ausgewählter ToolBar- bzw. Menü-Eintrag: "+Str(EventMenu()), 0)
        EndSelect  
      EndIf

    Until EventID = #PB_Event_CloseWindow 
EndIf

End  
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
¯\_(ツ)_/¯
Beiträge: 141
Registriert: 18.08.2017 09:35

Re: Beispielcode mit allen Gadgets ?

Beitrag von ¯\_(ツ)_/¯ »

Cool danke ! Da ist alles drin , was ich brauche ! :)

Was ist eine TOPOS-CD ?

2002 ? So lange gibt es PureBasic schon ?
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Beispielcode mit allen Gadgets ?

Beitrag von RSBasic »

TOPOS war damals einer der Publisher für PureBasic und es wurde damals auch im Laden verkauft.
Dank TOPOS habe ich damals zufällig PB (3.30) im Media Markt entdeckt und auf der CD sind noch weitere Beispielcodes und Dokumentationen vorhanden wie z.B. das Entwickeln eines Strategiespiels.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
¯\_(ツ)_/¯
Beiträge: 141
Registriert: 18.08.2017 09:35

Re: Beispielcode mit allen Gadgets ?

Beitrag von ¯\_(ツ)_/¯ »

Interessant :D

Und wie lange gibt es PB schon ? Weißt du das ?
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Beispielcode mit allen Gadgets ?

Beitrag von RSBasic »

Genau weiß ich das nicht, aber laut Changelog wurde die Version 1.60 im Jahr 2000 veröffentlicht. Wann die erste Version rauskam, konnte ich leider nicht ermitteln.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
mk-soft
Beiträge: 3701
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Beispielcode mit allen Gadgets ?

Beitrag von mk-soft »

TOPOS...

Die CD habe ich immer noch. Habe aber schnell das Upgrade zur Vollversion bestellt :wink:
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Beispielcode mit allen Gadgets ?

Beitrag von RSBasic »

Bei mir erst zwei Jahre später. :D
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten