Seite 1 von 1

Clip-Board mal anders

Verfasst: 06.02.2019 22:28
von SDL
Ich hab mal wieder was gebastelt.
Ich benutze es zum schnellen ablegen von E-Mail-Adressen oder Textabschnitten.

Vielleicht kann es einer gebrauchen.
Einziger Wermutstropfen, die Oberfläche ist mit PureVision erstellt.
Aber da kann man ja selbst Handanlegen.

Hier die Links für den Code:
https://onedrive.live.com/embed?cid=078 ... WRlo_paMek
https://onedrive.live.com/embed?cid=078 ... ZN-gWIkaX4
https://onedrive.live.com/embed?cid=078 ... puc77AAKme

PVS Datei ; Code und die Hover.pbi die ich verwendet habe.
https://onedrive.live.com/embed?cid=078 ... jfeK7700vI Hier die EXE für alle die PureVision nicht haben.

Und hier mal der Code, bin für Kritiken und Hinweise dankbar:

Code: Alles auswählen

;******************************************************************************
;*                                                                            *
;*      (c) SDL                                      01/2019    *
;*                                                                            *
;******************************************************************************
;/ PureBasic v5.62 x64

;******************************************************************************
;* Variablendefinition & Konstanten                                           *
;******************************************************************************

;{ Konstanten
#GadgetIndex=#PB_Compiler_EnumerationValue

#Anzahl = 55          ; max. Anzahl der möglichen Button-Definitionen (5*11)
#Bubble_On =1         ; -1,0,1
#Bubble_len=24        ; ab Länge Bubbletip

; 5 mögliche (0-4) Tastenblöcke mit 11 Tasten
#Spalte=4             ; Anzahl der Tastenblöcke (0-4) 
#Zeile=10             ; Anzahl der Button ( 0-10 = 11)

#Null_= Chr(32)       ; Leerzeichen für Buttontext zum füllen für Array--> definierter Zustand
#Lo_="Löschen"
#Sp_="Speichern"
#B_ ="#-#"
;}

;{ Globale Variablen
Global BubbleTipStyle=#Bubble_On    ; Schalter für Bubbletip 
Global Datei$="Form-Text.ini"       ; INI-Dateiname
Global column.b =0                  ; aktuelle Spalte
Global change.b =0                  ; Hilfsvariable für Veränderungen

Global Gadget_Form1_Close       ; Schließ-Button    
Global Gadget_Form1_Button01    ; Kopier-Button 
Global Gadget_Form1_Button02  
Global Gadget_Form1_Button03  
Global Gadget_Form1_Button04  
Global Gadget_Form1_Button05  
Global Gadget_Form1_Button06  
Global Gadget_Form1_Button07  
Global Gadget_Form1_Button08  
Global Gadget_Form1_Button09  
Global Gadget_Form1_Button10  
Global Gadget_Form1_Button11  

Global Gadget_Form1_Button16    ;First digit-Button
Global Gadget_Form1_Option19    ;nach links blättern-Button
Global Gadget_Form1_Option20    ;nach recht blättern-Button

Global Gadget_Form1_Button19    ;Minimieren-Button

Global Button_1
Global Button_2
Global Button_3
Global Button_4
Global Button_5
Global Button_6
Global Button_7
Global Button_8
Global Button_9
Global Button_10
Global Button_11
;}

;{ Typenlose Variablen
Define EventID,GadgetID,WindowID,EventTypID ; Ereignis-Variablen 
Define quitForm1                            ; Schleifenende =1
;}

;{ Fenster Konstante
Global Window_Form1
;}

;{ Gadget Konstanten
Enumeration 1   ;Sequenz von Konstanten deklarieren
    ;für Window_Form1
    #Gadget_Form1_xPureSkin2
EndEnumeration
;}

;{ Image Constants
Enumeration 1
    #Image_Form1_xPureSkin2
EndEnumeration
;}

;{ Load Images
DataSection
    _OPT_Form1_xPureSkin2:
    IncludeBinary "Skins\200x312.pvs"
EndDataSection
;}

