Q&A

  • 고수님들의 조언부탁합니다.
키이동에 관한건데요

아래 소스를 보고 해결책 좀 조언해주십시오

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키를 사용하는 방법은 없나요?

고수님들의 답변을 기다리겠습니다.

꾸벅

2  COMMENTS
  • Profile
    강인규 2000.01.27 02:12
    form key down 이벤트에 아래와 같이 코딩합니다.

    꽁수만 갈켜드리는것 같군요.



    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키를 사용하는 방법은 없나요?

    > 고수님들의 답변을 기다리겠습니다.

    > 꾸벅

  • Profile
    술친구 2000.01.27 02:00
    초보왕 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키를 사용하는 방법은 없나요?

    > 고수님들의 답변을 기다리겠습니다.

    > 꾸벅



    안녕하세요.. 술친굽니다.



    글쎄요. 소스는 별 문제가 없는것 같은데..

    다른 문제가 있는지는 모르겠군요..

    그리고 Key 값은 다음과 같습니다. 참고하세요..



    Constant name Value (hexadecimal) Mouse or keyboard equivalent

    VK_LBUTTON 01 Left mouse button

    VK_RBUTTON 02 Right mouse button

    VK_CANCEL 03 Control-break processing

    VK_MBUTTON 04 Middle mouse button (three-button mouse)

    VK_BACK 08 BACKSPACE key

    VK_TAB 09 TAB key

    VK_CLEAR 0C CLEAR key

    VK_RETURN 0D ENTER key

    VK_SHIFT 10 SHIFT key

    VK_CONTROL 11 CTRL key

    VK_MENU 12 ALT key

    VK_PAUSE 13 PAUSE key

    VK_CAPITAL 14 CAPS LOCK key

    VK_ESCAPE 1B ESC key

    VK_SPACE 20 SPACEBAR

    VK_PRIOR 21 PAGE UP key

    VK_NEXT 22 PAGE DOWN key

    VK_END 23 END key

    VK_HOME 24 HOME key

    VK_LEFT 25 LEFT ARROW key

    VK_UP 26 UP ARROW key

    VK_RIGHT 27 RIGHT ARROW key

    VK_DOWN 28 DOWN ARROW key

    VK_SELECT 29 SELECT key

    VK_EXECUTE 2B EXECUTE key

    VK_SNAPSHOT 2C PRINT SCREEN key for Windows 3.0 and later

    VK_INSERT 2D INS key

    VK_DELETE 2E DEL key

    VK_HELP 2F HELP key

    VK_0 30 0 key

    VK_1 31 1 key

    VK_2 32 2 key

    VK_3 33 3 key

    VK_4 34 4 key

    VK_5 35 5 key

    VK_6 36 6 key

    VK_7 37 7 key

    VK_8 38 8 key

    VK_9 39 9 key

    VK_A 41 A key

    VK_B 42 B key

    VK_C 43 C key

    VK_D 44 D key

    VK_E 45 E key

    VK_F 46 F key

    VK_G 47 G key

    VK_H 48 H key

    VK_I 49 I key

    VK_J 4A J key

    VK_K 4B K key

    VK_L 4C L key

    VK_M 4D M key

    VK_N 4E N key

    VK_O 4F O key

    VK_P 50 P key

    VK_Q 51 Q key

    VK_R 52 R key

    VK_S 53 S key

    VK_T 54 T key

    VK_U 55 U key

    VK_V 56 V key

    VK_W 57 W key

    VK_X 58 X key

    VK_Y 59 Y key

    VK_Z 5A Z key

    VK_LWIN 5B Left Windows key (Microsoft Natural Keyboard)

    VK_RWIN 5C Right Windows key (Microsoft Natural Keyboard)

    VK_APPS 5D Applications key (Microsoft Natural Keyboard)

    VK_NUMPAD0 60 Numeric keypad 0 key

    VK_NUMPAD1 61 Numeric keypad 1 key

    VK_NUMPAD2 62 Numeric keypad 2 key

    VK_NUMPAD3 63 Numeric keypad 3 key

    VK_NUMPAD4 64 Numeric keypad 4 key

    VK_NUMPAD5 65 Numeric keypad 5 key

    VK_NUMPAD6 66 Numeric keypad 6 key

    VK_NUMPAD7 67 Numeric keypad 7 key

    VK_NUMPAD8 68 Numeric keypad 8 key

    VK_NUMPAD9 69 Numeric keypad 9 key

    VK_MULTIPLY 6A Multiply key

    VK_ADD 6B Add key

    VK_SEPARATOR 6C Separator key

    VK_SUBTRACT 6D Subtract key

    VK_DECIMAL 6E Decimal key

    VK_DIVIDE 6F Divide key

    VK_F1 70 F1 key

    VK_F2 71 F2 key

    VK_F3 72 F3 key

    VK_F4 73 F4 key

    VK_F5 74 F5 key

    VK_F6 75 F6 key

    VK_F7 76 F7 key

    VK_F8 77 F8 key

    VK_F9 78 F9 key

    VK_F10 79 F10 key

    VK_F11 7A F11 key

    VK_F12 7B F12 key

    VK_F13 7C F13 key

    VK_F14 7D F14 key

    VK_F15 7E F15 key

    VK_F16 7F F16 key

    VK_F17 80H F17 key

    VK_F18 81H F18 key

    VK_F19 82H F19 key

    VK_F20 83H F20 key

    VK_F21 84H F21 key

    VK_F22 85H F22 key

    VK_F23 86H F23 key

    VK_F24 87H F24 key

    VK_NUMLOCK 90 NUM LOCK key

    VK_SCROLL 91 SCROLL LOCK key

    VK_ATTN F6 Attn key

    VK_CRSEL F7 CrSel key

    VK_EXSEL F8 ExSel key

    VK_EREOF F9 Erase EOF key

    VK_PLAY FA Play key

    VK_ZOOM FB Zoom key

    VK_NONAME FC Reserved for future use.

    VK_PA1 FD PA1 key

    VK_OEM_CLEAR FE Clear key





    술친구 였습니다.