模拟键盘输入问题

bithw 2005-07-04 01:33:49
执行这样代码
dbedit->Text=edit->Text,post时数据库不会更新
如果手动输入edit->text的值post会更新到数据库中,我想知道模拟键盘输入的方法。把一个字符串发送到dbedit中
...全文
122 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
guanshangming 2005-07-06
  • 打赏
  • 举报
回复
dbedit->Text=edit->Text,post时数据库不会更新
如果手动输入dbedit->text的值post会更新到数据库中,我想知道模拟键盘输入的方法。把一个字符串发送到dbedit中
///////////////
你手动输入dbedit的内容的时候,ADOQuery会自动设置为dsEdit状态,而直接赋值的时候,不会自动转换。这样就可以了。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(ADOQuery1->State == dsBrowse)
ADOQuery1->Edit();
DBEdit1->Text = Edit1->Text;
ADOQuery1->Post();
}
//---------------------------------------------------------------------------
bithw 2005-07-06
  • 打赏
  • 举报
回复
有没有人会啊
bithw 2005-07-05
  • 打赏
  • 举报
回复
还是不行
jishiping 2005-07-04
  • 打赏
  • 举报
回复
虽然我没有作测试,但是我想到可能的原因了。当你调用 dbedit->Text=edit->Text 时,dbedit 的属性 Modified 为 false,所以可能不会更新数据库。但是自己手动输入字符时,Modified 为true。你可以在调用 dbedit->Text=edit->Text 后,再加一句 dbedit->Modified = true; 可能就可以了。
jishiping 2005-07-04
  • 打赏
  • 举报
回复
执行这样代码 dbedit->Text=edit->Text,post时数据库不会更新
----------------------------------------------------------
平时程序没有用 dbedit,所以是否这样也不清楚。

模拟键盘输入的方法。把一个字符串发送到dbedit中
------------------------------------------------
你先将输入焦点移到dbedit,然后用API函数 keybd_event 来模拟。不过有些东西
还是很难模拟的,比如中文字符就无法模拟。模拟前,还需要先用VkKeyScan将字符
换转为虚拟键以及Shift、Alt、Ctrl等键的状态。如果是复合键,那么还需要模拟
这些复合键(依次按下和松开多个键)。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