Seite 1 von 1

Listicon Scrollbalken vertikal entfernen

Verfasst: 27.11.2013 16:01
von Velindos
Hallo Leute,
gibt es eine Möglichkeit den vertikalen Scrollbalken vom ListIconGadget zu entfernen. Habe Beispiele mit ListView gefunden für Horizontalen Balken aber nichts für ListIconGadget!

Gruss ... Velindos

Re: Listicon Scrollbalken vertikal entfernen

Verfasst: 27.11.2013 16:44
von RSBasic
Entweder:

Code: Alles auswählen

EnableExplicit

Define EventID
Define a
Global LVProc

Procedure LVProc(hWnd, uMsg, wParam, lParam)
  Select uMsg
    Case #WM_PAINT
      ShowScrollBar_(hWnd, #SB_VERT, #False)
  EndSelect
  
  ProcedureReturn CallWindowProc_(LVProc, hWnd, uMsg, wParam, lParam)  
EndProcedure

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  ListIconGadget(1, 0, 0, WindowWidth(0), WindowHeight(0), "Spalte", 450, 0)
  
  For a=1 To 100
    AddGadgetItem(1, -1, "Item " + Str(a), 0, 0)
  Next
  
  LVProc = SetWindowLongPtr_(GadgetID(1), #GWL_WNDPROC, @LVProc())
  
  Repeat
    EventID = WaitWindowEvent()
    If EventID = #PB_Event_CloseWindow
      End
    EndIf
  ForEver
EndIf
Oder:

Code: Alles auswählen

EnableExplicit

Define EventID
Define a

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  If ContainerGadget(0, 0, 0, WindowWidth(0), WindowHeight(0), #PB_Container_BorderLess)
    
    ListIconGadget(1, 0, 0, GadgetWidth(0)+20, GadgetHeight(0), "Spalte", 450, 0)
    
    For a=1 To 100
      AddGadgetItem(1, -1, "Item " + Str(a), 0, 0)
    Next
    
    CloseGadgetList()
  EndIf
  
  Repeat
    EventID = WaitWindowEvent()
    If EventID = #PB_Event_CloseWindow
      End
    EndIf
  ForEver
EndIf

Re: Listicon Scrollbalken vertikal entfernen

Verfasst: 28.11.2013 07:25
von Velindos
Hallo RSBasic,
danke für deinen Vorschlag und deine Hilfe! Habe die Sache integriert und läuft! ListIcon lässt sich über Mausrad bedienen!
Gibt es einen Funktion für Listicon wo der Scrollbalken auf der linken Seite ist? Kann man den Balken auch auf schwarz einfärben?

Gruss ... Velindos

Re: Listicon Scrollbalken vertikal entfernen

Verfasst: 28.11.2013 12:01
von RSBasic

Code: Alles auswählen

EnableExplicit

Define EventID
Define a

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  ListIconGadget(1, 0, 0, WindowWidth(0), WindowHeight(0), "Spalte", 450, 0)
  
  For a=1 To 100
    AddGadgetItem(1, -1, "Item " + Str(a), 0, 0)
  Next
  
  SetWindowLongPtr_(GadgetID(1), #GWL_EXSTYLE, GetWindowLongPtr_(GadgetID(1), #GWL_EXSTYLE) | #WS_EX_LEFTSCROLLBAR)
  SendMessage_(GadgetID(1), #WM_NCPAINT, 1, 0)
 
  Repeat
    EventID = WaitWindowEvent()
    If EventID = #PB_Event_CloseWindow
      End
    EndIf
  ForEver
EndIf

Re: Listicon Scrollbalken vertikal entfernen

Verfasst: 28.11.2013 12:39
von Velindos
Hallo RSBasic,
danke für deine Lösung, habe es integriert und funzt!

Gruss ... Velindos

Re: Listicon Scrollbalken vertikal entfernen

Verfasst: 29.11.2013 11:54
von Velindos
Hallo Leute,
hab noch ein Problem mit dem Scrollbalken, kann man den auf die Hintergrundfarbe einstellen, wie zB. Black?

Gruss ... Velindos

Re: Listicon Scrollbalken vertikal entfernen

Verfasst: 29.11.2013 12:13
von RSBasic
Du könntest z.B. mit einer separaten Scrollbarleiste tricksen: http://purebasic.fr/english/viewtopic.p ... 75#p260875
Der Code scheint aber nicht sauber zu funktionieren. Du müsstest es noch anpassen, aber als Vorlage sollte ausreichen.