델파이 메세지다이어로그(MessageDialog) 원하는 키 받기
.
.
.
private
{ Private declarations }
protected
public
{ Public declarations }
Procedure HelpBoKeyPress(Sender : TObject; var Key : Char);
end;
var
Form1: TForm1;
LegalKeys : String;
procedure TForm1.Button1Click(Sender: TObject);
Var
S : String;
Begin
LegalKeys := 'ABC123';
S := '원하는 항목을 선택하세요!'#13#13'' +
' A 키눌러라'#13'' +
' B.키눌러라'#13'' +
' C.키눌러라'#13'' +
' 1.키눌러라'#13'' +
' 2.키눌러라'#13'' +
' 3.키눌러라';
With CreateMessageDialog(S, mtConfirmation, []) do
begin
Try
onKeyPress := HelpBoKeyPress;
if ShowModal = mrOk Then
Label1.Caption := 'You Pressed: ' + LegalKeys[Tag]
else
Label1.Caption := 'You Pressed: ' + 'Cancel';
Finally
Free;
End;
End;
end;
procedure TForm1.HelpBoKeyPress(Sender: TObject; var Key: Char);
Begin
if Pos(Upcase(Key), LegalKeys) > 0 Then
begin
TForm(Sender).Tag := Pos(Upcase(Key), LegalKeys);
TForm(Sender).ModalResult := mrOk;
end
else
If Key = #27 Then TForm(Sender).ModalResult := mrCancel;
end;
'Delphi Tip > +Tip' 카테고리의 다른 글
프로그램에서 DOS 명령어 처리 (0) | 2023.12.29 |
---|---|
델파이 디버깅용 콘솔창 만들기 (0) | 2023.12.11 |
메인 메뉴에 팝업메뉴 달기 (0) | 2023.11.28 |
델파이 툴 메뉴 생성 (현재 프로젝트 경로 열기) (0) | 2023.11.22 |
정해진 시간에 없어지는 MessageBox (0) | 2023.11.06 |
댓글