ありがとうございます。
現時点ではDrawModiGraphを使用して実装いたしましたがそのような方法もあるのですね。
ただ、仕様を見てみたのですがSetDrawAreaを使用すると他の描画物にも影響が及ぶのではないでしょうか?
見た限りだと描画する範囲を指定する関数みたいでしたので・・・・・
実際にやってみたのですがゲージだけが描画され他は何も描画されておりませんでした。
一応変更したプログラムです。
//----------------------------------------------------------------------------
void CUI::GetSize()
{
GetGraphSize(tBariaGageParam.Handle, &tBariaGageParam.Width, &tBariaGageParam.Height);
MaxBariaHeight = tBariaGageParam.Height;
FirstBariaGagePosZ = tBariaGageParam.Pos.z;
}
//----------------------------------------------------------------------------
void CUI::CheckBariaGage(CModel::BARIA_PARAM bariaparam)
{
if(bariaparam.Flag == BARIATRUE)
{
tBariaGageParam.Pos.z += tBariaGageParam.DownGage;
if(tBariaGageParam.Pos.z >= FirstBariaGagePosZ + MaxBariaHeight)
{
tBariaGageParam.Pos.z = FirstBariaGagePosZ + MaxBariaHeight;
}
}
else
{
tBariaGageParam.Pos.z -= tBariaGageParam.UpGage;
if(tBariaGageParam.Pos.z <= FirstBariaGagePosZ)
{
tBariaGageParam.Pos.z = FirstBariaGagePosZ;
}
}
}
//----------------------------------------------------------------------------
void CUI::DrawBariaGage()
{
//GraphFilter(tBariaGageParam.Handle, DX_GRAPH_FILTER_BRIGHT_CLIP, DX_CMP_LESS, 255, TRUE, GetColor(255, 0, 0), 255);
/*DrawModiGraph(tBariaGageParam.Pos.x, tBariaGageParam.Pos.z, tBariaGageParam.Pos.x + tBariaGageParam.Width, tBariaGageParam.Pos.z,
tBariaGageParam.Pos.x + tBariaGageParam.Width, FirstBariaGagePosZ + tBariaGageParam.Height, tBariaGageParam.Pos.x, FirstBariaGagePosZ + tBariaGageParam.Height,
tBariaGageParam.Handle, TRUE);*/
DrawGraph(tBariaGageParam.Pos.x, tBariaGageParam.Pos.z, tBariaGageParam.Handle, FALSE);
SetDrawArea(tBariaGageParam.Pos.x, tBariaGageParam.Pos.z, tBariaGageParam.Pos.x + tBariaGageParam.Width, FirstBariaGagePosZ + MaxBariaHeight);
}