/Q//
StringGrid에서 특정 셀의 값에 콤마(,)를 붙여서 즉, 마스크를 이용하여
출력하는 방법을 알고 싶습니다.
/A//
StringGrid에서 마스크를 입력하고 싶으시면, StringGrid의 OnGetEditMask이벤트
핸들러를 작성하시면 됩니다. 여기서 원하는 마스크의 문자열을 Value프로퍼티에
넣어주면 되죠.
예를 들어서 선택한 셀이 첫번째 컬럼(필드겠죠?)일 때 마스크를 "999,999;1"로
주시고 싶으시면 다음과 같이 하면 됩니다.
void __fastcall TForm1::StringGrid1GetEditMask(TObject *Sender, int ACol,
int ARow, AnsiString &Value)
{
if (ACol == 1)
Value = "999,999;1";
}
여기서 만약 마스크의 두번째 필드를 0으로 주시면 입력한 셀이 포커스를 잃을때
값이 ',' 문자를 뺀 나머지, 즉 입력한 값만 남습니다. 즉 111111를 입력했을때 셀이
에디팅 중일땐 111,111로 보이지만 다른 셀로 옮기면 111111로 바뀌죠. 그러니
일반적으론 이 마스크의 두번째 필드는 1로 해야겠죠?
|