End Sub
Private Sub Form_Unload(Cancel As Integer)
If Me.WindowState <> vbMinimized Then
SaveSetting App.Title, "Settings", "MainLeft", Me.Left
SaveSetting App.Title, "Settings", "MainTop", Me.Top
SaveSetting App.Title, "Settings", "MainWidth", Me.Width
SaveSetting App.Title, "Settings", "MainHeight", Me.Height
End If
Dim iResponse As Integer
Dim strMsg As String
strMsg = strFileName + " 파일의 내용이 변경되었습니다." _
+ vbCrLf + "변경 사항을 저장하시겠습니까?"
If bDirty = True Then
iResponse = MsgBox(strMsg, vbYesNoCancel, frmExample.Caption)
Select Case iResponse
Case vbYes
Call mnuFileSaveAs_Click
Case vbNo
Cancel = False
Case vbCancel
Cancel = True
End Select
End If
End
End Sub
Private Sub Form_Resize()
rtbText.Width = Me.ScaleWidth
rtbText.Height = Me.ScaleHeight - 800
End Sub
Private Sub mnuFind_Click()
iPos = 0
frmFind.Show
End Sub
Private Sub mnuHelpAbout_Click()
frmAbout.Show vbModal, Me
End Sub
Private Sub rtbText_SelChange()
sbStatusBar.Panels(1).Text = "Line :" + CStr(rtbText.GetLineFromChar(rtbText.SelStart) + 1)
End Sub
Private Sub tbToolBar_ButtonClick(ByVal Button As ComctlLib.Button)
Select Case Button.Key
Case "New"
mnuFileNew_Click
Case "New"
mnuFileNew_Click
Case "Open"
mnuFileOpen_Click
Case "Save"
mnuFileSave_Click
Case "Print"
mnuFilePrint_Click
Case "Cut"
mnuEditCut_Click
Case "Copy"
mnuEditCopy_Click
Case "Paste"
mnuEditPaste_Click
Case "Bold"
Call mnuBold_Click
Case "Italic"
Call mnuItalic_Click
Case "Underline"
Call mnuUnder_Click
Case "Left"
rtbText.SelAlignment = rtfLeft
Case "Center"
rtbText.SelAlignment = rtfCenter
Case "Right"
rtbText.SelAlignment = rtfRight
End Select
End Sub
Private Sub mnuEditCopy_Click()
'클립보드로 복사하기
Clipboard.Clear
Clipboard.SetText rtbText.SelText
End Sub
Private Sub mnuEditCut_Click()
'클립보드로 잘라내기
Clipboard.Clear
Clipboard.SetText rtbText.SelText
rtbText.SelText = ""
End Sub
Private Sub mnuEditPaste_Click()
'클립보드에서 붙여 넣기
rtbText.SelText = Clipboard.GetText()
End Sub
Private Sub mnuFontColor_Click()
'CancelError 속성이 True로 되어 있어야 한다.
comDlg.CancelError = True
On Error GoTo ErrHandler
comDlg.ShowColor
rtbText.SelColor = comDlg.Color
Exit Sub
ErrHandler:
Exit Sub
End Sub
Private Sub mnuFileOpen_Click()
'CancelError 속성이 True로 되어 있어야 한다.
On Error GoTo ErrHandler
'필터의 내용을 설정
comDlg.Filter = "All Files (*.*)|*.*|Rich Text Files (*.rtf)|*.rtf"
'기본으로 나타날 필터 지정
comDlg.FilterIndex = 2
'파일 열기 대화상자 화면에 출력
comDlg.ShowOpen
'파일 열기 프로시저를 호출해서 파일을 실제로 연다.
rtbText.LoadFile (comDlg.FileName)
strFileName = comDlg.FileTitle
strFilePath = comDlg.FileName
frmExample.Caption = strFileName + "- 메모장 예제"
Exit Sub
ErrHandler:
'<취소> 버튼이 눌림
Exit Sub
End Sub
Private Sub mnuFileSave_Click()
If strFileName = "제목없음" Then
Call mnuFileSaveAs_Click
Else
rtbText.SaveFile (strFilePath)
End If
End Sub
Private Sub mnuFileSaveAs_Click()
'CancelError 속성이 True로 되어 있어야 한다.
On Error GoTo ErrHandler
'필터의 내용을 설정
comDlg.Filter = "All Files (*.*)|*.*|Rich Text Files(*.rtf)|*.rtf"
'기본으로 나타날 필터 지정
comDlg.FilterIndex = 2
'파일 저장 대화상자 화면에 출력
comDlg.DefaultExt = "rtf"
comDlg.ShowSave
'파일 열기 프로시저를 호출해서 파일을 실제로 연다.
strFilePath = comDlg.FileName
strFileName = comDlg.FileTitle
rtbText.SaveFile (strFilePath)
frmExample.Caption = strFileName + "- 메모장 예제"
Exit Sub
ErrHandler:
'<취소> 버튼이 눌림
Exit Sub
End Sub
Private Sub mnuFilePrint_Click()
Dim BeginPage, EndPage, NumCopies, i
'Cancel 버튼을 처리하기 위해서 CancelError 속성을 True
comDlg.CancelError = True
On Error GoTo ErrHandler
'인쇄 대화상자를 화면에 출력
comDlg.ShowPrinter
'사용자가 선택한 정보를 얻어냄.
BeginPage = comDlg.FromPage
EndPage = comDlg.ToPage
NumCopies = comDlg.Copies
Printer.Print rtbText.Text
Printer.EndDoc
Exit Sub
ErrHandler:
'취소 버튼이 눌렸을 때를 처리
Exit Sub
End Sub
Private Sub mnuFileExit_Click()
'unload the form
Debug.Print "enter exit"
Unload Me
End Sub
Private Sub mnuFileNew_Click()
strFileName = "제목없음"
frmExample.Caption = strFileName + "- 메모장 예제"
rtbText.Text = ""
End Sub
Private Sub mnuItalic_Click()
'글꼴에 굵은 효과주기
rtbText.SelItalic = Not (rtbText.SelItalic)
End Sub
Private Sub mnuBold_Click()
'글꼴에 굵은 효과주기
rtbText.SelBold = Not (rtbText.SelBold)
End Sub
Private Sub mnuUnder_Click()
'글꼴에 취소선 효과주기
rtbText.SelUnderline = Not (rtbText.SelUnderline)
End Sub
Private Sub mnuFontSizeArray_Click(Index As Integer)
'전에 선택된 것 제거
Call ClearChecked
'선택된 메뉴의 체크 마크 선택
mnuFontSizeArray(Index).Checked = True
'index 값에 따라 선택적으로 글꼴의 크기 설정
Select Case Index
Case 0
rtbText.SelFontSize = 17
Case 1
rtbText.SelFontSize = 15
Case 2
rtbText.SelFontSize = 12
Case 3
rtbText.SelFontSize = 9
Case 4
rtbText.SelFontSize = 7
End Select
End Sub
Private Sub ClearChecked()
'첵크 마크 제거
Dim iItem As Integer
For iItem = 0 To 4
mnuFontSizeArray(iItem).Checked = False
Next iItem
End Sub
Private Sub rtbText_Change()
bDirty = True
End Sub