|
void __fastcall TForm1::StringGrid1GetEditMask(TObject *Sender, int ACol,
int ARow, AnsiString &Value)
{
if (ACol == 1)
Value = "999,999;1";
}
faq에 보면 매스크를 주는 방법이 이렇게 나와있습니다..
하지만 이방법을 쓸려고 하니까 goediting 옵션이 선택되어야 하고 사용자가 직접 그리드의 값을 바꾸고자
(그리드를 클릭하여 그안의 내용을 직접 수정하려고 할때만)할때만 이 이벤트가 발생하더군요..
다시 말해서
StringGrid1->Cells[A][B] = ...
과 같이 셀의 값을 변경했을때는 이 이벤트가 발생하지 않습니다...
어떻게 해야할까요..
ondrawcell에서 셀이 그려질때마다 다시 sendmessae 와 같은 방법으로 이벤트를
발생시켜서 사용해야 하는 걸까요??
지금 현재는 TMastEdit를 사용하여 사용하여 미리 에디팅한후 셀의 값을 변경시키는 방법을
사용하고 있습니다... 좀더 간단하고 효율적인 방법이 있다면 꼭 알려 주시기 바랍니다..
고럼.이만..
Grid를 마스터하고 싶은 초보 올림.......
|