我想让我的scrollbox通过上下键实现上下移动,但是不行!
代码如下:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
beginif key=VK_DOWN then
begin
scrollbox6.SetFocus;
with scrollbox6 do
begin
showmessage('adfa');
VertScrollBar.Position:=VertScrollBar.Position+200;
scrollbox6.SetFocus;
end;
end;if key=VK_UP then
begin
with scrollbox6 do
begin
VertScrollBar.Position:=VertScrollBar.Position-200;
scrollbox6.SetFocus;
end;
end;
end;
代码如下:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
beginif key=VK_DOWN then
begin
scrollbox6.SetFocus;
with scrollbox6 do
begin
showmessage('adfa');
VertScrollBar.Position:=VertScrollBar.Position+200;
scrollbox6.SetFocus;
end;
end;if key=VK_UP then
begin
with scrollbox6 do
begin
VertScrollBar.Position:=VertScrollBar.Position-200;
scrollbox6.SetFocus;
end;
end;
end;
解决方案 »
- 【求助】Delphi xml的ENCODING=“UTF-8”为ACTIVE的时候,提示错误
- dbchart为什么有的有数标有的没有?
- combobox显示问题?
- Indy9中 IdUDPClient,IdUDPServer可以实现互联网上两台计算机通讯吗?
- 帮忙看下一个数据插入的问题
- 怎样在Delphi中使用个性按钮?
- 错误处理,关于Exception急等
- 怎样彻底删除已作删除标记的数据库记录?
- 有没有好用的OCR控件
- 一个问题,怎样在PC:PageControl上增加TabSheet1,TabSheet1,TabSheet1….
- 急!怎样继承一个Edit的所有事件和方法?
- 高手请进,一个关于事件调用的问题!(在线等待,问题解决马上结贴!)
将Form的KeyPreview设置为True可以使窗体在组件之前接收键盘输入,否则键盘输入将被组件接收。你可能会问,我就是让scrollbox接收键盘输入哇,哪有什么“被组件接收”?
呵呵,那是因为消息被默认处于激活的组件给接收了,你虽然有一句scrollbox6.SetFocus;可是没有用的,这个时候已经被当时处于激活状态的组件给接收了,如果它没有响应这个事件的处理程序,你看到的结果当然就是什么都没有发生。
我得scrollbox的align属性是alclient