我想在DBGridEH栅格中某[字段]输入数据时,可以象d
我最初的构思是:用一个表单+Grid控件构成一个提示窗口,当在DBGridEH栅格的某字段输入数据时,点击当前栅格中右边的下拉按钮就弹出这个提示窗口,但窗口弹出后不容易关闭,我希望光标只要离开当前栅格(InplaceEditor)时,这提示窗口就关闭;这如何做?或有什么更好的方法?
2楼: 怎么没有人回答的?是太难了还是我说得不够清楚?人事管理软件破解版
3楼: 各位富翁:
小弟的问题真的无法作答吗?
4楼: 把要提示的内容放到DBGrid的PickList属性中(PickList是TStrings类),那么把不同字段的提示信息填充到第个字段的PickList中,这样可以用下拉框的形式实现
5楼: gebizhimu:
使用PickList属性实现比较麻烦,因下拉框的内容不是固定的,它是根据在当前的栅格输入内容进行模糊查询得出的提示信息,也就是说输入不同的信息会筛选提示出不同的合符条件的记录。
6楼: 下载我的控件 http://kinneng.icpcn.com 看看是否合适,下拉框支持拼音五笔首字母检索
仓库管理软件版7楼: kinneng:
我想要的效果和你的控件做的效果比较相似,但并且完全合符我的要求,我发觉你的控件输入时五笔输入的提示框没有显示,开发这样的控件的思路和关键点是什么?你可否再次伸出援手?十分希望得到你的帮助!
8楼: 我想知道怎么五笔输入的提示框没有显示的?
DBGrid 的InplaceEditor是嵌入控件,关于这方面的资料很多,搜索一下,
不过按那些资料做都是不能真正交给老板使用的,不信,照做一个,保证
连自己也觉得不满意,因为楼主提出的问题根本没有解决,所以很烂,大家
不要贴代码了。
点其他格子关闭窗口,在DrawColumnCell就可以实现了,但点击其它控件和
其它程序的窗口,则需要
protected
procedure WndProc(var Message:TMessage); override;
procedure TEXPWDBEdit.WndProc(var Message:TMessage);
begin
with Message do
case Msg of
WM_KILLFOCUS://关闭下拉框
CM_CANCELMODE://关闭下拉框
end
end;
要注意关闭之前,检测鼠标是否落在控件自己上面,是则取消行动,
关闭之前,还要恢复原来的Text,撤销编辑。
9楼: kinneng:
五笔输入的提示框至于是什么原因没有显示,这个我都不清楚!会不会是那个提示框遮住了?
代码方面可否详细点?(我这方面水平真的很差!望你不要见怪)
10楼: 我知道了,是输入法的提示框,没有办法,delphi自己的ComboBox也是这样,
参考StdCtrls.Pas了解一下下拉框TCustomComboBox部分的做法
11楼: To kinneng:
想请教你一个问题,在DBGridEH栅格中如何动态插入一个共它控件,以方便用户的录入或修改(如插入一个第三方的日期控件?)
这个问题,我想了很久都没解决,不知你是否能帮我一下,谢谢!
12楼: kinneng:
输入法的提示框不能显示在最项层,这此终是一个一不太完美的地方,可有其它办法做到得更完美呢?仓库管理软件破解版
13楼: 输入法这个问题是微软的问题,第三方提供的输入法没有这个问题。
我的下拉框支持汉字进行检索,但根本不用输入汉字,只要输入拼音或者五笔首字母即可
替代汉字,支持多音字,匹配程序优化得很快,按键没有迟滞感觉,数据保证与数据库同
步,功能与性能基本平衡,已经不错了,程序的复杂性,难度不低于一套完整软件,真希
望有人弄一个出来跟我叫板,不过我已经叫自己板了,新版的信息栏部分更强大,我是希
望,客户在选择一个产品配方的时候,能够及时计算出库存可组成的配方量,完善后上传
给各位免费使用。