6

我打算開發visual studio加載項來驗證與visual C++項目有關的UI問題。 繼將是項目的要求:UI相關問題驗證

  1. 在我的項目的一些快捷鍵被保留用於像,「O」一些菜單被保留用於打開文件和「S」被保留用於保存項目。同樣,剩下的項目也保留了15個關鍵字。我不能在visual C++對話框中使用這15個加速鍵。

要求:我要創建微軟外接說「驗證加速器 密鑰」。這個加載項將爲我提供一個在visual studio 環境中的菜單。點擊菜單我想從對話框中取出每個控件 ,並檢查提供的加速鍵是否屬於 保留的15個鍵。如果有任何控制加速器密鑰屬於保留密鑰,那麼我將要求開發者提供錯誤以更改 加速器密鑰。

該功能與Visual Studio中的「Check Mnemonics」類似,但用於不同的目的。

在對話框
  • 對齊: 在Visual C++項目,我們不斷面臨的問題是,在對話控制應該被對準以在對話對方即頂部控制應與同一行垂直方向上的最後一個控件以及對話框上的最右側控件應該與最左側的控件水平相同。
  • 我想檢查每個控件的對齊。

    請給我任何指導我可以從哪裏開始或引用代碼,文件等。

    謝謝你的閱讀。

    回答

    1

    看看這個頁面的一個很好的概述,你可以在VS擴展(這是很多):https://www.visualstudio.com/en-us/integrate/explore/explore-vside-vsi.aspx

    特別是:Rosyln編譯器擴展可以讓你讀(甚至列表的相關)的代碼一種非常有意思的方式(即,您可以通過編程的方式'搜索'AcceleratorKey屬性的代碼樹)。

    http://roslyn.codeplex.com/wikipage?title=Samples%20and%20Walkthroughs&referringTitle=Home

    這已經有一段時間,但我之前的「CompilerServices」命名空間實驗。假設VS外接程序SDK爲您提供了某種形式的手柄,目前該項目的代碼樹,你可以走的所有功能,尋找賦值語句,在類型你有興趣過濾。

    https://msdn.microsoft.com/en-us/library/system.runtime.compilerservices(v=vs.110).aspx

    編輯器擴展部分也適用: https://msdn.microsoft.com/library/dd885492.aspx