반응형
// 아래 예제는 Alt+C 에 버튼이 반응하는 간단한 예제인데
// Alt+C 이외의 단른 조합이 입력되면 beep 음이 발생하는데
// 이를 제거하는 소스입니다
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Procedure CMDialogChar(var Msg: TWMGetDlgCode); message CM_DIALOGCHAR;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
// Alt+키 입력시 Beep음 제거
procedure TForm1.CMDialogChar(var Msg: TWMGetDlgCode);
begin
inherited;
Msg.Result := DLGC_WANTMESSAGE or DLGC_WANTALLKEYS or DLGC_WANTARROWS or
DLGC_WANTTAB or DLGC_WANTCHARS;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.Width := 100;
Button1.Caption := 'Click or Alt+&C'; // Alt+C 를 만든다
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Showmessage('Click or Alt+C');
end;
end.
반응형