Q&A

  • PageControl에서 특정키로 이동하기
PageControl에서 특정키(예를 들어 Shift키)를 누르면 Next페이지(혹은 previous page로) 이동하려고 합니다. 방법좀 알려주세요.

그럼 답변 기다리겠습니다.

4  COMMENTS
  • Profile
    최석기 2000.07.22 03:44
    유레카 wrote:

    > PageControl에서 특정키(예를 들어 Shift키)를 누르면 Next페이지(혹은 previous page로) 이동하려고 합니다. 방법좀 알려주세요.

    > 그럼 답변 기다리겠습니다.



    PageControl에서 원래 기본 이동은 Ctrl+Tab 순방향, Shift+Ctrl+Tab 가 역방향으로 알고 있는데..



    KeyDown 이벤트에서 다음 키들을 잡아서 원하는 키 이젠트에 반응 하게 하시면 않될까요?

  • Profile
    유레카 2000.07.22 03:53
    참고로 전체 프로젝트상에서 엔터키를 탭키처럼 쓸수 있게 코딩했구요.

    PageControl이 있는 폼에서만 아래와 같이 코딩했습니다.



    procedure TFormBaseReg.FormKeyPress(Sender: TObject; var Key: Char);

    var

    Button: TUDBtnType;

    begin

    // Shift + 1번키

    if (Key = #10) and (Key = #31) then

    PageControl1.SelectNextPage(Button = btNext)

    else if (Key = #10) and (Key = #32) then

    PageControl1.SelectNextPage(Button = btPrev);

    end;



    이렇게 했는데 전혀반응을 하지 않았습니다.

    다시한번 답변바랍니다.



    최석기 wrote:

    > 유레카 wrote:

    > > PageControl에서 특정키(예를 들어 Shift키)를 누르면 Next페이지(혹은 previous page로) 이동하려고 합니다. 방법좀 알려주세요.

    > > 그럼 답변 기다리겠습니다.

    >

    > PageControl에서 원래 기본 이동은 Ctrl+Tab 순방향, Shift+Ctrl+Tab 가 역방향으로 알고 있는데..

    >

    > KeyDown 이벤트에서 다음 키들을 잡아서 원하는 키 이젠트에 반응 하게 하시면 않될까요?

  • Profile
    최석기 2000.07.22 04:39
    KeyPress 이벤트에서 두키를 한번에 잡을 수 있었나???



    KeyDown 이벤트 쓰시죠..



    유레카 wrote:

    > 참고로 전체 프로젝트상에서 엔터키를 탭키처럼 쓸수 있게 코딩했구요.

    > PageControl이 있는 폼에서만 아래와 같이 코딩했습니다.

    >

    > procedure TFormBaseReg.FormKeyPress(Sender: TObject; var Key: Char);

    > var

    > Button: TUDBtnType;

    > begin

    > // Shift + 1번키

    > if (Key = #10) and (Key = #31) then

    > PageControl1.SelectNextPage(Button = btNext)

    > else if (Key = #10) and (Key = #32) then

    > PageControl1.SelectNextPage(Button = btPrev);

    > end;

    >

    > 이렇게 했는데 전혀반응을 하지 않았습니다.

    > 다시한번 답변바랍니다.

    >

    > 최석기 wrote:

    > > 유레카 wrote:

    > > > PageControl에서 특정키(예를 들어 Shift키)를 누르면 Next페이지(혹은 previous page로) 이동하려고 합니다. 방법좀 알려주세요.

    > > > 그럼 답변 기다리겠습니다.

    > >

    > > PageControl에서 원래 기본 이동은 Ctrl+Tab 순방향, Shift+Ctrl+Tab 가 역방향으로 알고 있는데..

    > >

    > > KeyDown 이벤트에서 다음 키들을 잡아서 원하는 키 이젠트에 반응 하게 하시면 않될까요?

  • Profile
    유레카 2000.07.22 06:20
    답변감사합니다.



    아래와 같이 코딩하니 반응하더군요.

    procedure TFormBaseReg.FormKeyDown(Sender: TObject; var Key: Word;

    Shift: TShiftState);

    var

    Button: TUDBtnType;

    begin

    if (ssAlt in Shift)then

    PageControl1.SelectNextPage(Button = btNext);

    end;



    오늘이 중복이었는데 영양식이라도.. ^^;