Esta Api nos permite Tener el Comportamiento de la barra de Direcciones del Internet Explorer o el del Text que se encuentra en Ejecutar de Windows.
Lastimosamente necesitamos de un Objeto de tipo "Text" que tenga handle, y como los de VFP no lo tienen, pues hay que usar el RichEdit Control.
#DEFINE SHACF_AUTOAPPEND_FORCE_OFF 0x80000000
#DEFINE SHACF_AUTOAPPEND_FORCE_ON 0x40000000
#DEFINE SHACF_AUTOSUGGEST_FORCE_OFF 0x20000000
#DEFINE SHACF_AUTOSUGGEST_FORCE_ON 0x10000000
#DEFINE SHACF_DEFAULT 0x0
#DEFINE SHACF_FILESYSTEM 0x1
#DEFINE SHACF_URLHISTORY 0x2
#DEFINE SHACF_URLMRU 0x4
#DEFINE SHACF_URLALL SHACF_URLHISTORY +SHACF_URLMRU
DECLARE SHAutoComplete IN "shlwapi.dll" LONG hwndEdit, LONG dwFlags
PUBLIC oFrm
oFrm=NEWOBJECT("autocompletar_api")
oFrm.SHOW
RETURN
DEFINE CLASS autocompletar_api AS FORM
HEIGHT = 105
WIDTH = 470
SHOWWINDOW = 2
SHOWINTASKBAR = .F.
DOCREATE = .T.
AUTOCENTER = .T.
CAPTION = "AutoCompletar desde VFP"
NAME = "AutoCompletar_Api"
ADD OBJECT text1 AS OLECONTROL WITH ;
BASECLASS="Olecontrol",;
CLASS = "Olecontrol",;
OLECLASS = "RICHTEXT.Richtextctrl.1",;
TOP = 12, ;
LEFT = 24, ;
HEIGHT = 24, ;
WIDTH = 433, ;
TABINDEX = 1, ;
NAME = "text1",;
TEXT = ' '
ADD OBJECT Paginas AS COMMANDBUTTON WITH ;
TOP = 48, ;
LEFT = 313, ;
HEIGHT = 27, ;
WIDTH = 144, ;
CAPTION = "Paginas Web", ;
TABINDEX = 3, ;
NAME = "Paginas"
ADD OBJECT Archivos AS COMMANDBUTTON WITH ;
TOP = 48, ;
LEFT = 24, ;
HEIGHT = 27, ;
WIDTH = 144, ;
CAPTION = "Sistema de Archivos", ;
TABINDEX = 2, ;
NAME = "Archivos"
PROCEDURE Paginas.CLICK
SHAutoComplete(THISFORM.text1.HWND , SHACF_AUTOSUGGEST_FORCE_ON +SHACF_URLALL)
ENDPROC
PROCEDURE Archivos.CLICK
SHAutoComplete(THISFORM.text1.HWND , SHACF_AUTOSUGGEST_FORCE_ON +SHACF_FILESYSTEM)
ENDPROC
ENDDEFINE
Saludos desde Guatemala.
Jorge_Mota
|