GadgetDemo (seen on screenshots page at www.purebasic.com)

Share your advanced PureBasic knowledge/code with the community.
User avatar
Andre
PureBasic Team
PureBasic Team
Posts: 2139
Joined: Fri Apr 25, 2003 6:14 pm
Location: Germany (Saxony, Deutscheinsiedel)
Contact:

GadgetDemo (seen on screenshots page at www.purebasic.com)

Post by Andre »

As some user asked for the code of this example on german forum, I will also post it here... :D
(Full archive including pics, icons, html is available from http://www.purebasic.com/download.php3

The code is in german only, but should also be readable for english speakers.... :wink:

Code: Select all

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

#WindowWidth  = 700
#WindowHeight = 530

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

  ; Laden der verwendeten Grafiken
  LoadImage(0, "Gfx\PureBasic.bmp")
  LoadImage(1, "Gfx\Map.bmp")
  LoadImage(2, "Gfx\Drive.bmp")
  LoadImage(3, "Gfx\File.bmp")
  LoadImage(4, "Gfx\New.ico")
  LoadImage(5, "Gfx\Save.ico")

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

  ; Erstellen des Menüs
  If CreateMenu(0, WindowID())     ; 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 
  If CreateGadgetList(WindowID())     ; ermittelt die eindeutige WindowID und darauf die neue Gadgetliste
    #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, UseImage(1))
    CheckBoxGadget   (3, 20,#y+160,120, 24, "Markierungsschalter")
    ComboBoxGadget   (4, 20,#y+200,130,100)
      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, "?")
    Frame3DGadget    (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,UseImage(0))
    TextGadget      (99, 20,#y+395,168, 47,"Gadget Demonstration"+Chr(10)+"(c) 13.04.2003 by Andre Beer"+Chr(10)+"PureBasic Team",#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")
    ClosePanelGadget()
    
    TreeGadget      (17,500,#y+ 20,170,150)
    For k=0 To 10
      AddGadgetItem (17, 0, "Allgemein "+Str(k), UseImage(3))
      AddGadgetItem (17, 0, "Verzeichnis "+Str(k), UseImage(2))
      OpenTreeGadgetNode(17)
        AddGadgetItem(17, 0, "Datei 1", UseImage(3))
        AddGadgetItem(17, 0, "Datei 2", UseImage(3))
        AddGadgetItem(17, 0, "Datei 3", UseImage(3))
        AddGadgetItem(17, 0, "Datei 4", UseImage(3))
      CloseTreeGadgetNode(17)
      AddGadgetItem (17, 0, "Datei "+Str(k), UseImage(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(1,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_EventGadget

        Select EventGadgetID()     ; 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_EventCloseWindow    ; 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())
              If EventMenuID()  ; 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_EventMenu
        Select EventMenuID()
          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(14,1)    ; Untermenü 1 deaktivieren
              DisableMenuItem(15,1)    ; Untermenü 2 deaktivieren
            Else                             ; Häkchen am Menüeintrag war nicht gesetzt
              SetMenuItemState(0,13,1)   ; Häkchen hinzufügen
              DisableMenuItem(14,0)    ; Untermenü 1 aktivieren
              DisableMenuItem(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(EventMenuID()), 0)
        EndSelect  
      EndIf

    Until EventID = #PB_EventCloseWindow
  EndIf 
EndIf

End  
Bye,
...André
(PureBasicTeam::Docs & Support - PureArea.net | Order:: PureBasic | PureVisionXP)
User avatar
Andre
PureBasic Team
PureBasic Team
Posts: 2139
Joined: Fri Apr 25, 2003 6:14 pm
Location: Germany (Saxony, Deutscheinsiedel)
Contact:

Post by Andre »

An updated version of this example (now completely with localization english + german) and with included gfx/icons/html is available in the Examples section of http://www.purebasic.com/download.php3.
Bye,
...André
(PureBasicTeam::Docs & Support - PureArea.net | Order:: PureBasic | PureVisionXP)
Post Reply