2012-02-04 2 views
7

Application.MessageBox를 사용하여 내 VCL 응용 프로그램에서 메시지를 표시하지만 응용 프로그램에 vcl 스타일이 적용되면 메시지 창은 현재 vcl 스타일 대신 windows 스타일로 표시됩니다. 나는 현재 VCL 스타일 메시지 상자를 표시 할 수 있습니다 방법어떻게하면 vcl 스타일이 활성화되었을 때 응용 프로그램의 메시지 상자에 스킨을 적용 할 수 있습니까?

샘플 코드

Application.MessageBox('Hello World', 'Hello', MB_OK + MB_ICONINFORMATION); 

샘플 이미지

enter image description here

?

+1

사람은 윈앰프를 기억 하는가? –

답변

14

Application.MessageBox 함수는 내부적으로 MessageBox WinAPi 함수를 호출합니다.이 창은 델파이가 만든 폼이 아니므로 Vcl 스타일로 스킨 될 수 없습니다. 대신 MessageDlg 함수와 같은 Vcl.Dialogs 유닛에 선언 된 대화 상자 클래스와 함수 중 하나를 사용해야합니다. 다른

MessageDlg('Hello World', mtInformation, [mbOK], 0); 

enter image description here

+0

이 대화 상자 클래스는 아직 CTRL + C를 지원합니까? –

+0

@DavidHeffernan, 예. – RRUZ

+0

방금 ​​시도했습니다. 키를 누를 때 컴퓨터에서 경고음을 울리므로 CTRL + C를 (를) 아주 잘 지원하지 않습니다. 나는 그것을 디버그하고 QC 할 것 같다. –