2009-05-14 11 views
1

私はプログラムでMakeSketchBlockFromFile関数を使ってブロックを図面に挿入しています。この関数はブロックの位置にMathPointを必要としますが、代わりにユーザーがブロックを図面上に配置するようにしたいと思います。基本的には、Tools-Block-Insertメニュー項目の機能を模倣したいと思っています。MathPointを指定せずにブロックを挿入しています。代わりにマウスにアタッチする

私はブロックを挿入することができますが、特定の場所を指定する代わりに、ブロックをマウスに接続することができます私が逃した別のAPI関数はありますか?

答えて

0

DataObjectクラスをサブクラス化し、DoDragDropを使用してユーザーがブロックを図面にドラッグできるようにしました。チャンピオンのように動作します。

0

私は、これはあなたがそれを行うことができる唯一の方法である疑いがある私はしばらくの間、プログラミングの任意のSolidWorksを行っていないが、あなたのマウスの位置を与えるmathpointを返すように見える唯一の方法は、

SwManipulatorHandler2::OnUpdateDrag 

ですこれらのマニピュレータの1つを作成し、ユーザにそれを配置させてその場所にブロックを作成させることによって、

脇に:なぜあなたは既に存在する機能を複製しているのか、少し混乱しています。

+0

ブロック内のメモにリンクされている、選択した部分のカスタムプロパティを図面内で設定できるようにしました。ダイアログが閉じると、ユーザーがブロックを開くのではなく、ブロックを既に選択しておきたいと思います。 –

+0

もう1つのオプションは、図面の中央に挿入するだけで、使用すると移動できます。 – jimconstable

関連する問題