構文
BOOL AddRoom(VARIANT & vVertex,
WORD uRoomType, LPCTSTR szRoomName, BOOL bDispRoomName,
BOOL bDispRoomSize,
double dFloorHeight, double dFloorThick, double dCeilingHeight, double dHabakiHeight, double dKoshiHeight,
double dMawaribuchiHeight, double dKoshiMikiriHeight,
double dBalconyHeight,
BOOL bHabaki, BOOL bMawaribuchi,
BOOL bKoshikabe, BOOL bKoshiMikiri, BOOL bRoofFlag,
BYTE byHatchStyle, OLE_COLOR ocForeColor, OLE_COLOR ocBackColor,
BOOL bBackTrans, WORD uTatamiType,
LPCTSTR szFontName, double dFontSize, BYTE byFontAttr,
double dFontAngle, OLE_COLOR ocFontColor);
頂点列を指定して、図面に部屋を追加します。
パラメータ
- 1玄関
- 2廊下
- 3吹抜
- 4リビング
- 5ダイニング
- 6キッチン
- 7LD
- 8浴室
- 9洗面室
- 10ランドリースペース
- 11トイレ
- 12洋室
- 13寝室
- 14子供室
- 15和室
- 16床の間
- 17押入
- 18クロゼット
- 19納戸
- 20ポーチ
- 21バルコニー
- 22インナーガレージ
- 23ホール
- 24家事室
- 25書斎
- 26仏間
- 27広縁
- 28物入
- 29土間
- 30出窓
- 0なし。
- 1塗りつぶし。
- 2水平ハッチ。
- 3垂直ハッチ。
- 4右下がりハッチ。
- 5右上がりハッチ。
- 6水平と垂直の格子ハッチ。
- 7斜め格子ハッチ。
- 8ドット1。
- 9ドット2。
- 10ドット3。
- 11ウェーブ1。
- 12ウェーブ2。
- 13ウェーブ3。
- 14斜線1。
- 15斜線2。
- 16破線1。
- 17破線2。
- 18板目。
- 19グラデーション横1。
- 20グラデーション横2。
- 21グラデーション縦1。
- 22グラデーション縦2。
- 23グラデーション右上。
- 24グラデーション左上。
- 25グラデーション中心。
- 26グラデーション右上。
- 27グラデーション右下。
- 30半透明。
- 40水平ハッチ。2の水平ハッチより目が細かい。
- 41垂直ハッチ。3の垂直ハッチより目が細かい。
- 42水平と垂直の格子ハッチ。6のハッチより目が細かい。
- 0畳模様なし。
- 1半畳。
- 21畳横。
- 31畳縦。
- 42畳。
- 53畳横。
- 63畳横。
- 73畳縦。
- 83畳縦。
- 94畳半。
- 104畳半。
- 114畳半。
- 124畳半。
- 134畳半。
- 144畳半。
- 154畳半。
- 164畳半。
- 174畳半。
- 184畳半。
- 196畳横。
- 206畳横。
- 216畳縦。
- 226畳縦。
- 237畳半横。
- 247畳半横。
- 257畳半横。
- 267畳半横。
- 277畳半縦。
- 287畳半縦。
- 297畳半縦。
- 307畳半縦。
- 318畳。
- 328畳。
- 3310畳横。
- 3410畳横。
- 3510畳横。
- 3610畳横。
- 3710畳縦。
- 3810畳縦。
- 3910畳縦。
- 4010畳縦。
- 4112畳横。
- 4212畳横。
- 4312畳縦。
- 4412畳縦。
- 1斜体。
- 2太字。
- 4下線。
戻り値
部屋を追加できた場合 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); // 部屋を追加 SAFEARRAYBOUND bound[1]; bound[0].cElements = 8; bound[0].lLbound = 0; SAFEARRAY * pArray = SafeArrayCreate(VT_R8, 1, bound); double * pVar; SafeArrayAccessData(pArray, (void**)&pVar); double dVertex[8] = {0.0, 0.0, 2730.0, 0.0, 2730.0, 2730.0, 0.0, 2730.0}; for(int i=0; i < 8; ++i){ pVar[i] = dVertex[i]; } VARIANT v; v.vt = VT_R8 | VT_ARRAY; v.parray = pArray; unsigned short uRoomType = 15; // 和室 BOOL bDispRoomName = TRUE; BOOL bDispRoomSize = TRUE; double dFloorHeight = 0.0; double dFloorThick = 10.0; double dCeilingHeight = 3000; double dHabakiHeight = 50; double dKoshiHeight = 700; double dMawaribuchiHeight = 30; double dKoshiMikiriHeight = 300; double dBalconyHeight = 700; BOOL bHabaki = TRUE; BOOL bMawaribuchi = TRUE; BOOL bKoshikabe = TRUE; BOOL bKoshiMikiri = TRUE; BOOL bRoofFlag = TRUE; BYTE byHatchStyle = 1; // 塗りつぶし OLE_COLOR crForeColor = (OLE_COLOR)RGB(208,213,191); OLE_COLOR crBackColor = (OLE_COLOR)RGB(0,0,255); BOOL bBackTrans = FALSE; WORD uTatamiType = 9; LPCTSTR szFontName = "メイリオ"; double dFontSize = 10; BYTE byFontAttr = 0; double dFontAngle = 0; OLE_COLOR crFontColor = (OLE_COLOR)RGB(0,0,0); BOOL bRet = m_MadoriDoc->AddRoom(v, uRoomType, "和", bDispRoomName, bDispRoomSize, dFloorHeight, dFloorThick, dCeilingHeight, dHabakiHeight, dKoshiHeight, dMawaribuchiHeight, dKoshiMikiriHeight, dBalconyHeight, bHabaki, bMawaribuchi, bKoshikabe, bKoshiMikiri, bRoofFlag, byHatchStyle, crForeColor, crBackColor, bBackTrans, uTatamiType, szFontName, dFontSize, byFontAttr, dFontAngle, crFontColor); if(!bRet){ // エラー return; }