各位帮帮忙...

解决方案 »

  1.   

    不能,不如你自己用form模拟一个来得快
      

  2.   

    不能的,正如楼上所说,自己用窗体做个msgbox
      

  3.   

    可以控制。但我只控制到字体,如果字体放大,似乎里面的内容显示不是太正常。以下为代码。注:代码只允许在编译后才能运行。注:窗体上有两个控件,一为Command,一为TimerPrivate Const MsgTitle As String = "消息框提示"Private Const WM_SETFONT = &H30Private Declare Function CreateFont Lib "gdi32" _
        Alias "CreateFontA" (ByVal H As Long, _
        ByVal W As Long, ByVal E As Long, ByVal O As Long, _
        ByVal W As Long, ByVal I As Long, ByVal U As Long, _
        ByVal S As Long, ByVal C As Long, ByVal OP As Long, _
        ByVal CP As Long, ByVal Q As Long, ByVal PAF As Long, _
        ByVal F As String) As LongPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    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 Sub Command1_Click()
        Dim msg As String
        
        Timer1.Enabled = True
        
        MsgBox "提示信息", vbOKOnly, MsgTitle
        
    End SubPrivate Sub Timer1_Timer()
        Dim hWnd As Long
        Dim hWndChild As Long
        
        hWnd = FindWindow(vbNullString, MsgTitle)
        If hWnd <> 0 Then
            '再找子窗体
            hWndChild = FindWindowEx(hWnd, 0, "Static", vbNullString)
            If hWndChild <> 0 Then
                Dim hFont As Long
                hFont = CreateFont(20, 0, 0, 0, 0, 0, 0, 0, 106, 0, 16, 0, 0, "隶书")
                
                SendMessage hWndChild, WM_SETFONT, hFont, 0
                
                Timer1.Enabled = False
            End If
            
            '同理,平时咱们看到一些消息框可以自动关闭,或者显示还剩多少秒,也可以
            '找到这个hWndChild后,利用SetWindowText函数来实现。关闭窗体直接发送
            'SendMessage hWnd,WM_CLOSE,0,0即可。
        End If
        
    End SubPrivate Sub Form_Load()
        Me.Timer1.Interval = 20 
    End Sub
      

  4.   

    如果在调试环境下,该段代码运行无效。不知道为什么,编成Exe就可以看到效果了。
      

  5.   

    //VB中的msgbox 能控制它的字体类型和大小的吗.?? 可以是可以,不过代价很大,还不如你自己用form模拟一个来得快
      

  6.   

    可以,修改Msgbox窗口的回调函数可以实现,这要掌握窗口的运行原理!
    祝你好运!
      

  7.   

    捕捉调用msgbox 窗体的wm_activate事件就能检测到msgbox窗体。