关于回车键的简单问题

guess1975 2003-08-21 10:12:37
void __fastcall TForm4::Edit1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if (Key==VK_RETURN)

Edit1->Text=Edit2->Text;

}
很明显,我当我敲回车键的时候,Edit1->Text=Edit2->Text;
可是我还想这样:当我再次敲回车键的时候,我想Edit3->Text=Edit2->Text;
请问如何实现?
...全文
18 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvjack 2003-08-21
  • 打赏
  • 举报
回复
来晚了,刚想说用tag,而且感觉最好用Edit 1 2 3他们的tag,来记录是否要设置他们的值
当然form的也可以
starstargao 2003-08-21
  • 打赏
  • 举报
回复
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{

if (Key ==VK_RETURN && Tag == 0)
{
AnsiString str = Edit2->Text;
Edit1->Text = str;
Tag = 1;
Key = 0;
}
if (Key==VK_RETURN && Tag == 1)
{
String str1 = Edit3->Text;
Edit1->Text = str1;
Tag = 0;
}
}
Alpha_Gu 2003-08-21
  • 打赏
  • 举报
回复
不是吧,寫代碼的工夫,就有人回了!
其實都有錯的啊,那個flag應該用全局的,不然,每次都會恢復了,所以,我寫的那里的
bool flag = true;
這個定義應該改為全局的.
Alpha_Gu 2003-08-21
  • 打赏
  • 举报
回复
簡單,用一個bool型的flag
如:
{
bool flag = true;
if(Key == VK_RETURN && flag)
{
Edit1->Text = Edit2->Text;
flag = false;
}
if(Key == VK_RETURN && !flag)
{
Edit3->Text = Edit2->Text;
flag = true;
}
}
halibut 2003-08-21
  • 打赏
  • 举报
回复
void __fastcall TForm4::Edit1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
static int si_flag=0;
if (Key==VK_RETURN)
{ //应该是这个,不是(
if(si_flag==0)
Edit1->Text = Edit2->Text;
else
Edit3->Text = Edit2->Text;
si_flag = si_flag==0?1:0;
}//应该是这个,不是)
}
halibut 2003-08-21
  • 打赏
  • 举报
回复
void __fastcall TForm4::Edit1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
static int si_flag=0;
if (Key==VK_RETURN)

if(si_flag==0)
Edit1->Text = Edit2->Text;
else
Edit3->Text = Edit2->Text;
si_flag = si_flag==0?1:0;

}

13,822

社区成员

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

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