Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: Waldo en Junio 10, 2014, 12:14:05 pm
-
Hola, no se bien que titulo ponerle, lo que ando buscando es si alguien tiene algun UC de algun TextBox, que permita poner un "prompt" o valor por default al textbox, como algunas paginas web, o android, por ej un textbox username, dentro del textbox diria "Ingrese su nombre" grisado, cuando el usuario comienza a escribir se borra.
Parece facil, lo habia empezado a hacer, usando un textbox comun, y poniendo el text con un font grisado, pero por ej cuando el usuario hace click, el cursor se posiciona en el caracter sobre el cual se recibio el click.
El de las paginas o android, es como que el texto del promp, estaria estatico como una marca de agua, detras del texto, el cursor siempre queda parpadeando en el comienzo.
Les adjunto una captura del "Buscar contactos " de Gmail
(http://oi62.tinypic.com/1zfq59i.jpg)
-
A mi tambien me interesa eso pero de flojin no lo hago. En todo caso, para posicionarte al principio no te sirve poner en el gotfocus esto?:
Text1.SelLength = 0
-
A mi tambien siempre me intereso este tipo de control es muy bueno para no ponder el tooltips
Aca encontre un ejemplo:
http://vbnet.mvps.org/index.html?code/textapi/setcuebanner.htm (http://vbnet.mvps.org/index.html?code/textapi/setcuebanner.htm)
Este me gusto mas por que no necesita del archivo .manifest
http://vbnet.mvps.org/index.html?code/textapi/cuebannerchallenged.htm (http://vbnet.mvps.org/index.html?code/textapi/cuebannerchallenged.htm)
(http://vbnet.mvps.org/images/gfx/text/cuebannerchallenged.gif)
Saludos...
-
Asi que lo llaman "CUEBANNER" mira vos! recien me entero
Enter Muy bueno el articulo
Ahora que el amigo ENTER tiro la punta, que se llama CUEBANNER
Miren aca esta el help de microsoft.
http://msdn.microsoft.com/en-us/library/windows/desktop/bb761639(v=vs.85).aspx
Esta bueno, porque no hay que estar chequeando el focus, len, ni nada, hace todo solito :)
-
A caramba... eso se ve bueno,.
-
como paso en el ejemplo es solo estas lineas
sCue = StrConv("Enter the regional sales office", vbUnicode)
Call SendMessage(Text1.hwnd, EM_SETCUEBANNER, 0&, ByVal sCue)
-
Esta muy interesante estuve googleando y encontre este ejemplo en esta web.
http://khoiriyyah.blogspot.com/2013/04/vb6-code-membuat-cue-banner-atau.html (http://khoiriyyah.blogspot.com/2013/04/vb6-code-membuat-cue-banner-atau.html)
Option Explicit
Private Declare Function GetComboBoxInfo Lib "user32" (ByVal hwndCombo As Long, CBInfo As COMBOBOXINFO) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Type COMBOBOXINFO
cbSize As Long
rcItem As RECT
rcButton As RECT
stateButton As Long
hwndCombo As Long
hwndEdit As Long
hwndList As Long
End Type
Private Const ECM_FIRST As Long = &H1500
Private Const EM_SETCUEBANNER As Long = (ECM_FIRST + 1)
Public Sub SetCueBanner(obj As Object, str As String)
Dim s As String
Dim c As COMBOBOXINFO
If TypeOf obj Is ComboBox Then
c.cbSize = Len(c)
Call GetComboBoxInfo(obj.hwnd, c)
s = StrConv(str, vbUnicode)
Call SendMessage(c.hwndEdit, EM_SETCUEBANNER, 0&, ByVal s)
Else 'TextBox
s = StrConv(str, vbUnicode)
Call SendMessage(obj.hwnd, EM_SETCUEBANNER, 0&, ByVal s)
End If
End Sub
Salu2
-
Estimado Waldo
Prueba descargando este proyecto del UC desde esta URL: http://1drv.ms/TURR1a (http://1drv.ms/TURR1a)
Saludos, desde algún lugar en Lima-Perú
-
Che, lea vos no habias hecho un UC con el cuebanner y el iconito de la lupa? (que emulaba los textos para buscar algo)