我想作一个中英文切换的页面,form上有一个按钮和一个Label,想点击按钮时,可以切换form上的按钮和Label的文本。但是没有成功,请大家指点,谢谢。我的代码如下:Module1.basOption Explicit
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Integer) As Long
Public Const WM_PAINT = &HF
Form1.frmOption Explicit
Private c_e As IntegerPrivate Sub btn_1_Click()
    Dim result As Long
    Dim str(256) As Byte
    c_e = 1
    result = SendMessage(Form1.hwnd, WM_PAINT, 0, 0)
End SubPrivate Sub Form_Load()
    c_e = 0
End SubPrivate Sub Form_Paint()
    If c_e = 0 Then
        btn_1.Caption = "中文"
        lbl_1.Caption = "你好"
    Else
        btn_1.Caption = "English"
        lbl_1.Caption = "hello"
    End If
End Sub

解决方案 »

  1.   

    Private Sub btn_1_Click()
        Dim result As Long
        Dim str(256) As Byte
        c_e = 1
        Me.Refresh
        'result = SendMessage(Form1.hwnd, WM_PAINT, 0, 0)
    End Sub
      

  2.   

    发送消息的话,这样:
    先修改你的api声明(原声明有误):
    Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As LongPrivate Sub btn_1_Click()
        Dim result As Long
        Dim str(256) As Byte
        c_e = 1
        'Me.Refresh
        result= SendMessage(Me.hwnd, WM_PAINT, Me.hDC, 0&)
    End Sub