Edit1下拉列表(100)

  • 主题发起人 主题发起人 3631977
  • 开始时间 开始时间
3

3631977

Unregistered / Unconfirmed
GUEST, unregistred user!
我想要的就是类似百度似的,打个字符就能出来相应的检索的下拉列表。我实验了下1.在通一个界面弄个listbox,我就是怎么也找不好edt的相对位置,因为界面模块比较多,很多TPanel,要是设置 listbox。Parent=TPanel,当TPanel没了的时候listbox又显示不出来了。2.我做了一个窗体,找到edt位置,是能显示了,但我的窗体又不能总在前端,一编辑edt窗体就没了。水平有限,请指教下,谢谢
 
第一种方法:listbox.setbounds(x,y,w,h);listbox.align := alnone;listbox.BringToFront;第二种方法:拦截窗口 Activate 消息,去掉激活消息.或者直接设置 form.enabled := false
 
procedure TfrmFilter.FormCreate(Sender: TObject);begin// 窗体屬性visible = false inherited; Self.fmyshowed := false; // 內部控制變量 Self.formstyle := fsstayontop; // 窗口一直處於最上層 Self.ffocuswhenshow := false; // 窗口show時,不獲取焦點 Self.ffocuswhenshowmodal := true; // 調用showmodal時,窗口獲取焦點 Self.Setzorder(Visible);end;procedure TfrmFilter.Setzorder(topmost: boolean);begin if (fsmodal in formstate) then if Self.Ffocuswhenshow then inherited else else if Self.Ffocuswhenshow then inherited;end;procedure TfrmFilter.cmshowingchanged(var message: tmessage);begin if Self.fmyshowed then begin inherited; if not Self.visible then Self.fmyshowed := false; end else begin Self.fmyshowed := true; ShowWindow(handle, SW_SHOWNOACTIVATE); end;end;
 
多人接受答案了。
 
后退
顶部