Rechtsklick in Dialogen

Anfängerfragen zum Programmieren mit PureBasic.
Oliver1994
Beiträge: 321
Registriert: 15.06.2008 21:52

Rechtsklick in Dialogen

Beitrag von Oliver1994 »

Hallo,

wie kann ich in PB folgendes hinkriegen:

Wenn ich in einen Eine/Mehrere Daten makieren (in einer ExplorerList) und dann rechtsklicke das da Download und andere Sachen stehen?

Viele Grüße

Jens
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@Oliver1994
Meinst du etwa so?

Code: Alles auswählen

If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  If CreateGadgetList(WindowID(0))
    ExplorerListGadget(1,10,10,480,230,"C:\",#PB_Explorer_MultiSelect)
    ChangeListIconGadgetDisplay(1,#PB_ListIcon_LargeIcon)
  EndIf
  
  if CreatePopupImageMenu(1,#PB_Menu_ModernLook)
    MenuItem(1,"Öffnen",0)
    MenuItem(2,"Download",0)
  endif

Repeat
EventID=WaitWindowEvent()
If EventID=#PB_Event_Gadget
  Select EventGadget()
    Case 1
      If EventType()=#PB_EventType_RightClick
        If Not GetGadgetState(1)=-1
          DisplayPopupMenu(1,WindowID(0))
        EndIf
      EndIf
  EndSelect
EndIf
If EventID=#PB_Event_CloseWindow
  Quit=1
EndIf
Until Quit=1
EndIf
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Oliver1994
Beiträge: 321
Registriert: 15.06.2008 21:52

Beitrag von Oliver1994 »

genau!

danke!

und durch deinen code hab ich noch ne frage:

wie machst du das blaue davor?

das sieht irgendwie nach visual basic aus!

geht das bei allen gadget in pure basic?

gruß

jens
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@Oliver1994
Oliver1994 hat geschrieben:wie machst du das blaue davor?
Mit Hilfe dieser Konstante: #PB_Menu_ModernLook

Wenn du diesen blauen Banner nicht haben möchtest, kannst du einfach durch 0 ersetzen.
Oliver1994 hat geschrieben:geht das bei allen gadget in pure basic?
Nur bei Menüs.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Oliver1994
Beiträge: 321
Registriert: 15.06.2008 21:52

Beitrag von Oliver1994 »

Irgendwie krieg ich das nicht in meinen Dialog eingebaut!

Code: Alles auswählen


IncludeFile "source.pb"

Open_Window_0()

Repeat 
  
  Event = WaitWindowEvent() 
  
  WindowID = EventWindow() 
    
  GadgetID = EventGadget() 
  
  EventType = EventType() 
  

  If Event = #PB_Event_Menu
    
    MenuID = EventMenu()
    
  
    
    If MenuID = #MENU_1
      MessageRequester("Log", "Neue FTP Verbindung", 0)
      
    ElseIf MenuID = #MENU_2
      MessageRequester("Log", "Verbinden", 0)
      
    ElseIf MenuID = #MENU_3
      MessageRequester("Log", "Trennen", 0)
      
    ElseIf MenuID = #MENU_4
      MessageRequester("Log", "Beenden", 0)
      
    ElseIf MenuID = #MENU_10
    MessageRequester("Log", "Wiederholen", 0)
      
    ElseIf MenuID = #MENU_19
      MessageRequester("Log", "Rückgängig", 0)
      
    ElseIf MenuID = #MENU_20
      MessageRequester("Log", "Wiederholen", 0)
      
    ElseIf MenuID = #MENU_21
      MessageRequester("Log", "Ausschneiden", 0)
      
    ElseIf MenuID = #MENU_23
      MessageRequester("Log", "Kopieren", 0)
      
    ElseIf MenuID = #MENU_24
      MessageRequester("Log", "Einfügen", 0)
      
    ElseIf MenuID = #MENU_25
      MessageRequester("Log", "Entfernen", 0)
      
    ElseIf MenuID = #MENU_26
      MessageRequester("Log", "Alles Makieren", 0)
      
    ElseIf MenuID = #MENU_27
      MessageRequester("Log", "Suchen", 0)
      
    ElseIf MenuID = #MENU_29
      MessageRequester("Log", "Weitersuchen", 0)
      
    ElseIf MenuID = #MENU_30
      MessageRequester("Log", "Upload", 0)
      
    ElseIf MenuID = #MENU_32
      MessageRequester("Log", "Download", 0)
      
    ElseIf MenuID = #MENU_40
      MessageRequester("Log", "Download nach...", 0)
      
    ElseIf MenuID = #MENU_36
      MessageRequester("Log", "Hilfe öfnnen", 0)
      
    ElseIf MenuID = #MENU_37
      MessageRequester("Log", "Website öffnen", 0)
      
    ElseIf MenuID = #MENU_38
      MessageRequester("Log", "Support", 0)
      
    ElseIf MenuID = #MENU_39
      MessageRequester("Log", "Über uns", 0)
      
    EndIf
    
  EndIf
  
  If Event = #PB_Event_Gadget
    
    If GadgetID = #String_0
      
    ElseIf GadgetID = #String_1
      
    ElseIf GadgetID = #String_2
      
    ElseIf GadgetID = #String_3
      
    ElseIf GadgetID = #Button_0
    MessageRequester("Log", "Anonym Verbinden", 0)
    DisableGadget(#String_1, 1)
    DisableGadget(#String_2, 1)

    ElseIf GadgetID = #ButtonImage_0
    MessageRequester("Log", "Enter (Verbinden)", 0)
      
    ElseIf GadgetID = #Panel_1
      
    ElseIf GadgetID = #ExplorerTree_0
      
    ElseIf GadgetID = #ExplorerList_0
      
    ElseIf GadgetID = #Editor_0
      
    ElseIf GadgetID = #ListIcon_0
      
    EndIf
    
  EndIf
  
  
  
Until Event = #PB_Event_CloseWindow 

End
;
Oh ich hatte die source.pb vergessen!

Hier ist die source.pb:

Code: Alles auswählen

;- Window Constants
;
Enumeration
  #Window_0
EndEnumeration

;- MenuBar Constants
;
Enumeration
  #MenuBar_0
EndEnumeration

Enumeration
  #MENU_1
  #MENU_2
  #MENU_3
  #MENU_4
  #MENU_10
  #MENU_19
  #MENU_20
  #MENU_21
  #MENU_23
  #MENU_24
  #MENU_25
  #MENU_26
  #MENU_27
  #MENU_29
  #MENU_30
  #MENU_32
  #MENU_36
  #MENU_37
  #MENU_38
  #MENU_39
  #MENU_40
  #MENU_41
EndEnumeration

;- Gadget Constants
;
Enumeration
  #String_0
  #Text_0
  #Text_1
  #String_1
  #Text_2
  #String_2
  #Text_3
  #String_3
  #Button_0
  #ButtonImage_0
  #Panel_1
  #Text_4
  #ExplorerTree_0
  #ExplorerList_0
  #Editor_0
  #ListIcon_0
  #Text_5
  #Text_6
EndEnumeration

;- StatusBar Constants
;
Enumeration
  #StatusBar_1
EndEnumeration


;- Image Plugins

;- Image Globals
Global Image0

;- Catch Images
Image0 = CatchImage(0, ?Image0)

;- Images
DataSection
Image0:
  IncludeBinary "C:\Dokumente und Einstellungen\Jens\Desktop\bilder\Neu Bitmap.bmp"
EndDataSection

Procedure Open_Window_0()
  If OpenWindow(#Window_0, 206, 26, 791, 613, "Power FTP Client",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
    If CreateMenu(#MenuBar_0, WindowID(#Window_0))
      MenuTitle("Datei")
      MenuItem(#MENU_1, "Neue FTP Verbindung")
      MenuBar()
      MenuItem(#MENU_2, "Verbinden")
      MenuItem(#MENU_3, "Trennen")
      MenuBar()
      MenuItem(#MENU_4, "Beenden")
      MenuTitle("Bearbeiten")
      MenuItem(#MENU_19, "Rückgängig")
      MenuItem(#MENU_20, "Wiederholen")
      MenuBar()
      MenuItem(#MENU_21, "Ausschneiden")
      MenuItem(#MENU_23, "Kopieren")
      MenuItem(#MENU_24, "Einfügen")
      MenuItem(#MENU_25, "Entfernen")
      MenuItem(#MENU_26, "Alles Makieren")
      MenuBar()
      MenuItem(#MENU_27, "Suchen")
      MenuItem(#MENU_29, "Weitersuchen")
      MenuBar()
      MenuItem(#MENU_30, "Upload")
      MenuItem(#MENU_32, "Download")
      MenuItem(#MENU_40, "Download nach...")
      MenuTitle("Hilfe")
      MenuItem(#MENU_36, "Hilfe öffnen")
      MenuItem(#MENU_37, "Website öffnen")
      MenuItem(#MENU_38, "Support")
      MenuBar()
      MenuItem(#MENU_39, "Über uns...")
      EndIf

      If CreateStatusBar(#StatusBar_1, WindowID(#Window_0))
        EndIf

        If CreateGadgetList(WindowID(#Window_0))
          StringGadget(#String_0, 50, 10, 130, 20, "")
          TextGadget(#Text_0, 0, 10, 50, 20, "Adresse:")
          TextGadget(#Text_1, 220, 10, 30, 20, "Login:")
          StringGadget(#String_1, 260, 10, 130, 20, "")
          TextGadget(#Text_2, 400, 10, 50, 20, "Passwort:")
          StringGadget(#String_2, 460, 10, 120, 20, "", #PB_String_Password)
          TextGadget(#Text_3, 590, 10, 30, 20, "Port:")
          StringGadget(#String_3, 620, 10, 50, 20, "21", #PB_String_Numeric)
          ButtonGadget(#Button_0, 690, 10, 80, 20, "Anonymous")
          ButtonImageGadget(#ButtonImage_0, 190, 10, 20, 20, Image0)
          TextGadget(#Text_4, 10, 100, 110, 20, "Ordner:")
          ExplorerTreeGadget(#ExplorerTree_0, 10, 120, 220, 260, "")
          ExplorerListGadget(#ExplorerList_0, 250, 120, 490, 160, "")
          EditorGadget(#Editor_0, 250, 290, 490, 90)
          SetGadgetText(#Editor_0, "Log")
          
          ;-
          ListIconGadget(#ListIcon_0, 10, 410, 730, 140, "Name", 100, #PB_ListIcon_MultiSelect)
          TextGadget(#Text_5, 10, 390, 40, 20, "Status")
          TextGadget(#Text_6, 250, 100, 80, 20, "Dateien")
          
          ;- Panel0
          PanelGadget(#Panel_1, 10, 50, 720, 40)
          AddGadgetItem(#Panel_1, -1, "Verbindung 1")
          CloseGadgetList()
          
        EndIf
      EndIf
EndProcedure


Danke schonmal

Gruß

JENS
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

Beitrag von X360 Andy »

RSBasic hat geschrieben:@Oliver1994
Oliver1994 hat geschrieben:wie machst du das blaue davor?
Mit Hilfe dieser Konstante: #PB_Menu_ModernLook

Wenn du diesen blauen Banner nicht haben möchtest, kannst du einfach durch 0 ersetzen.
Oliver1994 hat geschrieben:geht das bei allen gadget in pure basic?
Nur bei Menüs.
Geht das auch in anderen Farben? ( Habe WEDER Suche , noch die Hilfe durchsucht )
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@Oliver1994
Ist in Arbeit...

@X360 Andy
Nein, nicht, dass ich wüsste, die Farbe ist Standard-Theme von Windows.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@Oliver1994
IncludeFile:

Code: Alles auswählen

;- Window Constants
;
Enumeration
  #Window_0
EndEnumeration

;- MenuBar Constants
;
Enumeration
  #MenuBar_0
  #MenuBar_1
EndEnumeration

Enumeration
  #MENU_1
  #MENU_2
  #MENU_3
  #MENU_4
  #MENU_10
  #MENU_19
  #MENU_20
  #MENU_21
  #MENU_23
  #MENU_24
  #MENU_25
  #MENU_26
  #MENU_27
  #MENU_29
  #MENU_30
  #MENU_32
  #MENU_36
  #MENU_37
  #MENU_38
  #MENU_39
  #MENU_40
  #MENU_41
  #MENU_42
  #MENU_43
EndEnumeration

;- Gadget Constants
;
Enumeration
  #String_0
  #Text_0
  #Text_1
  #String_1
  #Text_2
  #String_2
  #Text_3
  #String_3
  #Button_0
  #ButtonImage_0
  #Panel_1
  #Text_4
  #ExplorerTree_0
  #ExplorerList_0
  #Editor_0
  #ListIcon_0
  #Text_5
  #Text_6
EndEnumeration

;- StatusBar Constants
;
Enumeration
  #StatusBar_1
EndEnumeration


;- Image Plugins

;- Image Globals
Global Image0

;- Catch Images
Image0 = CatchImage(0, ?Image0)

;- Images
DataSection
Image0:
  ;IncludeBinary "C:\Dokumente und Einstellungen\Jens\Desktop\bilder\Neu Bitmap.bmp"
EndDataSection

Procedure Open_Window_0()
  If OpenWindow(#Window_0, 206, 26, 791, 613, "Power FTP Client",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
    If CreateMenu(#MenuBar_0, WindowID(#Window_0))
      MenuTitle("Datei")
      MenuItem(#MENU_1, "Neue FTP Verbindung")
      MenuBar()
      MenuItem(#MENU_2, "Verbinden")
      MenuItem(#MENU_3, "Trennen")
      MenuBar()
      MenuItem(#MENU_4, "Beenden")
      MenuTitle("Bearbeiten")
      MenuItem(#MENU_19, "Rückgängig")
      MenuItem(#MENU_20, "Wiederholen")
      MenuBar()
      MenuItem(#MENU_21, "Ausschneiden")
      MenuItem(#MENU_23, "Kopieren")
      MenuItem(#MENU_24, "Einfügen")
      MenuItem(#MENU_25, "Entfernen")
      MenuItem(#MENU_26, "Alles Makieren")
      MenuBar()
      MenuItem(#MENU_27, "Suchen")
      MenuItem(#MENU_29, "Weitersuchen")
      MenuBar()
      MenuItem(#MENU_30, "Upload")
      MenuItem(#MENU_32, "Download")
      MenuItem(#MENU_40, "Download nach...")
      MenuTitle("Hilfe")
      MenuItem(#MENU_36, "Hilfe öffnen")
      MenuItem(#MENU_37, "Website öffnen")
      MenuItem(#MENU_38, "Support")
      MenuBar()
      MenuItem(#MENU_39, "Über uns...")
      EndIf
      
      If CreatePopupImageMenu(#MenuBar_1,#PB_Menu_ModernLook)
        MenuItem(#MENU_42,"Öffnen",0)
        MenuItem(#MENU_43,"Download",0)
      EndIf
      
      If CreateStatusBar(#StatusBar_1, WindowID(#Window_0))
        EndIf

        If CreateGadgetList(WindowID(#Window_0))
          StringGadget(#String_0, 50, 10, 130, 20, "")
          TextGadget(#Text_0, 0, 10, 50, 20, "Adresse:")
          TextGadget(#Text_1, 220, 10, 30, 20, "Login:")
          StringGadget(#String_1, 260, 10, 130, 20, "")
          TextGadget(#Text_2, 400, 10, 50, 20, "Passwort:")
          StringGadget(#String_2, 460, 10, 120, 20, "", #PB_String_Password)
          TextGadget(#Text_3, 590, 10, 30, 20, "Port:")
          StringGadget(#String_3, 620, 10, 50, 20, "21", #PB_String_Numeric)
          ButtonGadget(#Button_0, 690, 10, 80, 20, "Anonymous")
          ButtonImageGadget(#ButtonImage_0, 190, 10, 20, 20, Image0)
          TextGadget(#Text_4, 10, 100, 110, 20, "Ordner:")
          ExplorerTreeGadget(#ExplorerTree_0, 10, 120, 220, 260, "")
          ExplorerListGadget(#ExplorerList_0, 250, 120, 490, 160, "")
          EditorGadget(#Editor_0, 250, 290, 490, 90)
          SetGadgetText(#Editor_0, "Log")
         
          ;-
          ListIconGadget(#ListIcon_0, 10, 410, 730, 140, "Name", 100, #PB_ListIcon_MultiSelect)
          TextGadget(#Text_5, 10, 390, 40, 20, "Status")
          TextGadget(#Text_6, 250, 100, 80, 20, "Dateien")
         
          ;- Panel0
          PanelGadget(#Panel_1, 10, 50, 720, 40)
          AddGadgetItem(#Panel_1, -1, "Verbindung 1")
          CloseGadgetList()
         
        EndIf
      EndIf
EndProcedure
Main-File:

Code: Alles auswählen



IncludeFile "source.pb"

Open_Window_0()

Repeat
 
  Event = WaitWindowEvent()
 
  WindowID = EventWindow()
   
  GadgetID = EventGadget()
 
  EventType = EventType()
 

  If Event = #PB_Event_Menu
   
    MenuID = EventMenu()
   
 
   
    If MenuID = #MENU_1
      MessageRequester("Log", "Neue FTP Verbindung", 0)
     
    ElseIf MenuID = #MENU_2
      MessageRequester("Log", "Verbinden", 0)
     
    ElseIf MenuID = #MENU_3
      MessageRequester("Log", "Trennen", 0)
     
    ElseIf MenuID = #MENU_4
      MessageRequester("Log", "Beenden", 0)
     
    ElseIf MenuID = #MENU_10
    MessageRequester("Log", "Wiederholen", 0)
     
    ElseIf MenuID = #MENU_19
      MessageRequester("Log", "Rückgängig", 0)
     
    ElseIf MenuID = #MENU_20
      MessageRequester("Log", "Wiederholen", 0)
     
    ElseIf MenuID = #MENU_21
      MessageRequester("Log", "Ausschneiden", 0)
     
    ElseIf MenuID = #MENU_23
      MessageRequester("Log", "Kopieren", 0)
     
    ElseIf MenuID = #MENU_24
      MessageRequester("Log", "Einfügen", 0)
     
    ElseIf MenuID = #MENU_25
      MessageRequester("Log", "Entfernen", 0)
     
    ElseIf MenuID = #MENU_26
      MessageRequester("Log", "Alles Makieren", 0)
     
    ElseIf MenuID = #MENU_27
      MessageRequester("Log", "Suchen", 0)
     
    ElseIf MenuID = #MENU_29
      MessageRequester("Log", "Weitersuchen", 0)
     
    ElseIf MenuID = #MENU_30
      MessageRequester("Log", "Upload", 0)
     
    ElseIf MenuID = #MENU_32
      MessageRequester("Log", "Download", 0)
     
    ElseIf MenuID = #MENU_40
      MessageRequester("Log", "Download nach...", 0)
     
    ElseIf MenuID = #MENU_36
      MessageRequester("Log", "Hilfe öfnnen", 0)
     
    ElseIf MenuID = #MENU_37
      MessageRequester("Log", "Website öffnen", 0)
     
    ElseIf MenuID = #MENU_38
      MessageRequester("Log", "Support", 0)
     
    ElseIf MenuID = #MENU_39
      MessageRequester("Log", "Über uns", 0)
     
    EndIf
   
  EndIf
 
  If Event = #PB_Event_Gadget
   
    If GadgetID = #String_0
     
    ElseIf GadgetID = #String_1
     
    ElseIf GadgetID = #String_2
     
    ElseIf GadgetID = #String_3
     
    ElseIf GadgetID = #Button_0
    MessageRequester("Log", "Anonym Verbinden", 0)
    DisableGadget(#String_1, 1)
    DisableGadget(#String_2, 1)

    ElseIf GadgetID = #ButtonImage_0
    MessageRequester("Log", "Enter (Verbinden)", 0)
     
    ElseIf GadgetID = #Panel_1
     
    ElseIf GadgetID = #ExplorerTree_0
     
    ElseIf GadgetID = #ExplorerList_0
      If EventType()=#PB_EventType_RightClick
        If Not GetGadgetState(#ExplorerList_0)=-1
          DisplayPopupMenu(#MenuBar_1,WindowID(#Window_0))
        EndIf
      EndIf
    ElseIf GadgetID = #Editor_0
     
    ElseIf GadgetID = #ListIcon_0
     
    EndIf
   
  EndIf
 
 
 
Until Event = #PB_Event_CloseWindow

End
;
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Oliver1994
Beiträge: 321
Registriert: 15.06.2008 21:52

Beitrag von Oliver1994 »

danke!

es funzt!

super nett
Antworten