DX 베를린의 VCL 스타일로 [X] 닫기 버튼을 비활성화하고 싶습니다.Delphi - VCL 스타일의 [x] 닫기 버튼 해제
Wy이 코드는 VCL 스타일과 호환되지 않습니까? 당신이 caNone
에 FormClose
이벤트에서 작업을 설정하면
EnableMenuItem(GetSystemMenu(Form3.Handle, LongBool(False)),SC_CLOSE, MF_BYCOMMAND or MF_GRAYED);
DX 베를린의 VCL 스타일로 [X] 닫기 버튼을 비활성화하고 싶습니다.Delphi - VCL 스타일의 [x] 닫기 버튼 해제
Wy이 코드는 VCL 스타일과 호환되지 않습니까? 당신이 caNone
에 FormClose
이벤트에서 작업을 설정하면
EnableMenuItem(GetSystemMenu(Form3.Handle, LongBool(False)),SC_CLOSE, MF_BYCOMMAND or MF_GRAYED);
, 당신은 아무것도 일어날되지 않습니다 (적십자 클릭) 폼을 닫습니다하려고합니다. 이 방법으로 버튼을 비활성화 할 수 있습니다.
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//You cannot type only caNone, otherwise you'll get a compiler error
Action := TCloseAction.caNone;
end;
System.UITypes
에서 caNone을 찾을 수 있습니다. 자세한 내용은 documentation을 읽어보십시오.
좋아,하지만 어떻게 내 양식을 닫을 수 있습니까? 프로그램에서 나가기 ?? Action : = TCloseAction.caNone을 사용하면 완벽하지만 앱을 종료하지는 않습니다. –
@JuniorOliveira 형식에서 private 부울을 선언하십시오. AllowToClose' 이벤트를'AllowToClose then Action : = TCloseAction.caNone; '으로 변경하면 폼을 프로그래밍 방식으로 닫을 때'AllowToClose : = True;'를 설정하고'Form .Close'. –
확인. 고마워. –
VCL 스타일을 사용하는 경우 기본적으로 스타일은 사용중인 글꼴, 양식의 클라이언트 영역 및 양식 테두리 (최소화, 최대화 및 닫기 버튼 포함)에 영향을줍니다.
그래서 내가 보는 것과 두 가지 옵션이 있습니다 : 당신은 스타일을 의미 [seFont, seClient]
에 양식의 StyleElements
속성을 변경할 수
확인. 고마워. –
스타일 엔진에서 버그가 발생 했나요? 위와 같이'SC_CLOSE'를 비활성화하면 ** 스타일이없는 응용 프로그램에서도 ** Alt - F4를 비활성화하지 않습니다. –
@Tom Delphi 10 Seattle에서는 예상대로 작동하는 것 같습니다. 10.1 베를린을 아직 시도하지 않았습니다. –
@ Jerry 예상대로 작동합니까? OP의 문제점이나 Alt-F4에 관한 의견을 참고 하시겠습니까? 시애틀과 베를린에서 모두 테스트했습니다 –