GetCADLayerByID メソッド

構文

BSTR GetCADLayerByID(UINT nID, UINT* pnParentID, BSTR* pstrName, BOOL* pbVisible, BOOL* pbEditable, BOOL* pbCurrent);

CADレイヤの情報を取得します。

(JavaScript用) string GetCADLayerByIDJS(var nID);

パラメータ

nID
情報を取得したいレイヤID。
pnParentID
親レイヤID。
pstrName
レイヤ名称。
pbVisible
可視フラグ。TRUE(1)の場合、可視状態。
pbEditable
編集可能フラグ。TRUE(1)の場合、編集可能。
pbCurrentp
選択フラグ。TRUE(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);

// 下絵読み込み
if(!m_MadoriDoc->CADDataOpen(L"C:\\Users\\Public\\Documents\\aaa.dxf", 1.0)){
	// エラー
	return;
}

// レイヤ数を確認
USHORT uNum = m_MadoriDoc->GetCADLayerNum();

for(USHORT u = 0; u < uNum; ++u){                   
	UINT nLayerId = m_MadoriDoc->GetCADLayerID(u);  
	UINT nParentID;
	BSTR szName;
	BOOL bVisible;
	BOOL bEditable;
	BOOL bCurrent;                        
	m_MadoriDoc->GetCADLayerByID(
		nLayerId,
		(unsigned long *)&nParentID,
		&szName,
		(long *)&bVisible,
		(long *)&bEditable,
		(long *)&bCurrent);
	CString strName = NULL;
	AfxBSTR2CString(&strName, szName);
	CString strMsg;
	strMsg.Format(_T("Layer\r\nLayerID[%u]\r\nParentID[%u]\r\nName[%s]\r\n
		Visible[%d]\r\nEditable[%d]\r\nCurrent[%d]"),
		nLayerId, nParentID, strName, bVisible, bEditable, bCurrent);
	AfxMessageBox(strMsg);                        
	if (szName) {
		::SysFreeString(szName);
	}
}
// JavaScript sample
var doc = new CMadoriDoc();
var num = doc.GetCADLayerNum();
alert(num);
var u;
for(u=0; u < num; ++u){
    var layer = doc.GetCADLayerID(u);
    var data = eval(doc.GetCADLayerByIDJS(layer));
    alert("Result[" + data.Result + "]");
    var msg = " ParentID[" + data.ParentID + "]\r\n";
    msg += " Name[" + data.Name + "]\r\n";
    msg += " Visible[" + data.Visible + "]\r\n";
    msg += " Editable[" + data.Editable + "]\r\n";
    msg += " Current[" + data.Current + "]\r\n";
    alert(msg);
}
ページのTOPへ戻る