StringGrid に Editbox を挿入する際に問題があります。フォームに 1 つの StringGrid と 1 つの Editbox があります。エディットボックスは、選択した列と行に問題なく表示されますが、選択したセルに挿入できる数字は1つだけです...さらに数字を入れる方法を誰かに説明してもらえますか?
tnx!
//Editbox on change event
void __fastcall TForm3::StringGridEditChange(TObject *Sender)
{
int x,y;
x = Form3->VariableGrid->Col;
y = Form3->VariableGrid->Row;
if (VariableGrid->Col !=2 )
{
VariableGrid->Col = 2;
}
if (VariableGrid->Row <1 )
{
VariableGrid->Row = 1;
ShowMessage("Prevention!");
}
VariableGrid->Cells[VariableGrid->Col][VariableGrid->Row] = StringGridEdit->Text;
StringGridEdit->Visible = false;
VariableGrid->SetFocus();
//StringGrid on selectCell event
void __fastcall TForm3::VariableGridSelectCell(TObject *Sender, int ACol, int ARow,
bool &CanSelect)
{
if(ACol == 2 && ARow>0)
{
TRect R = VariableGrid->CellRect(ACol, ARow);
R.Left += VariableGrid->Left;
R.Right += VariableGrid->Left;
R.Top += VariableGrid->Top;
R.Bottom += VariableGrid->Top;
StringGridEdit->Left = R.Left + 1;
StringGridEdit->Top = R.Top + 1;
StringGridEdit->Width = (R.Right + 1) - R.Left;
StringGridEdit->Height = (R.Bottom + 1) - R.Top;
//Show the editbox
StringGridEdit->Visible = true;
StringGridEdit->SetFocus();
}
CanSelect = true;
}
C++ Builder XE2 で