como puedo disminuir el tamaño del imputbox

jeje_mio
23 de Noviembre del 2003
el input box que ocupo es muy grande quiero que sea mas pequeño porfi ayada

Baltasar
23 de Noviembre del 2003
Yo suelo solucionar eso fabricando mi propio inputbox, que no es más que un formulario pequeño con un textbox dentro, al cual llamas abriéndolo en modo MODAL ( formulario_input.show 1 ).

Saludos.

Abilio Rodrigues
23 de Noviembre del 2003
Desculpa. Retira esta linha no exemplo anterior

CDCA.Skin1.ApplySkin wParam

E coloca esta linha antes do segundo End If

UnhookWindowsHookEx gHook



Abilio Rodrigues
23 de Noviembre del 2003
'Module1 - Coloca este código

Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal HHOOK As Long) As Long
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Public Const HCBT_ACTIVATE = 5
Public Const HCBT_MOVESIZE = 0

Public Const WH_CBT = 5
Public gHook As Long


Public Function InpBXWnd(ByVal lMsg As Long, ByVal wParam As Long, ByVal lparam As Long) As Long
If lMsg = HCBT_ACTIVATE Then
UnhookWindowsHookEx gHook
CDCA.Skin1.ApplySkin wParam

End If
If lMsg = HCBT_MOVESIZE Then
'lParam contem um pointer para uma estrutura lpRect, Type RECT
'com as coordenadas do InputBox
'Então, é só preciso conseguir alterar essas coordenadas
'o que se fáz com a API CopyMemory, assim:
Dim boxRect As RECT
CopyMemory boxRect, lparam, &O4 'é um pointer com 4 bytes
'e temos já as coordenadas da recta que poderemos alterar
With boxRect
.Bottom = .Bottom - 10
.Left = .Left
.Top = .Top
.Right = .Right - 30
End With
'agora é só colocar estes valores no pointer lParam
CopyMemory lparam, boxRect, &O4
'e já temos o InputBox com novas medidas
'Não testei esta função. Estou a fazê-la agora mesmo a partir do zero
'no entanto, tenho a convicção que isto funciona com esta função
'em que se fáz Hook do InputBox (Subclassing)
End If
End Function

'Form1 - Colocar este código no evento que pretenderes

gHook = SetWindowsHookEx(WH_CBT, AddressOf MsghWnd, App.hInstance, App.ThreadID)
x = InputBox("Qualquer coisa")



Abilio Rodrigues
23 de Noviembre del 2003
Coloca esta linha também antes do segundo End If

UnhookWindowsHookEx gHook

Retira a linha que começa por CDCA.Skin1 ...