Q&A

  • PageControl에서.. Tab Key를 이용한 Page변경..
안녕하세요.. 델파이 초보입니다..

PageControl에서 Page변경할때..
PageControl1.ActivePage := TabSheet1;
이러한 방법을 사용합니다.

하지만, 같은 페이지에서 계속 Tab Key를 누르면.. 같은페이지 안에서만 Tab Order가 먹고, 다음페이지로 넘어가지 않습니다.

현재 Page의 끝 Component(Edit이나 Memo)에서 Tab을 누르면, 자동으로 다음페이지로 넘어가게 할 수 있는지 알고 싶습니다.

그리고, Page의 처음 Component(Edit이나 Memo)에서 Shift+Tab을 누르면, 이전 페이지로 자동으로 넘어가게 하고 싶습니다.

처음에는 마지막 Componet의 Exit Event에
PageControl1.ActivePage := TabSheet2;
로 처리했더니.. 마우스를 사용했을때 문제가 발생하고, 또 마지막 Component가 Visible:= false가 되는경우,, 각각의 경우수 마다 Event 코딩을 하기가 싶지 않았습니다.

여러 방법으로 시행착오를 격고 있는데.. 방법이 마땅치 않습니다.
지금은 PageUp, PageDown 버튼을 눌렀을때, 페이지가 변하는데..
사용자가 Tab, Shift+Tab의 사용을 원하고 있습니다.

방법을 아시는 고수 분들의 답변을 부탁드립니다..




