ComboBox的问题,有点难(源码)
void __fastcall TForm1::ComboBox1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key==0x21&&ComboBox1-> ItemIndex!=0)//按键盘Page Up
{
ComboBox1-> ItemIndex--;
ComboBox1-> Text=ComboBox1-> Items-> operator [](ComboBox1-> ItemIndex);
}
if(Key==0x22&&ComboBox1-> ItemIndex <ComboBox1-> Items-> Count)//按键盘Page Down
{
ComboBox1-> ItemIndex++;
ComboBox1-> Text=ComboBox1-> Items-> operator [](ComboBox1-> ItemIndex);
}
}
//---------------------------------
如果有用鼠标选择的话,按键盘是没问题的,但如果用鼠标点选 后,再用键盘就不能正确选择了,不知道怎么回事?
[解决办法]
void __fastcall TForm1::ComboBox1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key==0x21&&ComboBox1-> ItemIndex!=0)//按键盘Page Up
{
ComboBox1-> ItemIndex--;
ComboBox1-> Text=ComboBox1-> Items-> operator [](ComboBox1-> ItemIndex);
Key = 0; //!!!!!!!
}
if(Key==0x22&&ComboBox1-> ItemIndex <ComboBox1-> Items-> Count)//按键盘Page Down
{
ComboBox1-> ItemIndex++;
ComboBox1-> Text=ComboBox1-> Items-> operator [](ComboBox1-> ItemIndex);
Key = 0; //!!!!!!!
}
}