2014-10-20 78 views
0

我正在開發一個AutoCad插件。AutoCad與.net:如何通過點擊選擇項目時捕獲Alt鍵事件

在命令循環中,用戶將通過單擊或按窗口來選擇一些文本對象。

例如:text1text2text3text4text5text6text7

  1. 用戶類型的命令:多選上text1
  2. 用戶按
  3. 用戶點擊ALT鍵的鍵盤
  4. 用戶點擊text2
  5. text3
  6. 用戶
  7. 用戶點擊選擇text4text5通過窗口
  8. 用戶釋放ALT鍵
  9. 用戶選擇text7
  10. 按ENTER鍵結束多選命令

通過這個命令我想生成像這樣的列表:

[ 
    {string : "text1" , groupId : 1}, 
    {string : "text2" , groupId : 2}, 
    {string : "text3" , groupId : 2}, 
    {string : "text4" , groupId : 2}, 
    {string : "text5" , groupId : 2}, 
    {string : "text6" , groupId : 3}, 
    {string : "text7" , groupId : 3}, 
] 

有人可以告訴我一些關於如何做到這一點的提示嗎?

回答

0

那麼,如果您可以選擇text7而不按下按鈕,ALT鍵會做什麼?...哦,等等,我看,它決定了groupId。我認爲UX很混亂,你最好做一些更清楚的事情,在它們之間用ENTER鍵選擇每個組,告訴用戶他們正在選擇下一個組以及如何繼續前進,在沒有選擇任何東西的情況下選擇ENTER來完成輸入序列。想一想用戶的直覺。

您可以使用selection filter僅獲取帶有循環Application.DocumentManager.MdiActiveDocument.Editor.GetSelection(SelectionFilter)的文本,並從您得到的SelectionSet開始構建您的數組。

閱讀AutoCAD標籤wiki,獲取更多信息。