何谓焦点,它是作什么用的?
KeyPress、KeyUp、KeyDown说是与焦点有关,有什么关系,能否把它们的联系给我讲一下,谢谢
KeyAscii与KeyCode码有什么区别?怎么使用,谢谢大虾~!偶是菜鸟~!

解决方案 »

  1.   

    什么是焦点呢?在程序运行时,窗体上有一个且只有一个是目前用户选择的控件。按Windows的说法,就是指该控件有焦点。 如果一个控件得到了焦点,那么它就可以响应用户对它的操作。
      并不是每种控件都能够得到焦点,如Label控件,由于它只显示文本,而不能由用户对其编辑操作,所以就不具有焦点。当TextBox控件获得焦点时,所显示的是文本框中有一个闪烁的小光标。
      请想想看,当你在日常进行打字时,所键入字母的位置是不是一直出现这个小东西?这就是焦点,它能为你所要输入的字定位。 现在知道了,只需将鼠标在这两个控件点一下,哪个没有焦点,就是Label控件。
      

  2.   

    什么是焦点?什么是焦点?
    焦点是可视对象具有的接收用户鼠标或键盘焦点是可视对象具有的接收用户鼠标或键盘
    输入的能力.输入的能力.
    当一个对象具有焦点时,就可以接受用户的输当一个对象具有焦点时,就可以接受用户的输
    入.入.WindowsWindows系统是一个多任务操作系统,在系统是一个多任务操作系统,在
    WindowsWindows系统中,某个时刻可以同时运行多个系统中,某个时刻可以同时运行多个
    应用程序,但是,任何时刻只有一个对象具有应用程序,但是,任何时刻只有一个对象具有
    焦点,具有焦点的对象所在的窗口叫做活动焦点,具有焦点的对象所在的窗口叫做活动
    ((Active)Active)窗口,其它所有窗口都叫做非活动窗口,其它所有窗口都叫做非活动
    ((Inactive)Inactive)窗口.因此,在窗口.因此,在WindowsWindows中,任何时中,任何时
    刻只有一个窗口是活动窗口.刻只有一个窗口是活动窗口.
    6.9 焦点与Tab顺序
    当对象得到焦点时,会产生当对象得到焦点时,会产生GotFocusGotFocus事件;当事件;当
    对象失去焦点时,会产生对象失去焦点时,会产生LostFocusLostFocus事件.事件.
    使用下面的方法可以给一个对象设置焦点:使用下面的方法可以给一个对象设置焦点:
    程序运行时用户单击一个对象.程序运行时用户单击一个对象.
    程序运行时用快捷键选择对象.程序运行时用快捷键选择对象.
    在程序代码中使用在程序代码中使用SetFocusSetFocus方法.方法.
    不是所有对象都可以接受焦点,框架,标签,不是所有对象都可以接受焦点,框架,标签,
    直线,形状,计时器等控件不能接受焦点.直线,形状,计时器等控件不能接受焦点.
    6.9 焦点与Tab顺序
    可以从控件的外观分辨出控件是否具有焦点:可以从控件的外观分辨出控件是否具有焦点:
    观察对象是否有虚线框或者插入点.观察对象是否有虚线框或者插入点.
    TabTab顺序是在按顺序是在按TabTab键时焦点在控件间移动的顺键时焦点在控件间移动的顺
    序.每按一次序.每按一次TabTab键,可以使焦点从一个控件键,可以使焦点从一个控件
    移动到另一个控件.在一般情况下,移动到另一个控件.在一般情况下,TabTab顺序顺序
    由控件建立时的先后顺序决定.可以通过修改由控件建立时的先后顺序决定.可以通过修改
    控件的控件的TabIndexTabIndex属性来改变属性来改变TabTab顺序.顺序.
    可以获得焦点的控件都有可以获得焦点的控件都有TabStopTabStop属性,当把属性,当把
    该属性置为该属性置为FalseFalse,,则控件不能接受焦点.则控件不能接受焦点.
      

  3.   

    http://www.hongen.com/pc/program/vb/v14.htm
      

  4.   

    http://www.hongen.com/pc/program/vb/v18.htm一般而言,大多数程序并不关心KeyDown事件来确定按下的键,KeyPress事件在触发后,能够获得一个KeyAscii值。它指键盘上的某个键与计算机ASCII码对应的值,如键“1”,KeyAscii为49;“A”,KeyAscii为65;“Enter”,KeyAscii为13。 当我们在KeyPress事件中将KeyAscii的值改为0后,就等于禁止键入。然而并不是所有键盘上的键都有其KeyAscii值,有时,我们程序要判断用户是否按了功能键,可要区别数字小键盘和常规数字键时,那么KeyAscii就无能为力了。此时可以考虑KEyDown和KeyUp事件,当用户击键后,它们能获得一个唯一的KeyCode值,从而判断用户到底按了键盘上的哪个键。可以说,键盘上大多数键(Tab、PrintScreen键除外),都有唯一的KeyCode序列号。
      

  5.   

    KeyPress主要用来接收字母、数字等ANSI字符,而 KeyDown 和 KeyUP 事件过程可以处理任何不被 KeyPress 识别的击键,诸如:功能键(F1-F12)、编辑键、定位键以及任何这些键和键盘换档键的组合等。与 KeyDown 和 KeyUp 事件不同的是,KeyPress 不显示键盘的物理状态(SHIFT键),而只是传递一个字符。KeyPress 将每个字符的大、小写形式作为不同的键代码解释,即作为两种不同的字符。而 KeyDown 和 KeyUp 用两种参数解释每个字符的大写形式和小写形式:keycode — 显示物理的键(将 A 和 a 作为同一个键返回)和 shift —指示 shift + key 键的状态而且返回 A 或 a 其中之一。 
    KeyDown、KeyUp事件是当按下 ( KeyDown ) 或松开 ( KeyUp ) 一个键时发生的。由于一般按下键盘的键往往会立即放开(这和鼠标不同),所以这两个事件使用哪个差别不大。 
      

  6.   

    Keydown、Keyup、Keypress事件 触发条件:当控制焦点位于某对象上时,按下键盘中的任意一键,则会在该对象上触发Keydown事件,当释放该键时,将触发产生Keyup事件,之后将随即产生键盘的Keypress事件。当对拥有控制焦点的对象进行按下键后又释放的键盘操作时,将会在这对象上触发产生Keypress事件。  事件过程格式: Private sub 对象名_Keydown(Keycode as integer,Shift as integer) Private sub 对象名_Keyup(Keycode as integer,Shift as integer) Private sub 对象名_Keypress(Keyascii as integer) 
      

  7.   

    对了,KeyPress的keyascii代码怎么使用啊?KeyCode是不是和它一样使用?
    是不是只有Label控件没有焦点?