Q&A

  • 엔터키로 mrOK 버튼과 같은 역할을 하게 하려면? (재질문)
먼저 강인규님 과 오태양님 답변 정말 고맙습니다



mrOK버턴과 enter키가 같은 역할 할 수 있게 할려고 하는데

제가 아직 델파이에 대한 지식이 많이 없는터라 잘 안되네요.



먼저 제가 한 것은

Button에 대한 Procedure는 다음과 같습니다



procedure TForm1.Button1Click(Sender: TObject);

var

SNfilter, SNfilter1 : string;

begin

if (edit1.text ='') then

showmessage('관리번호를 입력 하세요')

else begin

SNfilter := 'SuperNo=''' + edit1.text +'''';

table1.Filter := SNfilter;

end;

end;



이고 Enter키에 대한 Porcedure는 다음과 같이 했읍니다.



procedure TForm1.Button1KeyPress(Sender: TObject; var Key: Char);

begin

if Key = #13 then

begin

Key := #0;

modalresult := mrOK;

button1Click(Sender);

end;

end;



그리고 컴포넌트의 이벤트에 OnKeyPress를 더불 클릭하니까 이런 Porcedure가 만들어

졌고 그래서 가르쳐 주신대로 했는데 안되네요

좀더 자세하게 어린아이 걸음마 가르치듯 하나하나 가르쳐 해주시면 그 은혜

평생 잊지 않겠나이다...

2  COMMENTS
  • Profile
    바사기몬 2000.11.09 08:05
    원하시는게 에디트박스에서 입력된 내용이 엔터키를 끝으로

    table의 filter에 들어가게 하신다면...



    코딩이 틀린것이 아니라.. 이벤트를 잘못 거셨네요..

    버튼 keypress에 거시는게 아니라 edit1.KeyPress에 거셔야 합니다.

    엔터키가 입력되는 컨트롤이 edit1이니까요...





    아기코알라 wrote:

    > 먼저 강인규님 과 오태양님 답변 정말 고맙습니다

    >

    > mrOK버턴과 enter키가 같은 역할 할 수 있게 할려고 하는데

    > 제가 아직 델파이에 대한 지식이 많이 없는터라 잘 안되네요.

    >

    > 먼저 제가 한 것은

    > Button에 대한 Procedure는 다음과 같습니다

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    > var

    > SNfilter, SNfilter1 : string;

    > begin

    > if (edit1.text ='') then

    > showmessage('관리번호를 입력 하세요')

    > else begin

    > SNfilter := 'SuperNo=''' + edit1.text +'''';

    > table1.Filter := SNfilter;

    > end;

    > end;

    >

    > 이고 Enter키에 대한 Porcedure는 다음과 같이 했읍니다.

    >

    > procedure TForm1.Button1KeyPress(Sender: TObject; var Key: Char);

    > begin

    > if Key = #13 then

    > begin

    > Key := #0;

    > modalresult := mrOK;

    > button1Click(Sender);

    > end;

    > end;

    >

    > 그리고 컴포넌트의 이벤트에 OnKeyPress를 더불 클릭하니까 이런 Porcedure가 만들어

    > 졌고 그래서 가르쳐 주신대로 했는데 안되네요

    > 좀더 자세하게 어린아이 걸음마 가르치듯 하나하나 가르쳐 해주시면 그 은혜

    > 평생 잊지 않겠나이다...

  • Profile
    Mr.Q 2000.11.09 18:25
    아기코알라 wrote:

    > 먼저 강인규님 과 오태양님 답변 정말 고맙습니다

    >

    > mrOK버턴과 enter키가 같은 역할 할 수 있게 할려고 하는데

    > 제가 아직 델파이에 대한 지식이 많이 없는터라 잘 안되네요.

    >

    > 먼저 제가 한 것은

    > Button에 대한 Procedure는 다음과 같습니다

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    > var

    > SNfilter, SNfilter1 : string;

    > begin

    > if (edit1.text ='') then

    > showmessage('관리번호를 입력 하세요')

    > else begin

    > SNfilter := 'SuperNo=''' + edit1.text +'''';

    > table1.Filter := SNfilter;

    > end;

    > end;

    >

    > 이고 Enter키에 대한 Porcedure는 다음과 같이 했읍니다.

    >

    > procedure TForm1.Button1KeyPress(Sender: TObject; var Key: Char);

    > begin

    > if Key = #13 then

    > begin

    > Key := #0;

    > modalresult := mrOK;

    > button1Click(Sender);

    > end;

    > end;

    >

    > 그리고 컴포넌트의 이벤트에 OnKeyPress를 더불 클릭하니까 이런 Porcedure가 만들어

    > 졌고 그래서 가르쳐 주신대로 했는데 안되네요

    > 좀더 자세하게 어린아이 걸음마 가르치듯 하나하나 가르쳐 해주시면 그 은혜

    > 평생 잊지 않겠나이다...



    default속성을 true로 하세요.

    엔터키가 먹힐려면... 포커스가 버튼에 와있어야합니다.

    예를 들어 사용하신 버튼이.. button1이라고 치구요.

    button1.SetFocus; 하신후에... 이벤트를 먹여야죠.

    • 권영길
      2000.11.09 22:42
      FASTNet의 NMHTTP를 이용하시거나 ICS, INDY콤포넌트를 이용하세요. 깡초보 wrote: > Form에서 Edit컴...
    • 깡초보
      2000.11.10 23:49
      권영길 wrote: > FASTNet의 NMHTTP를 이용하시거나 ICS, INDY콤포넌트를 이용하세요. > > 깡초보 wrote...
    • 권영길
      2000.11.11 00:10
      팔레트에 올라갑니다. 일반적인 콤포넌트 등록과정과 동일 할 겁니다. source에 보면 dpk가 있을텐데요. ...
    • 깡초보
      2000.11.11 02:39
      그런데 dpk파일을 연다음 컴파일하고 인스톨하는데 IdWinSock이 dclusr50 패키지에 포함이 되있다고 하면서...
    • 궁금이
    • 2000.11.09 20:17
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 컴맹II
      2000.11.11 19:24
      강제로 값을 바꾸게 되면... 커서는 젤 앞으로 갑니다... 잘 생각은 안 나지만... Edit1.SelStar...
    • 잠씨
    • 2000.11.09 20:21
    • 0 COMMENTS
    • /
    • 0 LIKES
    • soriso
      2000.11.09 19:40
      이승윤 wrote: > 어떤 테이블에서 동일한 값을 가진 데이타를 검색하려 합니다. > 예를 들어서 ITEM 테이...
    • raeganja
    • 2000.11.09 18:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이형섭
      2000.11.09 19:07
      raeganja wrote: > 안녕하세요....고수님들ㅇ.... > 제가 질문할 내용은요...다름이 아니라...ADO에서 아...
    • 아이언
    • 2000.11.09 17:49
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 타락천사
      2000.11.09 20:21
      안녕하세여..타락임다..^^ WinExec()의 리턴값이 실행시킨 윈도우 핸들일겁니다.. 아마 맞을 겁니다....
    • 아이언
      2000.11.09 20:44
      우선 답변 감사합니다. 리턴값이 핸들은 핸들인데... Process가 실행되어진 핸들값인것 같군요.. HW...
    • 타락천사
      2000.11.09 23:12
      안녕하세여..타락임다...^^;;; 같은 건데여..--;; 리턴값이 HWND 타입의 핸들입니다.. Windows 유...
    • 아이언
      2000.11.09 23:52
      천사님 말씀이 맞다면.. Var hApp : HWND; begin hApp := WinExec('IEFrame',SW_HIDE); Win...
    • 컴맹
      2000.11.09 18:40
      안녕하세여..? 그럴때는 요걸 쓰면 되죠.. procedure 윈도우 찾기 ProHandle : HWND; begin P...
    • 이경문
      2000.11.09 17:58
      FindWindow를 사용해 보세여. VC++의 Spy를 사용하시면 제대로 알 수 있을 겁니다. 아이언 wrote: > ...
    • 권영길
      2000.11.09 19:16
    • 델초보
      2000.11.10 02:20
    • 권영길
      2000.11.10 04:01
    • 델초보
      2000.11.10 05:08
    • 권영길
      2000.11.10 06:02
    • 이경문
      2000.11.09 17:44
      uses절에 MMSystem 추가. procedure TForm1.Button1Click(Sender: TObject); begin sndPlaySound('t...
    • 델파이군
      2000.11.09 09:29
      // FromCreate 이벤트에 코딩을 해주시면 폼 생성시 Wave파일이 출력됩니다. procedure TForm1.FormCreate...
    • volf
      2000.11.09 10:19
      말씀하신대로 하니 [Error] Unit1.pas(29): Undeclared identifier: 'mciSendString' 라는 에러가 생깁...
    • 김종근
    • 2000.11.09 07:46
    • 1 COMMENTS
    • /
    • 0 LIKES
    • sunny
      2001.10.26 06:27
      김종근 wrote: > > > ActiveX에 있는 VtChart의 Row 및 Column이 6줄,5칸이상 늘어나지 않는군요. ...
    • 권민호
      2000.11.09 07:53
      델맹 wrote: > 실행화일 있는 디렉을.. > C:ProgrmaFileshooing 라고 치구요. > 해당 파일이 있는곳은.....
    • 델맹
      2000.11.09 08:11
      권민호 wrote: > 델맹 wrote: > > 실행화일 있는 디렉을.. > > C:ProgrmaFileshooing 라고 치구요. > >...
    • 권민호
      2000.11.09 08:27
      델맹 wrote: > 권민호 wrote: > > 델맹 wrote: > > > 실행화일 있는 디렉을.. > > > C:ProgrmaFileshoo...
    • 타락천사
      2000.11.09 20:25
      안녕하세여..타락임다..^^ 두가지 방법이 있어여.. 첫번째가, 어플의 메세지큐를 검사하는 것이고, ...
    • 정영훈
      2000.11.09 08:07
      장민우 wrote: > while 문으로 무한 Loop 를 돌렸을 때 다른 Event 를 받을 수 있는 방법을 가르쳐 주세...
    • 이경문
      2000.11.09 17:46
      쓰레드를 이용하는 방법이 정석이지여. 하지만 Application.ProcessMessages(현재 어플 메세제 큐에 처리...
    • david
      2000.11.09 19:43
      bmHeader : TBitmapFileHeader; bmInfo : TBitmapInfo; 이렇게 선언하구요... 화일을 읽어서 순차적...
    • 바사기몬
      2000.11.09 08:05
      원하시는게 에디트박스에서 입력된 내용이 엔터키를 끝으로 table의 filter에 들어가게 하신다면... ...
    • Mr.Q
      2000.11.09 18:25
      아기코알라 wrote: > 먼저 강인규님 과 오태양님 답변 정말 고맙습니다 > > mrOK버턴과 enter키가 같은...
    • Jonny
    • 2000.11.09 05:10
    • 3 COMMENTS
    • /
    • 0 LIKES
    • Mr.Q
      2000.11.09 06:14
      Jonny wrote: > 리스트박스에서 스트링리스트들을 읽어 올때 스페이스 다음 부터 읽을 수 없을 까요...? ...
    • 바사기몬
      2000.11.09 05:39
      리스트박스1에서 리스트박스2로 스페이스 이후를 옮기는 예제입니다.. 너무 긴가요..^^; ...응용하시면 ...
    • 남기석
      2000.11.09 05:31
      안녕하세요 청개구리 남기석( http://www.delphitravel.com )입니다. 어제도 이 비슷한 걸 질문하신 분...
    • 뜨아악
    • 2000.11.09 04:21
    • 3 COMMENTS
    • /
    • 0 LIKES
    • Mr.Q
      2000.11.09 06:27
      뜨아악 wrote: > > table에서 type을 money로 주었습니다. > 모니터 화면에서는 에서는 자동으로 앞에 ...
    • 뜨아악
      2000.11.10 01:10
      저기요.. 답변주신건 감사한데. 제가 아직 초보걸랑요.. 좀더 자세히 Currency 속성은 어디서 어케 지...
    • Mr.Q
      2000.11.10 03:21
      뜨아악 wrote: > 저기요.. > 답변주신건 감사한데. > 제가 아직 초보걸랑요.. > 좀더 자세히 > Curre...