GetImage メソッド

構文

BOOL GetImage(DOUBLE * pdXSize, DOUBLE * pdYSize, DOUBLE * pdAngle,     INT * pnTransparent, DOUBLE * pdFrameWidth,     OLE_COLOR * pcrFrameColor1, OLE_COLOR * pcrFrameColor2,     DOUBLE * pdXPos, DOUBLE * pdYPos);

(JavaScript用) string GetImageJS();

カレントのオブジェクトが、画像の場合、その情報を取得します。

パラメータ

pdWidth
画像の幅。
pdHeight
画像の高さ。
pdAngle
画像の角度。
pnTransparent
透明にするフラグ。
pdFrameWidth
画像枠の太さ。
pcrFrameColor1
画面枠の色1。
pcrFrameColor2
画面枠の色2。
pdXPos
配置位置X座標。
pdYPos
配置位置Y座標。

戻り値

画像の情報を取得できた場合 0 以外を返します。できなかった場合は 0 を返します。

使用例

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

// 列挙する
long lRet = m_MadoriDoc->GetTopObject();
if (lRet == 0) AfxMessageBox(_T("何もない"));
	
while (lRet) {
	ULONG uType = m_MadoriDoc->GetCurrentObjectType();
	short nLayer = m_MadoriDoc->GetCurrentObjectLayer();
	CString strMsg;
	strMsg.Format(_T("[%X]type[%d]layer[%d]"), lRet, uType, nLayer);
	AfxMessageBox(strMsg);
	switch (uType) {
	case 70:           
		DOUBLE dXPos = 0.0;
		DOUBLE dYPos = 0.0;
		DOUBLE dAngle = 0.0;
		DOUBLE dXSize = 0.0;
		DOUBLE dYSize = 0.0;
		INT nTransparent = 0;
		DOUBLE dFrameWidth = 0.0;
		OLE_COLOR crFrameColor1 = 0;
		OLE_COLOR crFrameColor2 = 0;
		BOOL bRet = m_MadoriDoc->GetImage(
			&dXPos,
			&dYPos,
			&dAngle,
			&dXSize,
			&dYSize,
			(long *)&nTransparent,
			&dFrameWidth,
			&crFrameColor1,
			&crFrameColor2);
		strMsg.Format(_T("Image XPos[%lf]YPos[%lf]Angle[%lf]")
			_T("XSize[%lf]YSize[%lf]Transparent[%d]")
			_T("FrameWidth[%lf]FrameColor1[%lu]FrameColor2[%lu]"),
			dXPos, dYPos, dAngle, dXSize, dYSize,
			nTransparent, dFrameWidth, crFrameColor1, crFrameColor2);
		AfxMessageBox(strMsg);
		break;
    }
}

// JavaScript sample
var doc = new CMadoriDoc();
var lRet = doc.GetTopObject();

while (lRet) {
	var uType = doc.GetCurrentObjectType();
	alert(uType);
	switch (uType) {    
            case 70: // 画像
                doc.Select();
                var data = eval(doc.GetImageJS());
                alert("Result[" + data.Result + "]");
                var msg = " XSize[" + data.XSize + "]\r\n";
                msg += " YSize[" + data.YSize + "]\r\n";
                msg += " Angle[" + data.Angle + "]\r\n";
                msg += " Transparent[" + data.Transparent + "]\r\n";
                msg += " FrameWidth[" + data.FrameWidth + "]\r\n";
                msg += " FrameColor1[" + data.FrameColor1 + "]\r\n";
                msg += " FrameColor2[" + data.FrameColor2 + "]\r\n";
                msg += " XPos[" + data.XPos + "]\r\n";
                msg += " YPos[" + data.YPos + "]\r\n";
                alert(msg);
                doc.Unselect();
                break;
	}
	lRet = doc.GetNextObject();
}
ページのTOPへ戻る