Delphi TTaskDialog可以使用VCLStyles嗎?Delphi TTaskDialog可以使用VCLStyles嗎?
回答
AFAIK,並且如TLama在他的評論中所述,這個TTaskDialog
只是直接映射Windows API,您將無法直接執行VCL Style。
但是你也許可以通過使用類似於described in this article about using VCL Styles within a TWebBrowser的黑客來做到這一點。
這將是一些工作,或者甚至不可行,我懷疑。你必須破解由Windows創建的所有組件,這並不容易。 Task Dialog API沒有提供完整和詳細的COM接口,有很多回調,可以被重寫,就像TWebBrowser
一樣。
如果您使用我們的Open-Source Task Dialog emulation code作爲開始,您可以強制使用我們的仿真層和純VCL組件。在這種情況下,使用樣式很容易。不要忘了給我們發送反饋和補丁,以便讓單位得到改進!其他用戶希望爲這樣一個不錯的功能帶來好處,我想。這對開放源代碼來說非常重要:你開始創建,發佈,然後contributions are integrated,結果變得更好。 :)
+ 1ed,我不想竊取學分:-)無論如何,我發現一個奇怪的問題與定位。設置「Form.Canvas.TextWidth」將位置更改爲較高的負值,同樣,隨後對錶單大小的每次更改也會減少位置值,因此表單永遠不可見。我不明白爲什麼會發生這種情況,因爲這不應該影響形式位置恕我直言。 – TLama
@TLama你是什麼意思「設置Form.Canvas.TextWidth」? –
'SynTaskDialog.pas',第653行。我已經在我刪除的帖子中調用了Execute,並在該行上將Form.Left和Form.Top改爲了負值(非常奇怪)。順便說一句。我用「poScreenCenter」位置設置了調用者表單(這取決於某種原因,不明白爲什麼)。 – TLama
我剛剛添加TTaskDialog支持VCL Styles Utils庫。
要激活這個功能,你需要將這些設備添加到您的項目。
- Vcl.Styles.Utils.Forms
- Vcl.Styles.Utils.SysStyleHook
- Vcl.Styles.Utils.SysControls
- Vcl.Styles.Hooks
更多信息,可以被發現在這blog post。
- 1. 我可以使用Delphi中
- 2. 在iOS應用程序中可以使用Delphi ClientDataSets嗎?
- 3. 我可以在Console Delphi應用程序中使用DataModule嗎?
- 4. 可以在delphi中創建Web Bot嗎?
- 5. Delphi XE4可以支持iOS 4.x嗎?
- 6. 我可以簡化在delphi中使用RTTI嗎?
- 7. 我可以在「Delphi 2007 for Win32」中使用.NET DLL嗎?
- 8. 我可以使用Delphi 2010建立WCF服務器嗎?
- 9. 我可以在Delphi和HTML中使用多列Radio組嗎?
- 10. 我可以在Delphi XE4上安裝使用Jedi嗎?
- 11. 我可以在Delphi XML綁定向導中使用xsd:complexContent嗎?
- 12. 我可以使用與Subversion 1.7的Delphi XE2 Subversion集成嗎
- 13. 如果需要,Delphi可以只使用.dll嗎?
- 14. Delphi 2007已安裝後,可以安裝Delphi 2006嗎?
- 15. 是否可以使用Delphi泛型TInterfaceList?
- 16. Mac上的Delphi - 可能嗎?
- 17. Python可以在DLL中調用Delphi函數嗎?
- 18. 我們可以從Delphi調用Native Windows API嗎?
- 19. Delphi Tidtrivialftp可以用於一般的文件傳輸嗎?
- 20. 可以使用LISTAGG嗎?
- 21. 使用__doPostBack()可以嗎?
- 22. mclapply可以使用CompressedRleList嗎?
- 23. SVD可以使用Skydrive嗎?
- 24. mod_callcenter可以使用mod_sms嗎?
- 25. PhysFS可以使用ifstreams嗎?
- 26. SAP可以使用Python嗎?
- 27. Dropbox可以使用它嗎?
- 28. mootools.js可以使用microsoftajax.js嗎?
- 29. Pixate可以使用UIAlertView嗎?
- 30. 可以使用JAXX嗎?
['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)適用於Windows XP及更低版本。 – TLama
Tlama/Arnaud - 我再次驚訝於StackOverflow社區的知識和樂於助人! – Mmarquee