用一个组合框就可以。
CB_ADDSTRING将新地址加入组合框中。
输入时处理
WM_COMMAND:
{
int nId=LOWORD(wParam);
int nCode=HIWORD(wParam);
HWND hCombo=(HWND)lParam;
if(IDC_COMBO1==nId)//组合框的ID
if(CBN_EDITCHANGE==nCode)

TCHAR szText[MAX_PATH];
GetWindowText(hCombo,szText);int nIndex=::SendMessage(hCombo,CB_FINDSTRING,0, szText);
if(nIndex!=CB_ERR) 
{
::SendMessage(hCombo,CB_SETCURSEL,nIndex,0);
::SendMessage(hCombo,CB_SHOWDROPDOWN,(WPARAM)TRUE,0);
}}}

解决方案 »

  1.   

    问一下chehw
    SendMessage是怎么用的?
    在这里起到什么作用?
      

  2.   

    To  shooting_star2xxx (流星)  :WM_COMMAND 等同于OnCommand(WPARAM, LPARAM){
    ...
    }
    如果用MFC, 或组合框是加在对话框中,可直接用Wizard加入IDC_COMBO1的CBN_EDITCHANGE消息,
    在OnEditChangeCombo1()
    {
    TCHAR szText[MAX_PATH];
    GetWindowText(hCombo,szText);//获取刚刚输入的文字int nIndex=::SendMessage(hCombo,CB_FINDSTRING,0, szText);//查找组合框中开头文字与输入文字匹配的条目
    if(nIndex!=CB_ERR) //如果找到
    {
    ::SendMessage(hCombo,CB_SETCURSEL,nIndex,0);//选中该条目
    ::SendMessage(hCombo,CB_SHOWDROPDOWN,(WPARAM)TRUE,0);//同时打开下拉列表
    }
      

  3.   

    to chehw:
       hCombo怎么定义?
      

  4.   

    我有例子,想看的话,给我发email.
    [email protected]
      

  5.   

    我想知道IE把这些地址究尽记到哪里去了,还有资源管理器(WINNT+IE6)
      

  6.   

    在前面加::
    ::GetWindowText(hCombo,szText);//获取刚刚输入的文字
      

  7.   

    to chehw:
       还是不行呀,还是报错,error C2660: 'GetWindowTextA' : function does not take 2 parameters