Q&A

  • 여러개의 edit중 한개를 활성화 하기??
안녕하세요 맨날 질문만 하는 수혀니입니다. 꾸벅~!

항상 그렇지만 제폭 쓰기가 정말 난해하네요 쩝~

edit가 여러개 있는데 방향키에 의해 활성화(사용하기 위해 커서 이동)

시키려고 하는데요 탭오더를 수정해줘야 하나요? 음... enable속성은 아닌거

같고 *^^* 답변 부탁 드려요 꾸벅~!

P.S 제 질문에 답변 해주시는분들 감사 멜 보내려는데 제 이상하게 안돼네요

쩝~ 답변 해주시는분들 넘 넘 감사해요 꾸벅~!

2  COMMENTS
  • Profile
    클릭 1999.12.16 21:08
    송수현 wrote:

    > 안녕하세요 맨날 질문만 하는 수혀니입니다. 꾸벅~!

    > 항상 그렇지만 제폭 쓰기가 정말 난해하네요 쩝~

    > edit가 여러개 있는데 방향키에 의해 활성화(사용하기 위해 커서 이동)

    > 시키려고 하는데요 탭오더를 수정해줘야 하나요? 음... enable속성은 아닌거

    > 같고 *^^* 답변 부탁 드려요 꾸벅~!

    > P.S 제 질문에 답변 해주시는분들 감사 멜 보내려는데 제 이상하게 안돼네요

    > 쩝~ 답변 해주시는분들 넘 넘 감사해요 꾸벅~!



    방향키로 여러개의 에디터 박스중 하나를 활성화 시킬려면 에디터박스의 이벤트중에서

    onkeydown을 쓰시면 됩니다. OnkeyDown이벤트 프로시저 내에

    if Key = vk_down then //아래방향키를 누르면

    이동할 에디터.setfocus

    else key = vk_up then //위방향키를 누르면

    이동할 에디터.setfocus;

    이런식으루요... 도움이 되셨으면 합니다..

    그럼 이만..

  • Profile
    김주석 1999.12.16 21:28
    송수현 wrote:

    > 안녕하세요 맨날 질문만 하는 수혀니입니다. 꾸벅~!

    > 항상 그렇지만 제폭 쓰기가 정말 난해하네요 쩝~

    > edit가 여러개 있는데 방향키에 의해 활성화(사용하기 위해 커서 이동)

    > 시키려고 하는데요 탭오더를 수정해줘야 하나요? 음... enable속성은 아닌거

    > 같고 *^^* 답변 부탁 드려요 꾸벅~!

    > P.S 제 질문에 답변 해주시는분들 감사 멜 보내려는데 제 이상하게 안돼네요

    > 쩝~ 답변 해주시는분들 넘 넘 감사해요 꾸벅~!



    두가지를 응용하면 해결 되것같네요..

    1. selectnext를 이용하기

    2. edit의 tag속성 이용하기



    1. selectnext를 이용하기(델파이 도움말에서 'selectnext' 검색됨)



    procedure Tfrm_115.edt1KeyUp(Sender: TObject; var Key: Word;

    Shift: TShiftState);

    begin

    if LENGTH(edt1.Text) = 6 then

    SelectNext((Sender as TWincontrol), True ,True ) ;

    end;



    응용하셔서

    if key = vk_right then

    SelectNext((Sender as Tedit), True ,True ) ;



    if key = vk_left then

    SelectNext((Sender as Tedit), false ,True ) ;

    를 하시면 커서로 좌우이동은 되구요..(이건 해봤구요)



    2. edit의 tag속성 이용하기



    for i := 1 to panel5.ControlCount -1 do

    begin

    if panel5.Controls[i].ClassName = 'TEdit' then

    begin

    (panel5.Controls[i] As TEdit).Text := '' ;

    end ;

    end ;



    이 코드를 응용해서요..

    대략 같은 위치선상에 있는 컴포넌트들을 같은 tag값을 2자리로 셋팅해주고

    화살표 윗방향키를 눌렀을 때는 tag값중 1번째자리가 나와 같은 것들중에서 tag값중

    2번째자리-1 인것으로 이동한다(???) 고 하면 해결이 될거 같은데요

    (이건 안해봤네요..흠흠..)

    그리고 edit박스내에 현재 위치가 텍스트의 끝이나 처음일때 한해서 이동하고 싶다면

    edit박스에서 현재 위치는 selstart로 알수 있습니다