지난 시간에 이어서 계속합니다.
- [글꼴] 버튼을 더블클릭해서 Command1의 Click 이벤트에 다음 코드를 입력합니다.
코드를 하나하나 살펴 봅니다.
① On Error GoTo font_error
② CommonDialog1.Flags = cdlCFBoth
③ CommonDialog1.ShowFont
④ Label1.FontName = CommonDialog1.FontName
⑤ Label1.FontSize = CommonDialog1.FontSize
⑥ Label1.FontBold = CommonDialog1.FontBold
⑦ Label1.FontItalic = CommonDialog1.FontItalic
⑧ Label1.Caption = Text1.Text
⑨ font_error:
- 먼저 ①번을 읽어보면 직감적으로 무슨 뜻인지 감이 잡힐 겁니다.
만약 에러가 발생하면 font_error로 이동하라는 말인데…font_error가 어딨죠? 제일 밑에 ⑨번 라인입니다.
가장 간단한 오류 처리 코드입니다. 중요한 것은 ⑨번 라인에서 반드시 콜론(:)을 써야한다는 것, 이 정도만 아시면 되겠네요. - ②번의 Flags 속성은 [글꼴] 버튼을 눌렀을 경우 나타나는 글꼴 변경 대화 상자의 옵션을 설정하는 것입니다. 흔히 위와 같이 cdlCFBoth 값을 쓰면 무리가 없습니다. cdlCFBoth 값은 대화 상자에서 화면용 글꼴과 인쇄용 글꼴을 모두 표시하라는 뜻입니다. 다른 속성값들에 대해서는 알 필요도 없을 것입니다. 으례히 Flags의 속성값은 cdlCFBoth뿐이다 라고 생각하면 됩니다.
- ③의 ShowFont 메소드는 글꼴을 바꾸는 대화 상자가 나타나도록 합니다. 아래 실습에서 계속하겠지만 만약 색상을 바꾸려면 ShowColor 메소드를 사용합니다.
- ④~⑦까지는 글꼴 변경 대화상자에서 ‘글꼴’, ‘크기’, ‘글꼴유형’ 등의 값을 변경했을 경우 적용하라는 뜻입니다.
- ⑧은 텍스트박스에서 입력한 문장을 레이블에 출력하라는 것인데, 위의 ④~⑦의 변경값을 그대로 적용해서 보여주는 것입니다.
무슨 뜻인지 잘 이해가 안갈 경우에는 직접 실행해보면 쉽게 이해할 수 있습니다.
위의 코드만 입력하더라도 일단 실행하는 데는 무리가 없으니 [F5]키를 눌러 실행해 보세요. 그리고 [글꼴] 단추를 눌러 어떤 식으로 변하는지 확인해보세요. - 먼저 ①번을 읽어보면 직감적으로 무슨 뜻인지 감이 잡힐 겁니다.
- 폼의 [배경색] 버튼을 더블클릭해서 Command2의 Click 이벤트에 다음과 같이 코드를 입력합니다.
[글자색] 버튼을 더블클릭해서 Command3의 Click 이벤트에도 아래와 같이 코드를 입력합니다.
마지막으로 텍스트박스를 더블클릭해서 Text1의 Change 이벤트에 아래와 같은 코드를 입력합니다.
- Command2와 Command3에서 각각 Flags 속성값을 변경한 다음 ShowColor 메소드를 사용했습니다.
ShowColor를 사용하기 전에 Flags 값에 따라 ShowColor를 실행해 나타나는 대화상자의 모양이 달라집니다.만약 Flags의 속성값을 위와 같이 cdCCRGBInit라고 지정한 후 ShowColor을 사용하면 아래와 같은 대화상자가 나타납니다.

만약 Flags의 속성값을 위와 같이 cdCCFullOpen이라고 지정한 후 ShowColor을 사용하면 아래와 같은 대화상자가 나타납니다.

- Label1.BackColor은 배경색의 속성이고 Label1.ForeColor은 글자색의 속성을 말합니다.
- Text1의 Change 이벤트에서는 텍스트박스(Text1)의 값이 바뀌면 레이블(Label1)에 표시하라는 코드를 입력했습니다.
- Command2와 Command3에서 각각 Flags 속성값을 변경한 다음 ShowColor 메소드를 사용했습니다.
- 이제 모든 코드의 입력이 끝났으니 직접 실행해 보세요
그리고 위에서 입력한 코드를 하나하나 다시 살펴보면서 그 의미를 되새기기 바랍니다.
지난 시간과 이번 시간에 걸쳐 실습한 내용에서 크게 어려운 것은 없습니다.
다만 CommonDialog 컨트롤은 사용자 인터페이지 화면을 만드는데 상당히 편리하다는 것을 실감할 수 있습니다. 만약 CommonDialog 컨트롤이 없다면 글자색, 배경색, 글꼴 모양을 바꾸는 프로그램을 코딩하려면 얼마나 복잡하고 어려웠겠습니까…
이왕 CommonDialog 컨트롤을 실습했으니 다음 시간에는 CommonDialog 컨트롤의 다른 메소드들(파일 열기, 저장하기, 인쇄하기 등)에 대해서 간단하게 실습하는 기회를 가지도록 하겠습니다.
여기까지 실습하시느라 수고가 많으셨습니다.
이상 동주아빠 손병목이었습니다. 모두 모두 행복한 하루 되세요…

