Vous êtes sur la page 1sur 9

DriveListBox

DriveListBox

Caracas, Mayo 2011.


DriveListBox
DriveListBox

Es una especie de comboBox o lista desplegable que nos muestra las


unidades que tengamos en la PC.
PROPIEDADES

Propiedad Drive

Esta propiedad nos retorna o devuelve la unidad que se encuentra


seleccionada en el mismo.

Por ejemplo al ejecutar el siguiente fragmento de cdigo, muestra la


unidad mediante un cuadro de mensaje
Colocar el cdigo en un formulario, e insertar un DriveListBox

PrivateSubForm_Load()

'--Mostramoslaunidadquemuestraelcontrolmedianteunmensaje
MsgBox"UnidadquemuestraelcontrolDrivees:"&Drive1.Drive,vbInformatio
n
EndSub
ListCount y objeto List

Podemos recorrer la lista mediante un bucle, por ejemplo desde la primera


unidad hasta la ltima en la lista, similar a recorrer los elementos de un control
de lista como los ListBox y los ComboBox.

El ejemplo siguiente hace lo anteriormente dicho en un bucle For, y las va


mostrando mediante un Mensaje:

'\\--Botndecomandopararecorrerlasunidades
PrivateSubCommand1_Click()

DimiAsInteger
Colocar un control Drive1 y
Fori=0ToDrive1.ListCount-1
un botn en el formulario .
'--Mostramoslaunidadquecorrespondealelemento
'--delapropiedadListdelDrive1

MsgBox"unidad:"&Drive1.List(i),vbInformation

Next

EndSub

PrivateSubForm_Load()
Command1.Caption="Verunidades"
EndSub
Otras propiedades

Propiedades de apariencia : Font y ForeColor para establecer


atributos de fuente, BackColor para el color de fondo

Propiedades de comportamiento : Enabled para habilitar o no el


control, Visible para mostrarlo u ocultarlo

Propiedades de posicin: Height y Width para establecer y


recuperar el ancho del objeto, y Left y Top para la posicin izquierda
y superior en el objeto que lo contiene ( un formulario, picturebox o
control Frame)

A continuacin un ejemplo para utilizar la propiedad Width. Muchas


veces es necesario, en tiempo de ejecucin, cambiar y adaptar la
anchura del control, por ejemplo supongamos que al redimensionar y
cambiar el ancho del formulario, quisiramos adaptar el ancho del Drive
al de la ventana de formulario, entonces podemos modificar la
propiedad Width dentro del evento resize del Form.

PrivateSubForm_Resize()

'--Establecerlaposicinizquierda
Drive1.Left=10
'--Establecerelanchoparaqueseaigualaldelf
orm
Drive1.Width=Me.ScaleWidth-20

EndSub
Este error ocurre al minimizar el form, la
propiedad ScaleWidth del Formulario contiene
el valor 0. entonces al ejecutar la lnea
Drive1.Width = Me.ScaleWidth - 20
Se est asignando como nuevo ancho del
Drive, el valor ( 0 - 20 ) , es decir el valor -20.
Y En visual basic, no se puede establecer un
valor negativo a la propiedad Width y Height
de ningn tipo de control.

Para solucionar esto, puede haber varias


formas, por ejemplo podramos utilizar un
bloque If que compruebe que el valor a
asignar sea mayor a 0.

PrivateSubForm_Resize()

'--Establecerlaposicinizquierda
Drive1.Left=10
'--Establecerelanchoparaqueseaigualaldelform
'--Siestaoperacin(Me.ScaleWidth-20),esmayora0,entoncessi
'--Cambiarelancho,sinoignorarelbloquedecdigoparaquenogenereerro
r
If(Me.ScaleWidth-20)>0Then
Drive1.Width=Me.ScaleWidth-20
EndIf

EndSub
Otra solucin posible sera, dentro del evento Resize, averiguar si se est
intentando minimizar la ventana usando la propiedad WindowState

OptionExplicit

PrivateSubForm_Resize()

'--Siseminimizaelform,salirdelarutina
'--paranoejecutarelcdigodeabajoyaquedaraerror
IfMe.WindowState=vbMinimizedThen
ExitSub

Drive1.Left=10
Drive1.Width=Me.ScaleWidth-20

EndSub
Eventos
Eventos
Change

Este evento se dispara o ejecuta cada vez que el control cambia la unidad, es
decir cuando el usuario selecciona de la lista una unidad diferente.

Pegar este cdigo, y cuando se seleccione una unidad, se producir el evento


Change y mostrar la unidad seleccionada, consultando la propiedad Drive

PrivateSubDrive1_Change()
'Mostramoslaunidadseleccionada
MsgBoxDrive1.Drive,vbInformation

EndSub

Vous aimerez peut-être aussi