;{ Button/  mögliche (0-4) Tastenblöcke mit 11 Tasten
Global Dim Button_Clip.s(#Spalte,#Zeile) 
;}

XIncludeFile "Form1_Windows_mit.pb" ; Fensterdefinition
XIncludeFile "D:\PureBasic\Progx64\PureBasic\pbi\Hover.pbi" ; MouseOver über API
;XIncludeFile "D:\PureBasic\Progx64\PureBasic\pbi\ButtonColorGadget.pbi"

;{ Declaration der Proceduren
Declare PauseB(Text$)                   ; Speichern in Clipboard
Declare WindowFront(WindowID.l, Bool.b) ; Fenster in den Vordergrund oder Normal
Declare FirstDigit ()                   ; Vordergrund Button-Auswertung
Declare Datei_()                        ; INI-datei suchen
Declare Fuellen(Text$)                  ; Button_Clip füllen mit Leerstring (definierter Zustand)
Declare INI()                           ; INI-Datei öffnen und einlesen
Declare rotation_rechts()               ; Button_Clip nach rechts rotieren
Declare rotation_links()                ; Button_Clip nach links rotieren
Declare Button_()                       ; ButtonText ändern
Declare Bubble_Tip()                    ; Bubble-Tip aktivieren
Declare Loeschen(x,y)                   ; Lösche Array Textinhalt
Declare Speichern(x,y)                  ; speichert Text-Clip-Boardinhalt in Array
Declare Create_Form_Text_ini()          ; Form-Text.ini Leerdatei erstellen
Declare MyArray(x)                      ; Speichert Array in Datei
Declare Speicherabfrage()               ; Reqester für Änderung Übernehmen?
Declare Abfrage_(x,y)                   ; Abfrage Speicher/Löschen-Button für Clip
Declare Abfrage_PVG_Bubble (Gadget_Button,x,y)
Declare Abfrage_G_ToolTip(Gadget_Button,x,y) ;Tool-Tip Speicher/Löschen-Button
;}

;******************************************************************************
;*                                                                            *
;* Programm                                                                   *
;*                                                                            *
;******************************************************************************

Datei_() ; Test auf INI-Datei und Array füllen mit Leerstring

INI()    ; INI Zeilen auslesen und in Struktur schreiben

; *****************************************************************************
; *     Ereignisschleife                                                      *

If Window_Form1()   ; wenn Fenstererstellung erfolgreich
     
    SetGadgetState(Gadget_Form1_Button16,#True) ; setzt ToggleButton auf True
    WindowFront(Window_Form1,GetGadgetState(Gadget_Form1_Button16)) ; setzt Fenster per API in den Vordergrund
    
    ;Init Fenster für Hover.pbi
    InitHoverEvents(WindowID(Window_Form1))
    
    ;{ Init Gadget 1-11 für Hover.pbi
    AddHoverGadget(GadgetID(Gadget_Form1_Button01))
    AddHoverGadget(GadgetID(Gadget_Form1_Button02))
    AddHoverGadget(GadgetID(Gadget_Form1_Button03))
    AddHoverGadget(GadgetID(Gadget_Form1_Button04))
    AddHoverGadget(GadgetID(Gadget_Form1_Button05))
    AddHoverGadget(GadgetID(Gadget_Form1_Button06))
    AddHoverGadget(GadgetID(Gadget_Form1_Button07))
    AddHoverGadget(GadgetID(Gadget_Form1_Button08))
    AddHoverGadget(GadgetID(Gadget_Form1_Button09))
    AddHoverGadget(GadgetID(Gadget_Form1_Button10))
    AddHoverGadget(GadgetID(Gadget_Form1_Button11))
    ;}
    
    Button_()   ;ButtonText ändern
    Bubble_Tip(); Bubble-Tip aktualisieren
    
    quitForm1=0 ; Schleifenende
    Repeat
        EventID  =WaitWindowEvent()
        GadgetID =EventGadget()
        WindowID =EventWindow()
        EventTypID=EventType()
        
        
        Select EventID
                
            Case #WM_LBUTTONDOWN
                SendMessage_(WindowID(Window_Form1),#WM_NCLBUTTONDOWN,#HTCAPTION,0)  ;API
                ; Die Funktion SendMessage sendet die angegebene Nachricht an einem Fenster oder Windows. 
                ; Ruft die Fensterprozedur für das angegebene Fenster auf und kehrt erst nach der Verarbeitung 
                ; der Nachricht durch die Fensterprozedur zurück.
                
            Case #PB_Event_Gadget
                If EventType() = #HoverEvent_EnterGadget

                ; Zeichnet roten Rahmen um Taste
                    GetWindowRect_(GadgetID(EventGadget()), @wr.RECT)   ;API's
                    MapWindowPoints_(0, WindowID(Window_Form1), @wr, 2)
                    StartDrawing(WindowOutput(Window_Form1))
                    DrawingMode(#PB_2DDrawing_Outlined)
                    Box(wr\left-1, wr\top-1, wr\right-wr\left+2, wr\bottom-wr\top+2, #Red)
                    StopDrawing()
                ElseIf EventType() = #HoverEvent_LeaveGadget
                    
                ; entfernt roten Rahmen um Taste
                    GetWindowRect_(GadgetID(EventGadget()), @wr.RECT)   ; API's 
                    MapWindowPoints_(0, WindowID(Window_Form1), @wr, 2)
                    StartDrawing(WindowOutput(Window_Form1))
                    DrawingMode(#PB_2DDrawing_Outlined)
                    Box(wr\left-1, wr\top-1, wr\right-wr\left+2, wr\bottom-wr\top+2, GetSysColor_(#COLOR_3DFACE))
                    StopDrawing()
                EndIf
                
                Select GadgetID
                    Case Gadget_Form1_Close
                        Select WindowID
                            Case Window_Form1
                                quitForm1=1
                        EndSelect
                        
                    Case Gadget_Form1_Button01
                         PauseB(Button_Clip(column,0))   ; Kopiert String in die Zwischenablage
                    Case Gadget_Form1_Button02
                         PauseB(Button_Clip(column,1))
                    Case Gadget_Form1_Button03
                         PauseB(Button_Clip(column,2))
                    Case Gadget_Form1_Button04
                         PauseB(Button_Clip(column,3))
                    Case Gadget_Form1_Button05
                         PauseB(Button_Clip(column,4))
                    Case Gadget_Form1_Button06
                         PauseB(Button_Clip(column,5))
                    Case Gadget_Form1_Button07
                         PauseB(Button_Clip(column,6))
                    Case Gadget_Form1_Button08
                         PauseB(Button_Clip(column,7))
                    Case Gadget_Form1_Button09
                        PauseB(Button_Clip(column,8))
                    Case Gadget_Form1_Button10
                        PauseB(Button_Clip(column,9))
                    Case Gadget_Form1_Button11
                        PauseB(Button_Clip(column,10))
                        
                    Case Gadget_Form1_Button16
                        FirstDigit ()
                        
                    Case Gadget_Form1_Option19
                        rotation_rechts()
                        SetGadgetState(Gadget_Form1_Option19,0)
                    Case Gadget_Form1_Option20 
                        rotation_links()
                        SetGadgetState(Gadget_Form1_Option20,0)
                        
                    Case Gadget_Form1_Button19
                        SetWindowState(Window_Form1,#PB_Window_Minimize)
                        
                    Case Button_1
                        Abfrage_(column,0)
                    Case Button_2
                        Abfrage_(column,1)
                    Case Button_3
                        Abfrage_(column,2)   
                    Case Button_4
                        Abfrage_(column,3)    
                    Case Button_5
                        Abfrage_(column,4)
                    Case Button_6
                        Abfrage_(column,5)
                    Case Button_7
                        Abfrage_(column,6)
                    Case Button_8
                        Abfrage_(column,7)
                    Case Button_9
                        Abfrage_(column,8)                        
                    Case Button_10
                        Abfrage_(column,9)
                    Case Button_11 
                        Abfrage_(column,10) 
                        
                EndSelect
                
        EndSelect
    Until quitForm1
    
    If change=1:Speicherabfrage():EndIf
    
    EndHoverEvents(WindowID(Window_Form1))  ; Thread schließen
    FreeArray(Button_Clip())                ; Array leeren und freigeben
    CloseWindow(Window_Form1)               ; Fenster schließen
    
EndIf

End 

;******************************************************************************
;*                                                                            *
;* Prozeduren                                                                 *
;*                                                                            *
;******************************************************************************
; Löscht Zwischenablage und setzt neuen Inhalt nach Linksklick
Procedure PauseB (Text$)
    
    If EventType() = #PB_EventType_LeftClick    ; geht auch ohne, ist aber fehlerbehaftet
        ClearClipboard()
        SetClipboardText(Text$)
    EndIf
          
EndProcedure

;******************************************************************************
; Setzt Fenster per API in den Vordergrund
Procedure WindowFront(WindowID.l, Bool.b)

    Select Bool
        Case #True
            SetWindowPos_(WindowID(WindowID),#HWND_TOPMOST,0,0,0,0,#SWP_NOMOVE|#SWP_NOSIZE)
            ;SetWindowPos_(WindowID(WindowID), #HWND_TOPMOST, 0, 0, 0, 0, SWP_NoActivate Or SWP_ShowWindow Or SWP_NoMove Or SWP_NoSize)
        Case #False
            SetWindowPos_(WindowID(WindowID),#HWND_NOTOPMOST,0,0,0,0,#SWP_NOMOVE|#SWP_NOSIZE)
            ;SetWindowPos_(WindowID(WindowID), #HWND_NotTopMost, 0, 0, 0, 0, SWP_NoActivate Or SWP_ShowWindow Or SWP_NoMove Or SWP_NoSize)
    EndSelect
    ;StickyWindow(Window_Form1,#True)    ; Fenster im Vordergrund / PB-Befehl

EndProcedure

;******************************************************************************
; Setzt ToggleButton 
Procedure FirstDigit ()
    
    WindowFront(Window_Form1,GetGadgetState(Gadget_Form1_Button16)) ; 0= normal/ 1= Vordergrund
    
EndProcedure

;******************************************************************************
; Test auf .ini und Array mit Leerstring füllen
Procedure Datei_()
    Static Result 
    Static s0$="Fehler in INI-Datei"
    Static s1$="Error: Kann INI-Datei nicht finden."
    Static s2$="Neue Datei erstellen?"
    
    If FileSize(Datei$) < 1
        
        Result =MessageRequester(s0$, s1$+#CRLF$+s2$, #MB_ICONEXCLAMATION|#PB_MessageRequester_YesNo)
        
        If Result = #PB_MessageRequester_Yes       ; Ja-Schalter wurde gedrückt
            Create_Form_Text_ini()
        ElseIf Result = #PB_MessageRequester_No    ; Nein-Schalter wurde gedrückt
            FreeArray(Button_Clip())
            End       
            
        EndIf
    Else
        Fuellen(#Null_) 
    EndIf
    
EndProcedure

;******************************************************************************

Procedure INI()
    Static  _Zeile.s="" ; String der ausgelesenen Zeile
    Static  Zeile.s=""
    Static x=0          ; Hilfsvariablen für den zählindex
    Static y=0 
    Static i=0          ; Hilfsvariable Anzahl der Button
    
    If ReadFile(2,Datei$,#PB_Ascii)  ; öffnen der Textdatei zum auslesen der Daten
        
        While Eof(2) = 0  ; sich wiederholende Schleife bis das Ende der Datei ("end of file") erreicht ist
            
            _Zeile=ReadString(2)      ; liest den string aus(Zeile)
            If Len(_Zeile)>1          ; wenn keine "Leertaste"
                _Zeile=Trim(_Zeile) ; entfernt vorrangestellte und nachfolgende Leerzeichen/außer Leertaste mit " "
            EndIf
            
            If Left(_Zeile,3)=#B_   ; wenn Zeilentrenner
                If Zeile>""     ;vorhergehenden Text ablegen in Array wenn aktuelle Zeile "#-#"(neuer Button)
                    Button_Clip(x,y)= Zeile 
                    
                    If y=10 
                        x+1     ;Spalte
                        y=0     ; Zeile
                    Else
                        y+1  ; zähler um 1 erhöhen
                    EndIf
                    
                    ; Anzahl der möglichen Einträge begrenzen
                    i+1  
                    
                    If i>=#Anzahl ;doppelt Kugelsicher ;-)
                        Break
                    EndIf
                    Zeile=""    ; leeren
                EndIf
                
                Zeile=ReadString(2) ; wenn #-# dann lese nachfolgende Zeile
                If Len(Zeile)>1
                    Zeile=Trim(Zeile) ; entfernt vorrangestellte und nachfolgende Leerzeichen
                EndIf
            Else    
                Zeile=Zeile+#CRLF$+_Zeile    ; wenn nicht dann Zeilen verknüpfen
            EndIf
            
        Wend
        
        If i<>55:change=1:Create_Form_Text_ini():EndIf ; Fehler in .ini korregieren
        
        CloseFile(2)  ; schließt die Textdatei
        
    EndIf   
  
EndProcedure

;****************************************************************************
; Array mit Leerstring füllen; definierter Zustand
Procedure Fuellen(Text$)
    Static x=0
    Static y=0
    
    For  x=0 To #Spalte
        For y=0 To #Zeile
            Button_Clip(x,y) =  Text$    
        Next
    Next
    
EndProcedure

;****************************************************************************
; nach rechts rotieren
Procedure rotation_rechts()
    
    If column>0
        column-1   
    Else    
        column=4
    EndIf
     
    Button_()
    Bubble_Tip()
EndProcedure

;****************************************************************************
; nach links rotieren
Procedure rotation_links()
    If column<4
        column+1   
    Else    
        column=0
    EndIf
    
    Button_()
    Bubble_Tip()
EndProcedure

;****************************************************************************
; Button beschriften
Procedure Button_()
    
    SetGadgetText(Gadget_Form1_Button01, Button_Clip(column,0)) 
    SetGadgetText(Gadget_Form1_Button02, Button_Clip(column,1))
    SetGadgetText(Gadget_Form1_Button03, Button_Clip(column,2))
    SetGadgetText(Gadget_Form1_Button04, Button_Clip(column,3))
    SetGadgetText(Gadget_Form1_Button05, Button_Clip(column,4))
    SetGadgetText(Gadget_Form1_Button06, Button_Clip(column,5))
    SetGadgetText(Gadget_Form1_Button07, Button_Clip(column,6))
    SetGadgetText(Gadget_Form1_Button08, Button_Clip(column,7))
    SetGadgetText(Gadget_Form1_Button09, Button_Clip(column,8))
    SetGadgetText(Gadget_Form1_Button10, Button_Clip(column,9))
    SetGadgetText(Gadget_Form1_Button11, Button_Clip(column,10))

EndProcedure

;****************************************************************************
; Bubble-Tip aktualisieren
Procedure Bubble_Tip()
    
    Abfrage_PVG_Bubble(Gadget_Form1_Button01,column,0)    
    Abfrage_PVG_Bubble(Gadget_Form1_Button02,column,1)
    Abfrage_PVG_Bubble(Gadget_Form1_Button03,column,2)
    Abfrage_PVG_Bubble(Gadget_Form1_Button04,column,3)
    Abfrage_PVG_Bubble(Gadget_Form1_Button05,column,4)    
    Abfrage_PVG_Bubble(Gadget_Form1_Button06,column,5)    
    Abfrage_PVG_Bubble(Gadget_Form1_Button07,column,6)    
    Abfrage_PVG_Bubble(Gadget_Form1_Button08,column,7)
    Abfrage_PVG_Bubble(Gadget_Form1_Button09,column,8)
    Abfrage_PVG_Bubble(Gadget_Form1_Button10,column,9)
    Abfrage_PVG_Bubble(Gadget_Form1_Button11,column,10)
    
    Abfrage_G_ToolTip(Button_1,column,0)
    Abfrage_G_ToolTip(Button_2,column,1)
    Abfrage_G_ToolTip(Button_3,column,2)
    Abfrage_G_ToolTip(Button_4,column,3)
    Abfrage_G_ToolTip(Button_5,column,4)
    Abfrage_G_ToolTip(Button_6,column,5)
    Abfrage_G_ToolTip(Button_7,column,6)
    Abfrage_G_ToolTip(Button_8,column,7)
    Abfrage_G_ToolTip(Button_9,column,8)
    Abfrage_G_ToolTip(Button_10,column,9)
    Abfrage_G_ToolTip(Button_11,column,10)
    
EndProcedure

;****************************************************************************
; Löschen Button
Procedure Loeschen(x,y)
    
    Button_Clip(x,y)= #Null_
    Button_()
    Bubble_Tip()   
    change=1
EndProcedure

;****************************************************************************
; Speichern Button
Procedure Speichern(x,y)
    
    Button_Clip(x,y)=Trim(GetClipboardText())
    Button_()
    Bubble_Tip()   
    change=1
EndProcedure

;****************************************************************************
; Form-Text.ini leer erstellen / speichern

Procedure Create_Form_Text_ini()
    Static x
    Static s1$="Fehler INI-Datei"
    Static s2$="Schreibrechte fehlen"
    
    If  CreateFile(1,Datei$,#PB_Ascii)
        For x=1 To 55
            If x<10
                WriteStringN(1,#B_+"0"+Str(x))  
            Else
                WriteStringN(1,#B_+Str(x))  
            EndIf
            If change=0
                WriteStringN(1,#Null_)
            Else
              MyArray(x)
            EndIf
        Next x
        WriteString(1,#B_+"Ende. mehr geht nicht;-)..Nicht Löschen!!")
        
        CloseFile(1)  
    Else
        MessageRequester(s1$, s2$, #PB_MessageRequester_Error|#PB_MessageRequester_Ok)
        FreeArray(Button_Clip())
        End     
    EndIf  
    
EndProcedure

;****************************************************************************
; Array speichern
Procedure MyArray(z)
    ; Button_Clip.s(0-4,0-10)   
    If z=1
        Static x=0
        Static y=0
    EndIf
    
    If Button_Clip(x,y)<>""
        WriteStringN(1,Button_Clip.s(x,y))
    Else
        WriteStringN(1,#Null_)      ; Holzhammer
    EndIf
    
    If y=10 
        x+1   
        y=0  
    Else
        y+1  ; zähler um 1 erhöhen
    EndIf
 
EndProcedure

;****************************************************************************
;Speicherabfrage
Procedure Speicherabfrage()
    Static s1$="Änderungen speichern ?"
    
    Result =MessageRequester(#Sp_, s1$, #MB_ICONQUESTION|#PB_MessageRequester_YesNo)
    
    If Result = #PB_MessageRequester_Yes       ; Ja-Schalter wurde gedrückt
        Create_Form_Text_ini()
    EndIf
     
EndProcedure

;****************************************************************************
;Abfrage des Speicher/Lösch-Button
Procedure Abfrage_(x,y)
    
    If Button_Clip(x,y)> #Null_
        Loeschen(x,y)
    Else   
        Speichern(x,y)
    EndIf 
  
EndProcedure

;****************************************************************************
;  Abfrage Bubble_tip
Procedure Abfrage_PVG_Bubble(Gadget_Button,x,y)
    
    If Len(Button_Clip(x,y))>#Bubble_len
        PVGadgets_BubbleTip(Window_Form1,Gadget_Button,Button_Clip(x,y),#Bubble_On)    
    Else
        PVGadgets_BubbleTip(Window_Form1,Gadget_Button,"",#Bubble_On)
    EndIf
   
EndProcedure

;****************************************************************************
; Abfrage Tooltip
Procedure Abfrage_G_ToolTip(Gadget_Button,x,y)
    
    If Button_Clip(x,y)> #Null_
        GadgetToolTip(Gadget_Button, #Lo_)
    Else   
        GadgetToolTip(Gadget_Button, #Sp_)
    EndIf

EndProcedure

;****************************************************************************
Und das Fenster sieht dann so aus:

Code: Alles auswählen

Procedure.i Window_Form1()
    Window_Form1=OpenWindow(#PB_Any,173,228,200,314,"Work Form1",#PB_Window_BorderLess|#PB_Window_ScreenCentered|#PB_Window_Invisible)
    
    If Window_Form1
        PureSkinMem(Window_Form1,#Gadget_Form1_xPureSkin2,#Image_Form1_xPureSkin2,?_OPT_Form1_xPureSkin2,1)
        
        Gadget_Form1_Close=ButtonGadget(#PB_Any,130,25,20,20,"X",#PB_Button_Default)
        PVGadgets_BubbleTip(Window_Form1,Gadget_Form1_Close,"Bye Bye",0)
        
        Gadget_Form1_Button01=ButtonGadget(#PB_Any,39,63,140,20,"Button 1",#PB_Button_Left)
        Gadget_Form1_Button02=ButtonGadget(#PB_Any,39,84,140,20,"Button 2",#PB_Button_Left)
        Gadget_Form1_Button03=ButtonGadget(#PB_Any,39,105,140,20,"Button 3",#PB_Button_Left)
        Gadget_Form1_Button04=ButtonGadget(#PB_Any,39,126,140,20,"Button 4",#PB_Button_Left)
        Gadget_Form1_Button05=ButtonGadget(#PB_Any,39,147,140,20,"Button 5",#PB_Button_Left)
        Gadget_Form1_Button06=ButtonGadget(#PB_Any,39,168,140,20,"Button 6",#PB_Button_Left)
        Gadget_Form1_Button07=ButtonGadget(#PB_Any,39,189,140,20,"Button 7",#PB_Button_Left)
        Gadget_Form1_Button08=ButtonGadget(#PB_Any,39,210,140,20,"Button 8",#PB_Button_Left)
        Gadget_Form1_Button09=ButtonGadget(#PB_Any,39,231,140,20,"Button 9",#PB_Button_Left)
        Gadget_Form1_Button10=ButtonGadget(#PB_Any,39,252,140,20,"Button 10",#PB_Button_Left)
        Gadget_Form1_Button11=ButtonGadget(#PB_Any,39,273,140,20,"Button 11",#PB_Button_Left)
        
        Gadget_Form1_Button16=ButtonGadget(#PB_Any,50,25,60,20,"First digit",#PB_Button_Toggle)
        
        Gadget_Form1_Option19=OptionGadget(#PB_Any,22,49,13,14,"")
        PVGadgets_BubbleTip(Window_Form1,Gadget_Form1_Option19,"<--- nach links blättern ",0)
        
        Gadget_Form1_Option20=OptionGadget(#PB_Any,165,49,13,14,"")
        PVGadgets_BubbleTip(Window_Form1,Gadget_Form1_Option20,"nach rechts blätter --->",0)
        
        Gadget_Form1_Button19=ButtonGadget(#PB_Any,70,45,60,10,"---",$8000)
        PVGadgets_BubbleTip(Window_Form1,Gadget_Form1_Button19,"Minimieren",0)
        
        Button_1 = ButtonGadget(#PB_Any, 22, 65, 15, 15, "#")
        Button_2 = ButtonGadget(#PB_Any, 22, 86, 15, 15, "#")
        Button_3 = ButtonGadget(#PB_Any, 22, 107, 15, 15, "#")
        Button_4 = ButtonGadget(#PB_Any, 22, 128, 15, 15, "#")
        Button_5 = ButtonGadget(#PB_Any, 22, 149, 15, 15, "#")
        Button_6 = ButtonGadget(#PB_Any, 22, 170, 15, 15, "#")
        Button_7 = ButtonGadget(#PB_Any, 22, 191, 15, 15, "#")
        Button_8 = ButtonGadget(#PB_Any, 22, 212, 15, 15, "#")
        Button_9 = ButtonGadget(#PB_Any, 22, 233, 15, 15, "#")
        Button_10 = ButtonGadget(#PB_Any, 22, 255, 15, 15, "#")
        Button_11 = ButtonGadget(#PB_Any, 22, 275, 15, 15, "#")
        
        
        PureSkinHide(Window_Form1,0)
        
        ProcedureReturn WindowID(Window_Form1)
    EndIf
    
EndProcedure