Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [VB6] Nascodere la scrollbar di una listbox

    Come da soggetto vorrei semplicemente nascondere la scroll bar di una list box (che appare automaticamente quando la listbox ha un numero di item tali per cui non possono essere visualizzati tutti contemporaneamente).
    Difatti se si visualizza la scrollbar diminuisce la larghezza dello spazio destinato a contere i vari item, e questo non mi aggrada.
    Grazie per l'attenzione.

  2. #2
    Rispondo da solo

    codice:
    Private Declare Function ShowScrollBar Lib "user32" (ByVal hwnd As _
    Long, ByVal wBar As Long, ByVal bShow As Long) As Long
    
    Private Const SB_HORZ = 0
    Private Const SB_VERT = 1
    Private Const SB_BOTH = 3
    
        ShowScrollBar ListView1.hwnd, SB_VERT, False

  3. #3
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    ShowScrollBar ListView1.hwnd, SB_VERT, False
    Scusa, ma non era un ListBox?

    A parte questo, è sbagliato voler fare questa cosa.
    La scroolbar è fatta apposta per visualizzare gli elementi non visibili.

    Comunque non funzionerà.
    Appena scorrerai il ListBox con le frecce per mostrare gli elementi nascosti, riapparirà la scrollbar.


  4. #4
    L'esempio riportato è stato da me adattato e FUNZIONA !
    Il segreto è inserire un richiamo a ShowScrollBar in Lista_Scroll()
    Premetto che nel mio progetto ci sono 4 listbox sistemate in modo da simulare una griglia.
    Il primo spezzone di codice fa parte dell'ultimissima parte della Sub deputata a popolare le 4 listbox. Eccolo :

    codice:
     
          '--- l'ultima listbox HA la scroll bar
          For i = 0 To Lista.Count - 2
             Z = ShowScrollBar(Lista(i).hwnd, 1, False)
          Next
          Exit Sub
    Altro codice, sempre perfettamente funzionanante.
    codice:
     
    Sub UpdateList(Index As Integer)
         Dim i As Integer
         For i = 0 To Lista.UBound
           Lista(i).ListIndex = Lista(Index).ListIndex
           Lista(i).TopIndex = Lista(Index).TopIndex
         Next i
    End Sub
    
    Private Sub Lista_Scroll(Index As Integer)
       Dim i As Integer
       Dim Z As Long
       UpdateList (Index)
       '--- l'ultima lista a destra HA la scroll bar 
       For i = 0 To Lista.Count - 2
          Z = ShowScrollBar(Lista(i).hwnd, 1, False)
       Next
    End Sub

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.