1、怎样响应键盘按键,如:按回车键=点击确定按钮?
2、当点击窗体右上角的小叉的时候响应退出按钮的CLICK事件?
3、怎么是窗体总是显示在屏幕的最前端?
4、Toolbar怎么用呀?
请大家讲的详细一点好吗?谢谢。
每个问题十分左右,UP有分

解决方案 »

  1.   

    1、在keypress事件里
       if keyascii=13 then
          call command_click() 
       endif
    2、在form_queryunload()事件里写
       call command_click()
    3、可以用form1.show 1  ,好使窗体模式显示。或者使用api函数
    4、toolbar 需要和imagelist一起使用,imagelist里存放工具栏上将要显示的图标。具体的用法你自己下载一个例子好吗?
      

  2.   

    1. 设置“确定”按钮的default属性为true.2. 
       private sub form_unload()
           cmdExit_click
       end sub3. 用API, setwindowspos4. 你想怎么用?
      

  3.   

    1.设置按钮的DEFAULT属性为TRUE.或者在窗口的KEYDOWN或者KEYPRESS事件里检测回车按键.2.在窗口的UNLOAD事件里调用按钮事件过程就行了.3.就是不论窗口是否获得焦点,都始终显示在屏幕的前面,就像2000下的任务管理器一样.可以用API函数SETWINDOWPOS函数来设置4.先添加控件,至于怎么用查帮助吧,不是一两句话能说明白的.
      

  4.   

    1、在控件的KeyPress事件中判断,如:
    Private Sub Text1_KeyPress(KeyAscii As Integer)
        If KeyAscii = 13 Then '单击了回车按钮
            Call Command1_Click
        End If
    End Sub
    2、在Form_Unload事件中写入
    Private Sub Form_Unload(Cancel As Integer)
        Call cmdExit_Click
    End Sub
      

  5.   

    第一个问题:
    Option ExplicitPrivate Sub Command1_Click()
           MsgBox "按钮被点了!"
    End SubPrivate Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
            If KeyCode = 13 Then
                  Command1_Click
            End If
    End Sub
    第二个问题:
    Private Sub Form_Unload(Cancel As Integer)
             Command2_Click
    End SubPrivate Sub Command2_Click()
            MsgBox "退出按钮被点了!"
    End Sub第三个问题:
    Option Explicit
    Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
    Private Sub Form_Load()    SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, &H1 Or &H2 'conSwpNoActivate Or conSwpShowWindow '使窗体一直置于最顶层
       
    End Sub
      

  6.   

    第四个问题:有“工具栏”上点击鼠标右键,选择第一项“Components...”找到 Microsoft Windows Common Controls 6.0(SP6) 
    选中,点击“确定”这时,在工具栏就会多出来八个控件,其中第一个就是“ToolBar”把它拖动VB的窗体上,它会自动的跑到最上方,然后在你在“ToolBar”上点击鼠标右键,选择properties(属性),就会弹出“ToolBar”配置界面。
      

  7.   

    补充说明一下:
    问题1:设置按钮的default属性可以,但”在keypress事件里   if keyascii=13 then   call command_click()   endif”为什么不可以呢?焦点一直在textbox里.
    问题2:在form_queryunload()事件里写   call command_click()可以解决,但在unload事件里写不能实现,因为有时候不是点击退出而退出的。
    问题3:form1.show可以显示但是鼠标点击其他窗体这个窗体就会跑到其他窗体的下面,用API函数SETWINDOWPOS函数来设置我不会怎么用呀?
    问题4:我就是不知道怎么用才问的,在那里可以下载例子,能不能推荐一些?谢谢大家帮忙
      

  8.   

    问题2:在form_queryunload()事件里写   call command_click()也不可以
      

  9.   

    Private Sub Command1_Click()
        Static a As Integer
        Dim b As Integer
        
        a = a + 1
        b = b + 1
        
        MsgBox "a=" & a & vbCrLf & "b=" & b
        
    End SubPrivate Sub Command2_Click()
    Dim frm As New Form3
    Form3.Show
    End SubPrivate Sub Form_Load()
    Command1.Caption = "点击"
    Command2.Caption = "退出"
    End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    Call Command2_Click
    End Sub 
      

  10.   

    我的问题是这样的,简单说一下
    form1有两个按钮分别是show,exit点击show,form2.show并且unload form1,点击exit,unload form1,希望点击窗体右上角的“叉”后实现unload form1.
      

  11.   

    既然UP有分,那我史无前例的UP一下吧!
      

  12.   

    Private Sub show_Click()
    Dim frm As New Form2
    Form2.show
    Unload Me
    End Sub
    Private Sub exit_Click()
    Dim frm As New Form3
    Form3.show
    Unload Me
    End Sub
    Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If Form2.Visible = flase Then
    Call exit_Click
    End If
    End Sub
      

  13.   

    只会使窗体显示在最前面!!!Declare Function SetCurveData Lib "system32" (ByVal nIndex As Integer, _
            ByVal X As Single, ByVal Y As Single) As Boolean
    Declare Function SetShowIdx Lib "system32" (ByVal nIndex As Integer, _
            ByVal nShow As Boolean) As BooleanPublic Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, _
            ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, _
            ByVal Cx As Long, ByVal Cy As Long, ByVal wFlags As Long) As Long
    '可能上面的代码用不到,小弟我忘了
    Public Const HWND_TOPMOST = -1
    Public Const HWND_NOTOPMOST = -2
    Public Const SWP_NOMOVE = &H2
    Public Const SWP_NOSIZE = &H1
    Public Const SWP_SHOWWINDOW = &H40
    Public Const SWP_NOACTIVATE = &H10Public Sub OnTop(Handle As Long, Top As Boolean)    Dim PosFlag As Long, wFlags As Long
            wFlags = SWP_NOMOVE Or SWP_NOSIZE Or SWP_SHOWWINDOW Or SWP_NOACTIVATE
        If Top = True Then
            PosFlag = HWND_TOPMOST
        Else
            PosFlag = HWND_NOTOPMOST
        End If
        SetWindowPos Handle, PosFlag, 0, 0, 0, 0, wFlags
        
    End SubPrivate Sub Form_Activate()
    OnTop hwnd, True
    End Sub
      

  14.   

    1,Enter 键的使用   
    Private Sub DataGrid1_KeyPress(KeyAscii As Integer)
        If KeyAscii = 13 Then
            MsgBox ("enter")
        End If
    End Sub
    Private Sub mnuSqlb_Click(Index As Integer)
       FrmApplyTyp.Show
       FrmApplyTyp.ZOrder 0
    End Sub
    ToolBar
    1,控制某个按钮无效
    toolbar1.Buttons(1).Enabled =True 
    toolbar1.Buttons(1).Enabled =false
    3, 获取当前按钮的事件
    Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
          Dim SelStr As String
            
            SelStr = UCase$(Button.Key)        Select Case SelStr
                    Case "Q"
                      MsgBox "ok"
                    Case "U"
                    Case "D"
            End Select
            Exit Sub
             
    End Sub
      

  15.   

    1. 设置“确定”按钮的default属性为true.2. 
       private sub form_Queryunload()
           cmdExit_click
       end sub3. 用API, setwindowspos
      

  16.   

    如果up有分,51個up了,分怎麼分呀??