MDMouseInput1 メソッド

構文

LONG MDMouseInput1(DOUBLE * x, DOUBLE * y, LONG lFlags);

(JavaScript用) string MDMouseInput1JS(lFlags);

間取りの作業画面内で1回左クリックすると、そこの論理座標を取得します。
※クリックが終わるかキャンセルされるまで処理は戻りません。

パラメータ

x
(クリック位置の)論理X座標
y
(クリック位置の)論理Y座標
lFlags
フラグ。0で吸着なし、1で吸着あり。
※将来拡張する可能性があるので2以上の値を設定しないでください。

戻り値

次の値のいずれかが返ります。

  • 0マウス入力が(右クリック、ESCボタン押し下げ、他コマンド実行などで)キャンセルされました
  • 1マウス入力が正常に行われました

使用例

// C++ sample
// 間取りオブジェクトへ接続
CMadoriDoc * m_MadoriDoc = new CMadoriDoc();
CLSIDFromProgID (L"MyHomeDesignerMadori.MadoriDoc", &clsid);
GetActiveObject (clsid, NULL, &pUnk);
pUnk->QueryInterface (IID_IDispatch, (void**)(&pDisp));
m_MadoriDoc->AttachDispatch (pDisp);

double xVal, yVal;
AfxMessageBox(TEXT("間取りの作業画面内で1回左クリックすると、そこの論理座標を取得します。"));
LONG lRet = m_MadoriDoc->MDMouseInput1(&xVal, &yVal, 0);
CString strMes;
strMes.Format(TEXT("返値=%d X=%.2lf Y=%.2lf"), lRet, xVal, yVal);
AfxMessageBox(strMes);
// JavaScript sample
var doc = new CMadoriDoc();
var data = eval( doc.MDMouseInput1JS(0) );
var msg = "返値=" + data.Result + " X=" + data.x + " Y=" + data.y;
alert(msg);