メッセージボックスの作成(T) <TOP>
APIでメッセージボックスを作成します。ボタン種・アイコンをチェックして作成ボタンをクリックします。
MessageBox メッセージボックスの作成
Windows2000・WindowsXP(Windows9x、WindowsMeでは対応していません!エラー処理をしていないのでCtrl+Alt+Delで停止してください)
'================================================================ '= メッセージボックスの作成 '= (MessageBox.bas) '================================================================ #include "Windows.bi" ' メッセージボックスの作成、表示、操作を行う Declare Function Api_MessageBox& Lib "user32" Alias "MessageBoxA" (ByVal hWnd&, ByVal lpText$, ByVal lpCaption$, ByVal wType&) ' 第3引数 #define MB_OK &H0 '[OK] #define MB_OKCANCEL &H1 '[OK][キャンセル] #define MB_ABORTRETRYIGNORE &H2 '[中止][再試行][無視] #define MB_YESNOCANCEL &H3 '[はい][いいえ][キャンセル] #define MB_YESNO &H4 '[はい][いいえ] #define MB_RETRYCANCEL &H5 '[再試行][キャンセル] #define MB_CANCELTRYCONTINUE &H6 '[キャンセル][再実行][続行] ※Windows2000、WindowsXP #define MB_ICONSTOP &H10 '停止アイコン #define MB_ICONQUESTION &H20 '疑問符アイコン #define MB_ICONEXCLAMATION &H30 '感嘆符アイコン #define MB_ICONINFORMATION &H40 '吹き出しに「i」のアイコン #define MB_SYSTEMMODAL &H1000 'メッセージボックスがWS_EX_TOPMOSTスタイルを持つ以外は、MB_APPLMODALと同じ Var Shared Group(1) As Object Var Shared Radio(10) As Object Var Shared button1 As Object For i = 0 To 10 If i < 2 Then Group(i).Attach GetDlgItem("Group" & Trim$(Str$(i + 1))) : Group(i).SetFontSize 14 End If Radio(i).Attach GetDlgItem("Radio" & Trim$(Str$(i + 1))) : Radio(i).SetFontSize 14 Next Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14 '================================================================ '= '================================================================ Declare Function ButtonNo bdecl () As Long Function ButtonNo() ButtonNo = Val(Mid$(GetDlgRadioSelect("Radio1"), 6)) - 1 End Function '================================================================ '= '================================================================ Declare Function IconNo bdecl () As Long Function IconNo() IconNo = ((Val(Mid$(GetDlgRadioSelect("Radio8"), 6)) - 8) + 1) * 16 End Function '================================================================ '= '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() Var hWnd As Long Var wStyle As Long Var Text As String Var Caption As String Var Ret As Long hWnd = GethWnd Text = "このメッセージボックスは、" & Chr$(13,10) & Chr$(13,10) & "API関数「MessageBox」で作成しました。" Caption = "サンプルプログラム" wStyle = ButtonNo Or IconNo Or MB_SYSTEMMODAL Ret = Api_MessageBox(hWnd, Text, Caption, wStyle) End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End