[Visual Basic 6.0] Msgbox "사용방법"
1. 기본적인 구조 및 사용방법

pMsg 라는 문자형 변수에 Msgbox의 결과값을 저장하는 경우는 메세지박스의 결과값이 2가지 이상일 때,
즉 예 / 아니요/ 취소 / 재시도 / 무시 와 같이 여러가지 결과값이 있을 때 변수를 사용하여 결과값을 전달받으며
단순히 알림만을 위한 Msgbox 사용시에는 아래와 같이 단순히 한줄로 사용할 수 있습니다.
Private sub Command1_Click()
MsgBox "Error 1 : 기본값이 입력되지 않았습니다.", vbCritical + vbOKOnly, "입력오류"
End Sub
2. MsgBox Argument

*
1. prompt [내용]
MsgBox의 prompt[내용] 부분에 들어가는 문자의 길이는 대략 1,024 길이의 문장까지 입력이 가능합니다.
또한 String 표현식이기 때문에 String 으로 문자열을 입력받아 변수명으로도 출력이 가능합니다.
Private Sub Command1_Click()
Dim pStr As String
pStr = "Error 1 : 기본값이 입력되지 않았습니다."
MsgBox pStr, vbCritical + vbOKOnly, "입력오류"
End Sub
2. Buttons AS VbMsgBoxStyle = vbOKOnly [메세지박스 아이콘 및 버튼 Type]
Msgbox의 Buttons에 사용할 수 있는 속성은
A. 표시될 버튼(6가지 Type), B. 아이콘(4가지 Type), C. Default Button(4가지 Type), D. Msgbox 운영방식(2가지 Type)
이렇게 대분류로 4가지 속성을 적용할 수 있으며, 모두 한번에 적용이 가능합니다.
A. Button Type
B. Icon
vbCritical : Critical Message 아이콘을 표시

vbQuestion : Warning Query 아이콘을 표시

vbExclamation : Warning Message 아이콘을 표시

vbInformation : Information Message 아이콘을 표시

C. ★ Default Button ★
제가 Default Button 에 ★을 추가한 이유는 개발자로서의 센스가 발휘되는 부분이기 때문입니다.
데이터를 삭제하고자 할 때, 삭제버튼을 눌러서 진행되는 과정을 예로 들어 설명드리겠습니다.
Private Sub Command1_Click()
Dim pStr As String Dim pMsg As String
pStr = "데이터를 삭제하시겠습니까?" pMsg = MsgBox(pStr, vbCritical + vbYesNo, "삭제여부")
End Sub
위와같이 일반적인 사용 방법으로 진행 시 결과는 아래와 같습니다.

자 여기서 문제가 된다면 어떤 부분이 문제가 될까요?
데이터를 삭제하거나 변경하는 부분에 있어서의 진행을 물어보기위한 메세지박스의 기본값이 '예'로 되어 있다면,
그리고 실수로 Enter Key 또는 Space Key를 눌러서 진행하는 경우가 많다면,
원하지 않게 데이터를 삭제 또는 변경이 되는 확률이 매우 크겠죠?
따라서 여기서 꼭 필요하지 않지만 필요하다면 필요하고, 센스라고 느껴질 수 있는 부분이 Default Button 입니다.
중효한 질의를 하는 메세지박스 에서는 Default Button이 '취소' 또는 '아니요'에 포커스가 맞춰져 있다면
진정으로 한번 더 확인할 수 있게 하는 기능이 되지 않는가 하는 개인적인 생각입니다.
Private Sub Command1_Click()
Dim pStr As String Dim pMsg As String
pStr = "데이터를 삭제하시겠습니까?" pMsg = MsgBox(pStr, vbCritical + vbYesNo + vbDefaultButton2, "삭제여부")
End Sub
위의 진한 글씨의 속성을 추가한 결과는 아래와 같습니다.

확실히 포커스가 아니요 쪽으로 옮겨진 것을 확인할 수 있습니다.
Default Button 속성은 아래와 같습니다. 상당히 의미가 직관적이죠? ㅋ
vbDefaultButton1 : 첫번째 버튼이 Default
vbDefaultButton2 : 두번째 버튼이 Default
vbDefaultButton3 : 세번째 버튼이 Default
vbDefaultButton4 : 네번째 버튼이 Default
원하는 버튼의 위치에 Default 속성을 추가하여 사용하실 수 있습니다.
D. Msgbox 운영방식
vbApplicationModal : 현재 어플리케이션에서 작업을 계속하려면 메세지 박스에 응답을 해야 진행이 가능하다.
vbSystemModal : 시스템형식, 메세지박스에 응답하기 전에는 모든 어플리케이션들이 중지된 상태로 있는다.
MsgBox의 기본값은 ApplicationModal 방식으로 설정되어 있으며, 필요에 따라 System전체를 멈춰야하는 경우에는
vbSystemModal 을 사용합니다.
'프로그램ing > VB' 카테고리의 다른 글
[VB] VB에서 엑셀파일 쓰기(윤곽선, 정렬, 폰트, 사이즈) (0) | 2018.12.17 |
---|---|
[VB] fpSpread copy and paste event (0) | 2018.12.17 |
[VB] fpspread / 스프레드에 데이터 입력 시 Cell 초기화 된 뒤 입력 (0) | 2018.12.17 |
[VB] Form_KeyDown 속성 적용 방법 (0) | 2018.12.17 |
[VB] fpSpread 가운데 정렬 (1) | 2018.12.17 |
댓글