AddLine2 メソッド

構文

BOOL AddLine2(VARIANT & vVertex, BYTE byLineStyle, BYTE byLineWidth, OLE_COLOR ocLineColor,
     BYTE byBeginPointStyle, BYTE byEndPointStyle);

線を追加します(線端種指定可)。

パラメータ

vVertex
(x, y) 頂点列。型は VT_R8 | VT_ARRAY にしてください。
byLineStyle
線種。次のいずれかの値を指定できます。
  • 0実線。
  • 1破線。
  • 2点線。
  • 3一点破線。
  • 4二点破線。
  • 5なし。
byLineWidth
線幅。
crLineColor
線色。
byBeginPointStyle
始点側線端種。次のいずれかの値を指定できます。
  • 0なし。
  • 1矢印(線状)。
  • 2矢印(黒三角)。
  • 3矢印(白抜き三角)。
  • 4黒丸。
  • 5白丸。
  • 6斜線。
byEndPointStyle
終点側線端種。指定法はbyBeginPointStyleと同様です。

戻り値

線を追加できた場合 0 以外を返します。できなかった場合は 0 を返します。

使用例

// 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);

// 線を追加
SAFEARRAYBOUND bound[1];
bound[0].cElements = 4;
bound[0].lLbound = 0;
SAFEARRAY * pArray = SafeArrayCreate(VT_R8, 1, bound);
double * pVar;
SafeArrayAccessData(pArray, (void**)&pVar);
double dVertex[4] = {0.0, 0.0, 1000.0, 3000.0}; 
for(int i=0; i < 4; ++i){
	pVar[i] = dVertex[i];
}
SafeArrayUnaccessData(pArray);
VARIANT v;
v.vt = VT_R8 | VT_ARRAY;
v.parray = pArray;
OLE_COLOR crLineColor = (OLE_COLOR)RGB(0,0,0);
long lRet = m_MadoriDoc->AddLine2(v, 0, 0, crLineColor, 4, 2);
if(lRet) AfxMessageBox(TEXT("OK"), MB_ICONINFORMATION);
else AfxMessageBox(TEXT("失敗"));
SafeArrayDestroy(pArray);
// JavaScript sample
function rgb(r, g, b){
	var col = r + (g << 8) + (b << 16);
	return col;
}


var doc = new CMadoriDoc();
var v = [0.0, 0.0, 1000.0, 3000.0]; 
var crLineColor = rgb(0,0,0);
var result = doc.AddLine2(v, 0, 0, crLineColor, 4, 2);