|
|
|
|
|
|
| |
| |
| |
| |
|
Se Recomienda Resolución de 800x600 pixels |
|
1ra PARTE 9.-Scroll horizontal para un List Box usando
SendMessage ------------------------------------------------------------------------------- Como poner una barra de scroll
horizontal en un List Box. "Truco" tomado de Microsoft
Knowledge Base Articles. How to Add a Horizontal Scroll Bar to
Visual Basic List Box; Article ID: Q80190 Función: SendMessage -------------------------------------------------------------------------------- 'Declaraciones de las funciones para 16
y 32 bits 'Para 16 bits (VB3 y VB4) Declare Function SendMessage Lib
"user" (ByVal hWnd%, ByVal wMsg%, ByVal wParam%, ByVal lParam&) As
Integer ' 'Para 32 bits usar: 'Declare Function SendMessage Lib
"user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal
wMsg As Long, ByVal wParam As Long, lParam As Long) As Long ' ' 'Poner en Form_Activate Const LB_SETHORIZONTALEXTENT = &H400
+ 21 Const NULO = &O0 Dim ListhWnd As Integer
'Handle del List Box Dim ListLen As Integer
'Ancho del List Box Dim iTmp As Integer
'Para el valor devuelto por
SendMessage Dim ScaleTmp As Integer
'Valor anterior de ScaleMode ScaleTmp = ScaleMode ScaleMode = 3
'wParam
is in PIXEL(3) ListhWnd = List1.hWnd ListLen = 32767
'TextWidth(String$(256,
"A")) iTmp = SendMessage(ListhWnd,
LB_SETHORIZONTALEXTENT, ListLen, NULO) ScaleMode = ScaleTmp
'Restablecer el valor anterior de ScaleMode
10.-TextBox
con 64 KB en lugar de 32 KB --------------------------------------------------------------------- Usando SendMessage del Api de Windows,
poder tener text-box con 64 KB en lugar de los 32 que admite Visual
Basic. --------------------------------------------------------------------- 'Declaración de la función API Declare Function sendMessage Lib
"User" (ByVal hWnd As Integer, ByVal wMsg As Integer, ByVal wParam As
Integer, lParam As Any) As Long ' 'Para 32 bits usar: 'Declare Function SendMessage Lib
"user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal
wMsg As Long, ByVal wParam As Long, lParam As Long) As Long ' 'Declaración de las constantes Global Const WM_USER = &H400 Global Const EM_LIMITTEXT = WM_USER + 21 'En el Form_Load del text-box: Dim LTmp as long LTmp=SendMessage(Text1.hWnd,EM_LIMITTEXT,0,byval
0&)
11.-Comprobar
si un programa cargado con Shell está ejecutandose ---------------------------------------------------------------------- Por ser extenso para un
"simple" truco, los ejemplos están comprimidos También se muestra como asignar el
icono de un programa a un picture Hay un fichero para VB4 (16 y 32 bits) y
otro para VB3 ---------------------------------------------------------------------- La idea básica es: 1.- Cargar el programa usando Shell 2.- Comprobar si aún está activo
(bucle) 3.- Continuar el programa principal una
vez finalizado el programa cargado con Shell Las funciones del API de Windows
utilizadas son:
Para extraer
el icono del programa:
ExtractIcon
GetClassWord
DrawIcon
Para
comprobar las ventanas activas:
GetWindow
GetWindowText
GetWindowTextLength
IsWindowVisible
12.-
Catálogo de CD's musicales Ejemplo
para leer el volumen de un disco, esta función se puede usar para ¡catalogar
los CD's musicales! Declare
Function GetVolumeInformation Lib "Kernel32" Alias
"GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal
lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long,
lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long,
lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal
nFileSystemNameSize As Long) As Long Dim
lVSN As Long, n As Long, s1 As String, s2 As String Para
comprobar si es un CD-ROM (o CD-musical): '
Valores de retorno de GetDriveType Public
Const DRIVE_REMOVABLE = 2 Public
Const DRIVE_FIXED = 3 Public
Const DRIVE_REMOTE = 4 Public
Const DRIVE_CDROM = 5 Public
Const DRIVE_RAMDISK = 6 Declare
Function GetDriveType Lib "Kernel32" Alias "GetDriveTypeA"
(ByVal nDrive As String) As Long Dim
lDrive As Long Dim
szRoot As String szRoot="D:\"
'Poner aquí la unidad del CD-ROM o la que queramos comprobar lDrive=
GetDriveType(szRoot) If
lDrive = DRIVE_CDROM Then
'Es un CD-ROM/Compact-Disc End
If 13.-
Seleccionar el texto al entrar en un TextBox Este
truco, creo que es conocido por todos, pero lo "recuerdo" por si hay
alguno no lo sabe... 'Para un control Private Sub Text1_GotFocus()
Text1.SelStart = 0
Text1.SelLength = Len(Text1) End Sub 'Para un array Private Sub Text1_GotFocus(Index As Integer)
Text1(Index).SelStart = 0
Text1(Index).SelLength = Len(Text1(Index)) End Sub
14.-
Mostrar la posición del cursor en un TextBox Este
truco, muestra la posición actual del cursor y la longitud total del TextBox.
Por supuesto el tamaño máximo permitido, debemos asignarlo a Text1.MaxLength,
yo lo uso en mis programas, para saber cuando tengo que empezar a abreviar lo
que estoy escribiendo, no siempre se dispone de todo el espacio que uno quiere,
sobre todo cuando no quieres que las bases de datos se hagan enormes! 'Se puede cambiar StatusBar
por cualquier control que nos muestre la información... Private Sub Text1_Click()
miForm!StatusBar1.Panels("Posic").Text = " Pos: "
& Text1.SelStart + 1 _
&
"/" & Text1.MaxLength End Sub Private Sub
Text1_KeyUp(KeyCode As Integer, Shift As Integer)
miForm!StatusBar1.Panels("Posic").Text = " Pos: "
& Text1.SelStart + 1 _
& "/" & Text1.MaxLength End Sub
15.-
Refrescar el contenido de un control con DoEvents ¿Cuantas
veces has asignado a un Label un nuevo Caption y no lo ha mostrado?, prueba a
poner DoEvents después de la asignación y verás como se muestra enseguida. Puedes usar Sleep 0& en lugar de DoEvents.
16.-
Mostrar el texto de un CheckBox seleccionado cuando está marcado Bueno,
esto no es realmente un truco, pero podría serlo. El
truco consiste en cambiar el color del checkbox cuando este está seleccionado. Private Sub Check1_Click()
If Check1
Then
Check1.ForeColor = colForeSelect
Check1.BackColor = colBackSelect
Else
Check1.ForeColor = colForeNormal
Check1.BackColor = colBackNormal
End If End Sub Las
variables colForeSelect, colBackSelect, colForeNormal, colBackNormal, deben
estar definidas con los colores que queramos usar. Por ejemplo: Dim
colBackNormal As Long Dim
colForeNormal As Long Dim
colBackSelect As Long Dim
colForeSelect As Long colBackNormal
= Check1.BackColor colForeNormal
= QBColor(0) 'Negro colBackSelect
= QBColor(1) 'Azul colForeSelect
= QBColor(15) 'Blanco brillante
17.-
Crear una lista de CheckBox, ChkList Este
tipo de control existe en VB5 pero no en los anteriores, salvo que sea en un
VBX/OCX externo.
18.-
Usa tu computadora para ganar dinero fácil y rápido... De nuevo Joe LeVasseur... La rutina es para saber si puedes ganar dinero rápido... sin hacer nada. Public Function Dinero_Rapido() As Boolean
Dim Tonto
Dim
No_Quiere_Trabajar
If
No_Quiere_Trabajar And Tonto Then
Dinero_Rapido = True
Else
Dinero_Rapido = False
Tonto = False
End If End Function Private Sub Command1_Click()
Print
Dinero_Rapido End Sub 'Pruebalo, siempre tiene el mismo resultado. Bueno,
como comprenderás, se trata de una broma. Esta "rutina" fue la
respuesta de Joe a Jorge E. Mora en las news, a la propuesta de éste último
para ganar $$$$$ DINERO RAPIDO $$$$$$ 19.-
Otra forma de usar VScroll y HScroll... En
realidad es comentar que si al asignar los valores Mínimos y Máximos de estos
controles de manera que el valor Máximo sea inferior al Mínimo, se desplazarán
al revés.
©1998-2001 FMC Webs® Todos los derechos Reservados. Ferraro Mauro - San Nicolás - Argentina |
||||
|
El Codigo del Mes Aqui le mostraremos el Codigo Fuente del Mes, Votalo Ya!!! Preguntar Tutoriales Contactenos Redirecciona tu Pagina Gratis!!! Votanos en La web del Programador
|