Q&A

  • KeyDown, KeyPress Event에서 TAB키를 사용할수있는방법좀???
TEdit의 keydown, keypress이벤트에서

tab키를 사용할수있는 방법이 있을것 같은데...

워낙 초보인관계로.... T.T 다른 편법으로 사용할라구했는데...

프로그램이 매끄럽지 못한거 같아서... 방법을 찾았는데...

안되네여.... 혹시 초절정의 고수님들 중에서 알고 계신분들은

갈켜주세염... ^^....

4  COMMENTS
  • Profile
    이재식 2001.01.08 23:38
    냉혈이 wrote:

    > TEdit의 keydown, keypress이벤트에서

    > tab키를 사용할수있는 방법이 있을것 같은데...

    > 워낙 초보인관계로.... T.T 다른 편법으로 사용할라구했는데...

    > 프로그램이 매끄럽지 못한거 같아서... 방법을 찾았는데...

    > 안되네여.... 혹시 초절정의 고수님들 중에서 알고 계신분들은

    > 갈켜주세염... ^^

    ....



    이재식 Wrote :

    안녕하세요?



    님께서 나름대로 편법(대안)이 있다고 생각하는데요,

    님께서 생각하신 대안은 어떤것인지 알고 싶군요.



    저는 이런 대안을 제시합니다.

    가령, Form에 Edit1과 Edit2가 있다고 합시다.

    Edit1에서 tab키를 누르면 Edit2로 갑니다.

    그런데, Edit1의 keydown이벤트에서 단순히 if key = vk_tab then ....

    이런식으로하면 안되는거 아시죠?

    tab키를 누르면 보통 CM_DIAOGKEY메시지가 발생해요.

    그래서, 이걸 이용하고요,

    그리고, Edit1에서 tab키를 누르면 Edit2로 포커스가 가니까,

    Edit2가 Focus가 가졌느냐를 따지면

    결국 Edit1에서 tab키를 누를때 그 순간을 알수 있고요, 응당 포커스 이동을 하지 않게

    할수 있는 것이죠.

    아래에, 샘플을 작성했습니다.

    그저... 소인은 님에게 도움되기를 바랍니다.



    unit Unit1;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    StdCtrls;



    type

    TForm1 = class(TForm)

    Edit1: TEdit;

    Edit2: TEdit;

    private

    { Private declarations }

    procedure CMDialogKey(var Message: TCMDialogKey); message CM_DIALOGKEY;

    public

    { Public declarations }

    end;



    var

    Form1: TForm1;



    implementation



    {$R *.DFM}



    procedure TForm1.CMDialogKey(var Message: TCMDialogKey);

    begin

    inherited;



    if (Message.CharCode = vk_Tab) and (Edit2.Focused) then

    Edit1.SetFocus ;



    DefaultHandler(Message) ;



    end;



    end.



  • Profile
    냉혈이 2001.01.09 01:48
    이재식 wrote:

    > 냉혈이 wrote:

    > > TEdit의 keydown, keypress이벤트에서

    > > tab키를 사용할수있는 방법이 있을것 같은데...

    > > 워낙 초보인관계로.... T.T 다른 편법으로 사용할라구했는데...

    > > 프로그램이 매끄럽지 못한거 같아서... 방법을 찾았는데...

    > > 안되네여.... 혹시 초절정의 고수님들 중에서 알고 계신분들은

    > > 갈켜주세염... ^^

    > ....

    >

    > 이재식 Wrote :

    > 안녕하세요?

    >

    > 님께서 나름대로 편법(대안)이 있다고 생각하는데요,

    > 님께서 생각하신 대안은 어떤것인지 알고 싶군요.

    >

    > 저는 이런 대안을 제시합니다.

    > 가령, Form에 Edit1과 Edit2가 있다고 합시다.

    > Edit1에서 tab키를 누르면 Edit2로 갑니다.

    > 그런데, Edit1의 keydown이벤트에서 단순히 if key = vk_tab then ....

    > 이런식으로하면 안되는거 아시죠?

    > tab키를 누르면 보통 CM_DIAOGKEY메시지가 발생해요.

    > 그래서, 이걸 이용하고요,

    > 그리고, Edit1에서 tab키를 누르면 Edit2로 포커스가 가니까,

    > Edit2가 Focus가 가졌느냐를 따지면

    > 결국 Edit1에서 tab키를 누를때 그 순간을 알수 있고요, 응당 포커스 이동을 하지 않게

    > 할수 있는 것이죠.

    > 아래에, 샘플을 작성했습니다.

    > 그저... 소인은 님에게 도움되기를 바랍니다.

    >

    > unit Unit1;

    >

    > interface

    >

    > uses

    > Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    > StdCtrls;

    >

    > type

    > TForm1 = class(TForm)

    > Edit1: TEdit;

    > Edit2: TEdit;

    > private

    > { Private declarations }

    > procedure CMDialogKey(var Message: TCMDialogKey); message CM_DIALOGKEY;

    > public

    > { Public declarations }

    > end;

    >

    > var

    > Form1: TForm1;

    >

    > implementation

    >

    > {$R *.DFM}

    >

    > procedure TForm1.CMDialogKey(var Message: TCMDialogKey);

    > begin

    > inherited;

    >

    > if (Message.CharCode = vk_Tab) and (Edit2.Focused) then

    > Edit1.SetFocus ;

    >

    > DefaultHandler(Message) ;

    >

    > end;

    >

    > end.

    >

  • Profile
    지영일 2001.01.08 20:02
    35413번의 가시면 원하시는 것을 구할수 있을거라 보는데요..

    좀 귀찮아서 이렇게 번호가 알려드려 죄송합니다..

    좋은 하루 보내시구요..





    냉혈이 wrote:

    > TEdit의 keydown, keypress이벤트에서

    > tab키를 사용할수있는 방법이 있을것 같은데...

    > 워낙 초보인관계로.... T.T 다른 편법으로 사용할라구했는데...

    > 프로그램이 매끄럽지 못한거 같아서... 방법을 찾았는데...

    > 안되네여.... 혹시 초절정의 고수님들 중에서 알고 계신분들은

    > 갈켜주세염... ^^....

  • Profile
    냉혈이 2001.01.08 20:55
    KeyDown과 KeyPress 이벤트에서는 TAB키를 못잡아서여...

    KeyUp이벤트에서는 TAB키의 값을 잡기는 하는데여....

    그런데.. Up이벤트는... 그 전의 콤포넌트에서 일어난것을 잡은것이니 필요가 없겠죠...

    이정도면 제대로 이해하실수있는지요... ???

    답변좀 언능해주세여... T.T





    지영일 wrote:

    > 35413번의 가시면 원하시는 것을 구할수 있을거라 보는데요..

    > 좀 귀찮아서 이렇게 번호가 알려드려 죄송합니다..

    > 좋은 하루 보내시구요..

    >

    >

    > 냉혈이 wrote:

    > > TEdit의 keydown, keypress이벤트에서

    > > tab키를 사용할수있는 방법이 있을것 같은데...

    > > 워낙 초보인관계로.... T.T 다른 편법으로 사용할라구했는데...

    > > 프로그램이 매끄럽지 못한거 같아서... 방법을 찾았는데...

    > > 안되네여.... 혹시 초절정의 고수님들 중에서 알고 계신분들은

    > > 갈켜주세염... ^^....

    • 2001.01.08 21:15
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 좋은날
      2001.01.11 21:05
      선 wrote: > 델파이 3을 쓰고 있습니다. > > DateTimePicker를 사용하여, > > 날짜는 오늘로 프...
    • 이광형
      2001.01.08 21:30
      FORM CREATE 될때... EVENT 에다가 DateTimePicker.DATETIME := DATE; 를 코딩해 보세요. 선 wrote: ...
    • 김선
      2001.01.09 05:49
      이광형 wrote: > FORM CREATE 될때... EVENT 에다가 DateTimePicker.DATETIME := DATE; > 를 코딩해 보...
    • 사발우성
      2001.01.08 22:44
      한다라이 wrote: > > 사발우성(먼 뜻어여?)님의 답변 보았습니다. > > 근데, 실제 올라온 데이타는 1...
    • 방경주
      2001.01.08 22:06
      흠...sql에 조인문을 쓰셨나여? 구럴경우.... Query1.last; Queyr1.first; 하신다음 레코드 카운트를...
    • 한다라이
      2001.01.09 01:39
      마자요, 조인을 했어요. 그래서 님과 같이 퍼스트,라스트를 해서 코팅을 해왔는데, 아무래도 무식...
    • 좋은날
      2001.01.11 21:41
      한다라이 wrote: > > 마자요, 조인을 했어요. > > 그래서 님과 같이 퍼스트,라스트를 해서 코팅을 해...
    • 승추니
      2001.01.09 00:08
      델파이맨 wrote: > 특정 쿼리문을 실행하고 그 실행결과 결과값이 있는지 없는지 체크하는 방법좀 알려주...
    • 사발우성
      2001.01.08 21:05
      if query.RecordCount < 1 then begin showmessage('검색된 내용이 없습니...
    • 김길남
    • 2001.01.08 20:20
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 하니
      2001.01.08 22:59
      입력후에 자료를 다시 open한후에 Locate함수를 사용하세요. 사용법이 두종류입니다.키값이 하나일때와 둘...
    • 승추니
      2001.01.09 00:11
      하니 wrote: > 입력후에 자료를 다시 open한후에 Locate함수를 사용하세요. > 사용법이 두종류입니다.키...
    • 호야
    • 2001.01.08 20:03
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 비즈코리아
      2001.01.08 21:08
      [비즈코리아] 질문이 참으로 어렵군요....누가 대답할수있을까요..왜 죽는지.. 소스도 없구...상황설명도...
    • 티에스
    • 2001.01.08 19:43
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이광형
      2001.01.08 19:46
      listbox2 에 이벤트가 발생할때 listbox1.itemindex := -1; 이렇게 코딩해 주면 listbox1의 선택위...
    • 나그네
      2001.01.08 19:48
      나그네 wrote: > 답변처럼 showmodal을 사용하고 bitbtn버튼의 default와 cancel의 > 메서드를 false로 ...
    • 나그네
    • 2001.01.08 19:11
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 방경주
      2001.01.08 19:26
      나그네 wrote: > sql 문을 사용하여 질의 후 폼이 사라집니다. > 다시 폼을 호출하면 출력된 내용은 정확...
    • heosunju
    • 2001.01.08 17:44
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 방경주
      2001.01.08 17:51
      heosunju wrote: > 2개의 DB를 JOIN후 이 결과로 SQL문을 쓰려고 합니다. > 예를 들어.... > A1, A2...
    • heosunju
      2001.01.08 18:00
      방경주 wrote: > heosunju wrote: > > 2개의 DB를 JOIN후 이 결과로 SQL문을 쓰려고 합니다. > > 예...
    • 방경주
      2001.01.08 18:36
      heosunju wrote: > 방경주 wrote: > > heosunju wrote: > > > 2개의 DB를 JOIN후 이 결과로 SQL문을 쓰...
    • 김진국
    • 2001.01.08 11:40
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 권경미
      2001.01.08 18:13
      구거...델파이 씨디에 보니 있더군여... Enterprise버젼을 사용중인데... 인스톨 메뉴에 보면... ...
    • 홍용혁
    • 2001.01.08 10:24
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김경민
      2001.01.08 19:50
      홍용혁 wrote: > 야후에 접속하면 주소입력창에 야후아이콘이 나타납니다. > > 이건 어떻게 해서 나타...
    • 김경민
      2001.01.08 19:49
      홍용혁 wrote: > 야후에 접속하면 주소입력창에 야후아이콘이 나타납니다. > > 이건 어떻게 해서 나타...
    • 하니
      2001.01.08 23:13
      날짜함수를 보니 파라독스를 사용하는것 같군요. 파라독스에 SUBSTRING 함수를 이용해서 년도를 빼고 월일...
    • 허저비
      2001.01.09 00:25
      ..
    • parkisu
    • 2001.01.08 09:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 방기남
      2001.01.08 10:06
      충분한 답변은 아닐테지만.. 과거에.. 일본어 관련 폰트를 업그레이드 했을 때 님과같은 문제가 발생...
    • 해소슬
    • 2001.01.08 09:03
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 방기남
      2001.01.08 10:08
      해소슬 wrote: > 어떻게 하나욤.. > 팩토리얼 계산을 할라믄 Edit란 콤퍼넌트를 사용해서 입력 받은 값으...
    • 해소슬
      2001.01.08 11:38
      감사(-_-)(__)(-_-);; 값 입력 받는건 그리 고쳐서 하니깐 되더군요... 참... 팩토리얼이란건 어떤 수에...
    • 방기남
      2001.01.08 18:45
      안녕하세요. 방기남(25)입니다. 역시 마찬가지로 하시면 됩니다. 단, String을 Integer로 바꾼것이니...
    • BLUE
      2001.01.10 03:03
      방기남 wrote: > > 안녕하세요. > 방기남(25)입니다. > > 역시 마찬가지로 하시면 됩니다. 단, Stri...
    • 방경주
      2001.01.08 18:02
      var n, i, sum : Integer; begin n := StrToInt(Input.Text); while(n = 0) begin i := n - 1;...
    • 냉혈이
    • 2001.01.08 06:17
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이재식
      2001.01.08 23:38
      냉혈이 wrote: > TEdit의 keydown, keypress이벤트에서 > tab키를 사용할수있는 방법이 있을것 같은데......
    • 냉혈이
      2001.01.09 01:48
      이재식 wrote: > 냉혈이 wrote: > > TEdit의 keydown, keypress이벤트에서 > > tab키를 사용할수있는 방...
    • 지영일
      2001.01.08 20:02
      35413번의 가시면 원하시는 것을 구할수 있을거라 보는데요.. 좀 귀찮아서 이렇게 번호가 알려드려 죄송합...
    • 냉혈이
      2001.01.08 20:55
      KeyDown과 KeyPress 이벤트에서는 TAB키를 못잡아서여... KeyUp이벤트에서는 TAB키의 값을 잡기는 하는데...
    • parkisu
      2001.01.08 09:13
      초보 wrote: > 눈에 많이 오내요 > > DBRichEdit에서 깨지는 데 이유를 모르 겠네요 > > 폼을 닫고 ...
    • 초보
      2001.01.09 20:05
      parkisu wrote: > 초보 wrote: > > 눈에 많이 오내요 > > > > DBRichEdit에서 깨지는 데 이유를 모르 ...
    • 승추니
      2001.01.09 00:53
      ahn^^ wrote: > > 안녕하세요~~! > 오늘은 눈이 무지 많이 오네요. 다들 즐코하구 계시는지^^ > > ...
    • 초보자
    • 2001.01.07 22:00
    • 1 COMMENTS
    • /
    • 0 LIKES
    • ^^
      2001.01.08 01:14
      select getdate() 초보자 wrote: > 안녕하세요. > > 아주 기본적인 질문을 드립니다. > > oracle...