C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 FAQ
C++Builder Programming FAQ
[8] [TECHNIQUE][COMPONENT] 스트링그리드 셀에 마스크 주기
박지훈.임프 [cbuilder] 14660 읽음    2000-06-12 00:00
/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로 해야겠죠?

+ -

관련 글 리스트
8 [TECHNIQUE][COMPONENT] 스트링그리드 셀에 마스크 주기 박지훈.임프 14660 2000/06/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.