|
다른 방법이 있는진 모르지만 제가 사용하는 방법은
Font->Style = TFontStyle();
if(chkBold->Checked){
Font->Style = Font->Style << fsBold;
}
if(chkItalic->Checked){
Font->Style = Font->Style << fsItalic;
}
입니다.
타짜;; 님이 쓰신 글 :
: 안녕하세요.
: 보통 컴포넌트에 보면 enum 형태의 프로퍼티들이 있습니다..
: 예를들자면 TFontStyle 등의...
:
: 그런데.. 자세히 보지 않아서 그런건지.. 이것의 값을 넣는 방법은 << 형태를 하고 있지만 일반적으로
: 알고 있는 비트 연산자는 아닌거 같더군요.. 자세히는 모르겠지만 오브젝트 파스칼의 Set 구문을 구현
: 하기 위해 빌더에서 만들어 놓은거 같은데요...
:
: 그렇다면.. 만약에 체크박스가 4개가 있고 ( 체크박스들은 모두 Style 에 해당하는 내용입니다. ) 이
: 체크박스의 체크 여부에 따라서 Style 이 결정이 되어야 한다면 어떻게 해야 하는지 궁금합니다.
:
: 만약 TFontStyle 의 Style 이 굵은 꼴이면서 기울림 꼴이라면
:
: Font->Style = TFontStyle() << fsBold << fsItalic;
:
: 이런식으로 하면 되겠지만 그렇다면 체크박스의 여부를 모두 따져야 하는것인가요?
: 예를 들어
:
: if( chkBold->Checked && chkItalic->Checked )
: Font->Style = TFontStyle() << fsBold << fsItalic;
: else if( chkBold->Cheked && !chkItalic->Checked )
: Font->Style = TFontStyle() << fsBold;
: else if( !chkBold->Checked && chkItalic->Checked )
: Font->Style = TFontStyle() << fsItalic;
: else
: Font->Style = TFontStyle();
:
: 이런식으로 모든 경우를 다 처리해 줘야 하는건가요? 이렇진 않을꺼라 생각합니다..
: 설마 이런 노가다를 해야 할 리가... --;
:
: 다른 방법을 알고 계신분은 좀 갈캬 주세요... 감사합니다..
:
|