我正在编写一个应用程序,用户将使用不同语言将数据输入到TcxGrid中。为了便于输入不在普通键盘上的键(á或¿),我决定添加一个用户添加按钮的功能,按下该按钮会直接将字符发送到网格。
基本上按下按钮,按钮上的标题是发送到网格的字符。现在,我这样做的唯一方法是获取活动网格单元格,在那里复制文本,附加要添加的字符,然后将网格值设置为新字符串。这似乎并不理想。
有关干净方法的任何想法吗?
答案 0 :(得分:4)
如果您可以获取控件的句柄,则可以向控件发送指示键入内容的消息。
PostMessage(Edit1.Handle, WM_CHAR, Ord('A'), 0);
我确信有一种更明智的方式可以做到这一点,但我让你的角色使用“角色地图”:
const
testchar1 = 'Á';
testchar2 = '¿';
begin
PostMessage(Edit1.Handle, WM_CHAR, Ord(testchar1), 0);
PostMessage(Edit1.Handle, WM_CHAR, Ord(testchar2), 0);
end;
如果您需要虚拟扫描码,请使用WM_KEYDOWN和WM_KEYUP消息。