Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
nvson

Hỏi về Control User Input trong AutoCAD.NET?

Các bài được khuyến nghị

Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.EditorInput
Imports Autodesk.AutoCAD.Runtime
 
<CommandMethod("GetKeywordFromUser")> _
Public Sub GetIntegerOrKeywordFromUser()
  Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument

Dim pKeyOpts As PromptKeywordOptions = New PromptKeywordOptions("")
                pKeyOpts.Message = vbLf & "Enter an option "
                pKeyOpts.Keywords.Add("Object")
                pKeyOpts.Keywords.Add("Point")
                pKeyOpts.AllowNone = False
                pKeyOpts.Keywords.Default = "Object"

                Dim pKeyRes As PromptResult = acDoc.Editor.GetKeywords(pKeyOpts)
                '............
End Sub

Ý của tôi là:

Khi chạy đoạn code trên đến đoạn:

Enter an option [Object/Point] <Object>:

thì mặc định tôi có thể chọn được đối tượng luôn (không phải đánh Object hoặc Enter).

Mong cácbác chỉ giúp.

Thanks.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Ý bạn là kết hợp song song, vừa chọn đc đối tượng vừa nhận keyword cùng lúc!? Bạn có thể tham khảo cách viết ở đây (bằng C#):

http://through-the-interface.typepad.com/through_the_interface/2010/05/adding-keyword-handling-to-autocad-nets-getselection.html

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Ok, code C# bạn nghiên cứu nhé:

using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime; 

namespace MyApplication
{
  public class Commands
  {
    [CommandMethod("SELKW")]
    public void GetSelectionWithKeywords()
    {
      Document doc = Application.DocumentManager.MdiActiveDocument;
      Editor ed = doc.Editor;

      // Create our options object
      PromptSelectionOptions pso = new PromptSelectionOptions(); 

      // Add our keywords
      pso.Keywords.Add("FIrst");
      pso.Keywords.Add("Second");

      // Set our prompts to include our keywords
      string kws = pso.Keywords.GetDisplayString(true);

      pso.MessageForAdding = "\nAdd objects to selection or " + kws;
      pso.MessageForRemoval = "\nRemove objects from selection or " + kws; 

      // Implement a callback for when keywords are entered
      pso.KeywordInput +=
        delegate(object sender, SelectionTextInputEventArgs e)
        {
          ed.WriteMessage("\nKeyword entered: {0}", e.Input);
        };

      // Finally run the selection and show any results
      PromptSelectionResult psr = ed.GetSelection(pso);

      if (psr.Status == PromptStatus.OK)
      {
        ed.WriteMessage( "\n{0} object{1} selected.",
          psr.Value.Count,
          psr.Value.Count == 1 ? "" : "s"
        );
      }
    }
  }
}

 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay
Đăng nhập để thực hiện theo  

×