C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[41493] Re:Alt 키와 1 키의 입력을 확인하려고 하는데...
유영인 Cuperido [cuperido] 1312 읽음    2005-08-17 13:18
띵띵 하고 나오는 소리는 Alt 키 누르면 나오는 메뉴에 들어갔다가,
1에 해당하는 키가 없기 때문에 소리가 나는 것 입니다.
(Alt 키를 누르시고 아래 방향키를 누르시면 메뉴가 펼쳐집니다)

어플 단에서 발생하는 메시지 이기 때문에, Key를 단순히 0으로
만든다고 해서 해결이 되지는 않고, 어플리케이션 메시지 단에서
무시를 시키도록 해야합니다.

단 이럴 경우, Alt + F4 등의 이벤트 메뉴도 모두 없어지니,
따로 처리를 해주셔야 합니다.

아래는 띵 소리를 없애는 간단한 예제입니다.


cuperido

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{

Application->OnMessage = MyMessageHandler;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
{

if(Shift.Contains(ssAlt) && Key == 0x31) {
   Caption = "Alt + 1";
}

}
//---------------------------------------------------------------------------

void __fastcall TForm1::MyMessageHandler(TMsg &Msg, bool &Handled)
{

if(Msg.message == 260) Msg.message = 0;

}

김승철 님이 쓰신 글 :
: 빌더5에서 Alt 키와 숫자 1 키의 동시입력을 하려고 합니다.
:
: void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
: {
:     if(Shift.Contains(ssAlt) && Key==0x31) Label1->Caption="Alt + 1";
: }
:
: 위와 같이 소스를 작성하고 실행하면 두개의 키입력은 확인이 되는데...
: 윈도(win 2000) 에서 띵~~~ 하는 소리가 납니다. 소리가 나는 이유가 뭔지 궁금합니다.
: 그리고 소스중에 Key==0x31 을 Key==VK_1 로 컴파일 하면 VK_1 이 Undefined Symbol 이라고 나옵니다.
: 왜그럴까요 ? 아시는 분 답변 좀 부탁드립니다.

+ -

관련 글 리스트
41489 Alt 키와 1 키의 입력을 확인하려고 하는데... 김승철 936 2005/08/17
41493     Re:Alt 키와 1 키의 입력을 확인하려고 하는데... 유영인 Cuperido 1312 2005/08/17
41491     Re:Alt 키와 1 키의 입력을 확인하려고 하는데... 정재훈 1142 2005/08/17
41495         정재훈님, 유영인님 고맙습니다. (내용무) 김승철 885 2005/08/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.