tagCANDY CGI VBレスキュー(花ちゃん) - アイコン、ボタンのキャプションを変えられるメッセージボックス(VB6.0) - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
アイコン、ボタンのキャプションを変えられるメッセージボックス(VB6.0)
元に戻る スレッド一覧へ 記事閲覧
このページ内の検索ができます。(AND 検索や OR 検索のような複数のキーワードによる検索はできません。)

アイコン、ボタンのキャプションを変えられるメッセージボックス(VB6.0) [No.52の個別表示]
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
日時: 2009/12/26 16:37
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[メッセージ][ダイアログ][]                                          *
* キーワード:MsgBox,自動的に閉じる,クリック,,,                                   *
***********************************************************************************

元質問:メッセージボックスのボタン名変更 - 龍 2003/04/16-10:04 No.3607


---------------------------------------------------------------------------
Re^3: メッセージボックスのボタン名変更 - nobu 2003/04/16-14:16 No.3620
---------------------------------------------------------------------------

以前に入手していたサンプルの中に下記がありました。
http://hp.vector.co.jp/authors/VA013311/6.MODULE.htm
MsgBoxSp.LZH   アイコン、ボタンのキャプションを変えられるメッセージボックスです。

試して見ましたが表示文字を「中止」に変更して希望のMsgBoxが表示出来ました。
このサンプルの必要な部分のみを利用させてもらったら如何?


--------------------------------------------------------------------------------
何秒後にボタンを押すといった動作もするようです、この手の質問は結構多いので
ここでも紹介しておきます。

ご利用に当たっては、http://hp.vector.co.jp/authors/VA013311/1.README.htm を読んでおいて下さい。

作者:TYPersonal2 さんのサイト http://hp.vector.co.jp/authors/VA013311/

               --- by 花ちゃん ---
--------------------------------------------------------------------------------
メンテ

Page: 1 |

ボタンのキャプションを変えられるメッセージボックス(VB6.0)_1  (No.1の個別表示) [スレッド一覧へ]
日時: 2009/12/28 10:09
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[メッセージ][][]                                                    *
* キーワード:MsgBox,ボタンのテキストを変更,ボタンのキャプションを変更            *
***********************************************************************************
タイトル : MsgBoxのボタンの文字変更
記 事 No : 13182
投 稿 日 : 2008/10/24(Fri) 17:28
元質問者 : AIKO  

MsgBoxのボタンに表示される文字を任意に変更できないものでしょうか?
例えばvbYesNoCancelの場合、[はい]、[いいえ]、[キャンセル] の3種類ですが
それぞれ[拝承]、[拒絶]、[戻る] などに変更。

-----------------------------------------------------------------------------------
記事No : 13185
投稿日 : 2008/10/25(Sat) 11:28
回答者 : YK  
-----------------------------------------------------------------------------------

標準モジュールに
Option Explicit
Private Declare Function FindWindowEx Lib "user32" _
                            Alias "FindWindowExA" _
                           (ByVal hWnd1 As Long, _
                            ByVal hWnd2 As Long, _
                            ByVal lpsz1 As String, _
                            ByVal lpsz2 As String) As Long
                            
Private Declare Function GetParent Lib "user32" _
                           (ByVal Hwnd As Long) As Long
                          
Private Declare Sub SetWindowText Lib "user32" _
                            Alias "SetWindowTextA" _
                           (ByVal Hwnd As Long, _
                            ByVal lpString As String)
                            
Private Declare Function SetTimer Lib "user32" _
                           (ByVal Hwnd As Long, _
                            ByVal nIDEvent As Long, _
                            ByVal uElapse As Long, _
                            ByVal lpTimerFunc As Long) As Long
                            
Private Declare Sub KillTimer Lib "user32" _
                           (ByVal Hwnd As Long, _
                            ByVal nIDEvent As Long)
Public LngID  As Long
Public mTitle As String
Public mItem1 As String
Public mItem2 As String
Public mItem3 As String

Public Sub TimerProc(ByVal Hwnd As Long, ByVal uMsg As Long, _
              ByVal idEvent As Long, ByVal dwTime As Long)
    Dim dlghWnd     As Long
    Dim btn1hWnd As Long
    Dim btn2hWnd As Long
    Dim btn3hWnd As Long

    On Error Resume Next
    dlghWnd = FindWindowEx(0&, 0&, "#32770", mTitle)
    If GetParent(dlghWnd) <> Form1.Hwnd Then Exit Sub

    btn1hWnd = FindWindowEx(dlghWnd, 0&, "Button", "はい(&Y)")
    If btn1hWnd <> 0& Then SetWindowText btn1hWnd, mItem1

    btn2hWnd = FindWindowEx(dlghWnd, 0&, "Button", "いいえ(&N)")
    If btn2hWnd <> 0& Then SetWindowText btn2hWnd, mItem2
    
    btn3hWnd = FindWindowEx(dlghWnd, 0&, "Button", "キャンセル")
    If btn3hWnd <> 0& Then SetWindowText btn3hWnd, mItem3
    
    Timer_End
End Sub

Public Sub Timer_Start()
    If LngID = 0 Then
        LngID = SetTimer(0&, 0&, 0&, AddressOf TimerProc)
    End If
End Sub

Public Sub Timer_End()
    If LngID <> 0 Then
        KillTimer 0&, LngID
        LngID = 0
    End If
End Sub

フォームモジュールに
Private Sub Command1_Click()
    Dim lngRtn  As VbMsgBoxResult
    mTitle = "Msgbox Test"
    mItem1 = "拝承"
    mItem2 = "拒絶"
    mItem3 = "戻る"
    Timer_Start
    lngRtn = MsgBox("ボタンテキストのテスト", vbYesNoCancel, mTitle)
    Timer_End
    Select Case lngRtn
        Case vbYes
            MsgBox mItem1 & " がクリックされました。"
        Case vbNo
            MsgBox mItem2 & " がクリックされました。"
        Case vbCancel
            MsgBox mItem3 & " がクリックされました。"
        Case Else
            MsgBox "クリックされました。"
    End Select
End Sub

メンテ

Page: 1 |

 投稿フォーム               スレッド一覧へ
題  名 スレッドをトップへソート
名  前
パスワード (記事メンテ時に使用)
投稿キー (投稿時 投稿キー を入力してください)
コメント

   クッキー保存   
スレッド一覧へ