J jhjs Unregistered / Unconfirmed GUEST, unregistred user! 2000-12-19 #1 先设置一个状态栏在分块中通过按键,使状态栏中能看到显示提示,是怎么控制的 怎么判断当前是否处于大写或小写,插入或删除,数字键盘是否开启。谢谢。
B buptwqs Unregistered / Unconfirmed GUEST, unregistred user! 2000-12-19 #2 用windows api函数: SHORT GetKeyState( int nVirtKey // virtual-key code );
R Reboot Unregistered / Unconfirmed GUEST, unregistred user! 2000-12-19 #4 将Form1的KeyPreview设置为True; 在Form1中添加 Label1其Caption为Cap; Label2其Caption为Num; 在FormKeyDown事件中 procedure TForm1.FormKeyDown(Sender: TObject var Key: Word; Shift: TShiftState); begin if (GetKeyState(VK_CAPITAL)and 1)=1 then Label1.Font.Color := clGray else Label1.Font.Color := clBlack; if (GetKeyState(VK_NUMLOCK)and 1)=1 then Label2.Font.Color := clGray else Label2.Font.Color := clBlack; end; 要做得更好,则在FormCreate事件中加入同样代码
将Form1的KeyPreview设置为True; 在Form1中添加 Label1其Caption为Cap; Label2其Caption为Num; 在FormKeyDown事件中 procedure TForm1.FormKeyDown(Sender: TObject var Key: Word; Shift: TShiftState); begin if (GetKeyState(VK_CAPITAL)and 1)=1 then Label1.Font.Color := clGray else Label1.Font.Color := clBlack; if (GetKeyState(VK_NUMLOCK)and 1)=1 then Label2.Font.Color := clGray else Label2.Font.Color := clBlack; end; 要做得更好,则在FormCreate事件中加入同样代码