工作需要自己做一个控件,模仿combox,parent是Tedit,点击按钮出现下拉部分PopupCtrl,PopupCtrl继承TPanel。
PopupCtrl的parent是edit
PopupCtrl的createparams这样写的:
inherited createParams;
params.style:=ws_Popup or ws_border;
params.ExStyle:=Ws_Ex_ToolWindow;
问题:我要让PopupCtrl获得焦点,但是获得焦点后怎么点Edit也没用,点窗体也没用就是无法获得焦点。
高手怎样解决这个问题。
解决问题到这个帖子也给分
http://topic.csdn.net/u/20081118/13/5fabb1d4-8666-4e62-a154-1430b84fd88a.html
PopupCtrl的parent是edit
PopupCtrl的createparams这样写的:
inherited createParams;
params.style:=ws_Popup or ws_border;
params.ExStyle:=Ws_Ex_ToolWindow;
问题:我要让PopupCtrl获得焦点,但是获得焦点后怎么点Edit也没用,点窗体也没用就是无法获得焦点。
高手怎样解决这个问题。
解决问题到这个帖子也给分
http://topic.csdn.net/u/20081118/13/5fabb1d4-8666-4e62-a154-1430b84fd88a.html
下拉部分的parent一定是edit?此部分的parent可以指向edit的parent。剩下的就是控制此部分的顯示位置問題
TComboBoxEx 我还没看
我单步执行自己的代码看了一下,当PopupCtrl获得焦点后,就反复执行 winproc的SetFocus消息,消息也dispatch出去了,执行完了还会回到winProc里面。
除了PopupCtrl能获得焦点,窗体上的其它控件无法获得焦点。
Avan_Lau:你没看明白我要做控件的初衷!
PopupCtrl的parent设成edit的Parent没有什么区别,一样无法获得焦点
代码不在这台电脑里,高手大体应该能明白吧!