VCL 스타일을 사용하기 위해 Delphi TTaskDialog를 만들 수 있습니까?VCL 스타일을 사용하도록 Delphi TTaskDialog를 만들 수 있습니까?
답변
AFAIK, 그리고 그의 의견에서 TLama가 말했듯이이 TTaskDialog
은 Windows API를 직접 매핑하기 때문에 VCL 스타일을 직접 수행 할 수 없습니다.
그러나 described in this article about using VCL Styles within a TWebBrowser과 유사한 해킹을 사용하면이 작업을 수행 할 수 있습니다.
이것은 약간의 작업이거나 가능하지 않을 수도 있습니다. Windows에서 작성한 모든 구성 요소를 해킹해야하는데 쉽지 않습니다. Task Dialog API는 TWebBrowser
처럼 오버라이드 할 준비가 된 많은 콜백이있는 완전하고 상세한 COM 인터페이스를 제공하지 않습니다.
Open-Source Task Dialog emulation code을 처음 사용할 경우 순수 VCL 구성 요소로 에뮬레이션 레이어를 사용할 수 있습니다. 이 경우 스타일을 사용하여 작업하기가 쉽습니다. 유닛을 향상 시키려면 피드백과 패치를 보내주십시오! 다른 사용자는 좋은 기능을 위해 이익을 얻고 싶습니다. 이것은 오픈 소스에서 굉장한 것입니다. 뭔가를 시작하고 게시 한 다음 contributions are integrated을 입력하면 결과가 더 좋아집니다. :)
+ 1ed, 나는 크레딧을 훔치고 싶지 않습니다 :-) 어쨌든 나는 포지셔닝에 이상한 문제를 발견했습니다. 'Form.Canvas.TextWidth'를 설정하면 (자), 위치가 높은 음의 값으로 변경됩니다. 또, 폼의 사이즈가 변경 될 때마다, 위치의 값도 감소 해, 폼이 결코 보이지 않게됩니다. 이것이 IMHO 양식에 영향을주지 않아야하므로 왜 이런 일이 발생하는지 알 수 없습니다. – TLama
@TLama "Setting the Form.Canvas.TextWidth"는 무엇을 의미합니까? –
'SynTaskDialog.pas', 653 행입니다. 삭제 된 게시물에서와 같이'Execute'를 호출했고 그 행에서'Form.Left'와'Form.Top'이 음수 값으로 변경되었습니다 (어쨌든 매우 이상합니다). Btw. 나는'poScreenCenter' 포지션을 가진 호출자 폼을 설정했습니다 (어떻게 든 달라집니다, 이유는 없습니다). – TLama
VCL Styles Utils 라이브러리에 TTaskDialog을 추가했습니다.
당신이 당신의 프로젝트에이 장치를 추가해야이 기능을 활성화합니다.
- Vcl.Styles.Utils.Forms
- Vcl.Styles.Utils.SysStyleHook
- Vcl.Styles.Utils.SysControls
- Vcl.Styles.Hooks
더 많은 정보가 있습니다 이 번호는 blog post에 있습니다.
- 1. 런타임시 VCL 스타일을 수정할 수 있습니까?
- 2. 어떻게 도구 모음을 만들 수 있습니까? (Delphi)
- 3. Delphi VCL 끌어서 놓기의 버그?
- 4. WinForms를 VCL Delphi 응용 프로그램에 임베드 할 수 있습니까?
- 5. 특정 인코딩을 사용하도록 xmlreader를 만들 수 있습니까?
- 6. 비주얼 데이터베이스 디자인 Delphi VCL 구성 요소?
- 7. 이전에 jQuery 스타일을 어떻게 만들 수 있습니까?
- 8. 인라인 의사 스타일을 만들 수 있습니까?
- 9. dll에 VCL 스타일이 포함되어 있습니까?
- 10. Windows 7에서 Delphi VCL "TaskDialog"문제가 발생했습니다.
- 11. 흰색 표시기 스타일을 사용하도록 UIWebView에 알릴 수 있습니까?
- 12. Delphi XE2 VCL 런타임 BPL이란 무엇입니까?
- 13. NCain에서 vcl 스타일을 제거하면 TMainMenu가 표시되지 않습니다.
- 14. 어떤 WinForms 컨트롤이 VCL (Delphi) TControlBar에 해당합니까?
- 15. Delphi VCL for Win32 - 다중 이벤트 핸들러
- 16. Crystal Reports XI VCL - crpe32.dll은 어디에 있습니까?
- 17. 내 애플리케이션에 VCL 스타일을 수동으로 포함시키는 방법은 무엇입니까?
- 18. QScrollBar의 핸들은 스타일을 지정하고 확장 가능하게 만들 수 있습니까?
- 19. tabBarcontroller보다 화면을로드하는 드롭 박스 스타일을 어떻게 만들 수 있습니까?
- 20. vb.net을 사용하여 어떻게 "마법사"스타일을 만들 수 있습니까?
- 21. Delphi 콘솔 응용 프로그램에서 바로 가기 키를 만들 수 있습니까?
- 22. TForm의 자손의 기본 동작 표시/SetVisible (Delphi VCL)
- 23. Delphi 응용 프로그램에서 Hazelcast를 사용하도록 허용하는 방법이 있습니까?
- 24. vcl 스타일을 사용할 때 어떻게 네이티브 진행률 막대를 사용할 수 있습니까?
- 25. Delphi VCL 컴포넌트를 개발할 때 어떤 기본 클래스를 사용할 수 있습니까?
- 26. TWebBrowser에 VCL 스타일 적용
- 27. Delphi 2007 VCL 프로젝트 이름이 컴파일 된 Exe 이름과 다른가요?
- 28. 스레드가 VCL 이벤트로 설정된 변수를 안전하게 읽을 수 있습니까?
- 29. 기본적으로 pg를 사용하도록 레일스를 가져올 수 있습니까?
- 30. vcl 스타일을 지원하지 않는 탭 시트의 닫기 버튼
['TTaskDialog'] (http://docwiki.embarcadero.com/Libraries/en/Vcl.Dialogs.TTaskDialog)는 전적으로 ''Windows Vista up dialog' (http://msdn.microsoft.com)입니다. /en-us/library/windows/desktop/bb787471%28v=vs.85%29.aspx), 그리고 이것이 어렵다면 (가능한 경우). 내 제안은 자신의 것입니다 (또한, 당신은 혜택을 얻을 것이다, 자신의 작업 대화 상자는 아래 Windows XP에서도 작동합니다). – TLama
['Arnaud'] (http://stackoverflow.com/users/458259/arnaud-bouchez)가 ['작업 대화 시뮬레이션]을 만들었습니다. (http://blog.synopse.info/post/2011/03/05/Open-Source-SynTaskDialog-unit-for-XP, Vista, Seven)을 설치하십시오. – TLama
Tlama/Arnaud - StackOverflow 커뮤니티의 지식과 유용성에 다시 한 번 놀라게되었습니다! – Mmarquee