키이동에 관한건데요
아래 소스를 보고 해결책 좀 조언해주십시오
edit1keyup
begin
case key of
vk_end : edit2.setfocus;
end;
end;
edit2keyup
begin
case key of
vk_home : edit1.setfocus;
vk_end : edit3.setfocus;
end;
end;
edit3keyup
begin
case key of
vk_home : edit2.setfocus;
end;
end;
home키와end키로 edit를 왔다갔다 하는 소스로 코딩을 하였는데
실행을해보니 edit1에서 end키를 누르면 edit3으로 가고
edit3에서 home키를 누르면 edit1로 바로 움직이는 데 이것을 좀 해결해주십시요
그리고 home,end키 말고 pageup,pagedown키를 사용하는 방법은 없나요?
고수님들의 답변을 기다리겠습니다.
꾸벅
꽁수만 갈켜드리는것 같군요.
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
i : integer;
begin
//페이지 업키를 눌렀을 때....
if key = VK_NEXT then begin
selectnext(ActiveControl as TWincontrol, true,true);
end;
//페이지 업키를 눌럿을때...
if key = VK_PRIOR then begin
//edit1에 포커스가 가지 않았으면...
if edit1.Focused = false then begin
i := 1;
//focuse가 있는 컴퍼넌트를 찾는다.
repeat
with (FindComponent('edit'+inttostr(i)) as Tedit) do begin
//포커스가 있으면...
if Focused = true then begin
//이거 꽁수입니다 따라하지 않으심이.... taborder를
//바꾸고 다음포커스로 이동
taborder := taborder -1;
selectnext(ActiveControl as TWincontrol, true,true);
taborder := taborder +1;
exit;
end;
i := i+1;
end;
until (i = 4)
end;
end;
end;
초보왕 wrote:
> 키이동에 관한건데요
> 아래 소스를 보고 해결책 좀 조언해주십시오
> edit1keyup
> begin
> case key of
> vk_end : edit2.setfocus;
> end;
> end;
>
> edit2keyup
> begin
> case key of
> vk_home : edit1.setfocus;
> vk_end : edit3.setfocus;
> end;
> end;
>
> edit3keyup
> begin
> case key of
> vk_home : edit2.setfocus;
> end;
> end;
>
>
> home키와end키로 edit를 왔다갔다 하는 소스로 코딩을 하였는데
> 실행을해보니 edit1에서 end키를 누르면 edit3으로 가고
> edit3에서 home키를 누르면 edit1로 바로 움직이는 데 이것을 좀 해결해주십시요
> 그리고 home,end키 말고 pageup,pagedown키를 사용하는 방법은 없나요?
> 고수님들의 답변을 기다리겠습니다.
> 꾸벅