2  COMMENTS
  • Profile
    신강섭 2002.09.24 01:07
    될지 안될지는 모르겠는데요
    이렇게 함 해보세요
    form의 keypreview를 true 로 설정하고
    formkeypress에서

    if ActiveControl is TPageControl then
    begin
           if PageControl.ActivePage <> 마지막페이지 then
              PageControl.ActivePage := PageControl.ActivePage + 1;
    end
    else
           Key := #0;

    뭐 이런식으로 한번 테스트 해보세요


  • Profile
    이주행 2002.09.26 00:20
    감사 합니다.. 아래 에서 힌트을 얻어서, 다음고 같이 처리 했습니다..

    // Tab인경우 처리..
    if key = #9 then
    begin
          if FindNextControl(ActiveControl as TWinControl, true, true, false) = PageControl1 then
          begin
                 PageControl1.SelectNextPage(True);

                 key:=#0;
          end
          else begin
                SelectNext(ActiveControl as TWinControl, true, true);
                key:= #0;
          end;
    end;

    이런식으로 처리했는데.. 그래도.. 약간 문제가 있습니다.
    Shift+tab을 눌렀을 때도, 같이 처리되는 건데..
    방법을 찾아 보아야 겠습니다.




    • ^________^
      2002.09.24 01:46
      델파이 설치된 곳에 보시면 소트에 관한 예제가 있습니다.. C:Program FilesBorlandDelphi6DemosThread...
    • 스말(^___^)
      2002.09.24 02:03
      우선 답변 감사드립니다.. QuickSortArray: TSortArray;를 사용해야된다는 뜻인지요 제가 하고싶은건&n...
    • 최용일
      2002.09.24 02:19
      안녕하세요. 최용일입니다. 방법은 수없이 많습니다. 텍스트파일이라면 그냥 간단히 TStringList로도...
    • 이영근
    • 2002.09.24 01:01
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 전형식
      2002.09.24 02:30
      체크박스가 깜빡이는것은 글쎄요... 직접만드셔야 할듯.. 하지만 트레이 아이콘이 깜빡이게(에니메이션)하...
    • 이주행
    • 2002.09.23 23:57
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 신강섭
      2002.09.24 01:07
      될지 안될지는 모르겠는데요 이렇게 함 해보세요 form의 keypreview를 true 로 설정하고 formkeypress에...
    • 이주행
      2002.09.26 00:20
      감사 합니다.. 아래 에서 힌트을 얻어서, 다음고 같이 처리 했습니다.. // Tab인경우 처리.. if key =...
    • 최용일
      2002.09.24 02:24
      안녕하세요. 최용일입니다. 변수에 생성된 객체를 대입하는 부분이 없는거 같네요...   &n...
    • 이남호
      2002.09.24 19:56
      냉무 ^^
    • 김민우
    • 2002.09.23 21:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2002.09.23 22:01
      아쉽게도 없네요... 혹 보험관련일을 하시나요? 차량번호체크하는거 정말 짱나죠...^^ 그냥 지역을 따...
    • 최석기
      2002.09.23 21:04
      스먈님이 하시려는게 꼭 로그 파일 남기는 방법 같으네요. 가장 최신꺼를 파일의 제일 첫행에 남기시려...
    • 스말(^___^)
      2002.09.23 21:48
      StrList.Insert(0, Buffer); 를 사용했는데 기존에 적혀있던걸 지우고 새로운 데이터를 쓰던데요 결국엔...
    • 최석기
      2002.09.23 22:06
      훔.. 제가 테스트 해본 결과로는 젤 첫줄에 잘 써지는데요.. 님 코딩을 올려보시죠.. 어디가 잘못된...
    • 스말(^___^)
      2002.09.24 01:23
    • 최용일
      2002.09.24 02:58
      안녕하세요. 최용일입니다. COM, PRN모두 파일처럼 억세스 할 수 있습니다. 아래와 같이 해보세요... ...
    • 전형식
      2002.09.24 02:49
      저는 Comport 컴포넌트를 이용해 처리 했던 기억이 있습니다. 자료실에 가시면 comport제어 컴포넌트가 있...
    • 돌쇠
    • 2002.09.23 20:06
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 고지범
      2002.09.23 21:11
      음.. 코드와 설명으로 보아하건 데... 그렇게 동작하는 것이 맞는 거 같군요... 가령... 1) Myimage&nbs...
    • 돌쇠
      2002.09.23 23:42
      먼저 답변 감사합니다.. 그런데 잘 안돼서 다시 글 올립니다. var Myimage : Timage; kkk : TObjectLis...
    • 한원희
      2002.09.24 00:59
      안녕하세요. 한원희입니다. 문제는 버튼을 누를때 마다, 새로운 ObjectList 객체를 생성하고, 그곳에다...
    • 돌쇠
      2002.09.24 19:57
    • 황철원
    • 2002.09.23 19:48
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2002.09.24 20:00
      참조하세요 unit CallDll2; interface uses   Windows, Messages, SysUtils, Classes,...
    • 홍성락
      2002.09.23 20:15
      hsr/////////////////////////////////////////////////////// 이미 파일이 열려있어서 그런게 아닌지요? ...
    • 이추형
      2002.09.23 20:13
      열린상태로 붙잡고 있어서 열수 없는것입니다. 파일acess free를 선행해 주셔야 합니다.
    • 김상두
    • 2002.09.23 19:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2002.09.23 19:46
      해당쿼리에서 작업후 ApplyUpdates를 해주시고요 아래 루틴을 돌리면 되지 않을까 합니다..... procedu...
    • 김헌대
    • 2002.09.22 01:32
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박상기
      2002.09.22 10:27
      '을 표현하시고자 하신다면 ''해줍니다 '을 2개 해주면 '자체가 표현됩니다.
    • goodlsw
    • 2002.09.21 14:49
    • 3 COMMENTS
    • /
    • 0 LIKES
    • goodlsw
      2002.09.23 21:55
      column명을 바꾸니까 되네요. sql에서 day나 date는 들어갈 수 없는 단어인가요? insert into expens...
    • 최용일
      2002.09.24 02:32
      안녕하세요. 최용일입니다. 흠~ 델파이에서 변수명이나 함수명으로 if, else, begin, for 등의 예약어를...
    • 폭가
      2002.09.23 21:00
    • 김희곤
    • 2002.09.21 06:21
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2002.10.09 20:00
      그것이 별거 아닌 프로그램입니다. 통신회사와 SMS발송에 관한 협약을 하면 FTP를 하나 열어줍니다, 그곳...
    • 김헌대
      2002.09.22 01:25
      저한테 모발폰으로 문자메시지 보내는 프로그램이 있는데 책을 사니까 책안에 있데여.. 근데 webbroker.dc...
    • 김종균
    • 2002.09.20 09:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 전형식
      2002.09.24 02:47
      MDI 에서도 스플래쉬 폼은 잘됩니다. 제가 보기엔 님께서 스플래쉬 실행방법에 조금 착오가 있는듯 싶습니...
    • 김헌대
    • 2002.09.20 04:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2002.10.08 03:09
      oci.dll(오라클8의 경우)을 이용하여 호출이 가능합니다. 하지만 좀 어렵네요... 어디선가 콤포넌트를 이...
    • freelab
    • 2002.09.20 02:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.09.23 20:05
      안녕하세요. 최용일입니다. 화면을 갱신하는 것은 우선순위가 가장 낮아서 빠른 순차적처리를 할때 잘 ...