構文
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);