selectnext 未说明????(50分)

  • 主题发起人 主题发起人 allen72
  • 开始时间 开始时间
A

allen72

Unregistered / Unconfirmed
GUEST, unregistred user!
通过回车在EDIT中移动,如下方法:
********************************
在OnKeyDown中执行:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Case Key Of
VK_RETURN: TWinControl(Sender).SelectNext(TWinControl(Sender),
True, True);
VK_UP: TWinControl(Sender).SelectNext(TWinControl(Sender),
False, True);
......
end;
end;
用SelectNext可以按照确定的Tab顺序移动焦点。
****************************************************

可是老是提示SelectNext是未说明的标示符
??怎么解决啊?谢谢!!


 
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Case Key Of
VK_RETURN: SelectNext(TWinControl(Sender),True, True);
VK_UP: SelectNext(TWinControl(Sender),False, True);
......
end;
end;
 
>>Why
unit Controls;
TWinControl = class(TControl)
protected
procedure SelectNext(CurControl: TWinControl;
GoForward, CheckTabStop: Boolean);
end;

SelectNext 是保护过程,在其它单元无法使用。

>>How
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key = #$D) then
begin
Key := #0;
Perform(WM_NEXTDLGCTL, 0, 0);
end;
end;
 
接受答案了.
 
后退
顶部