C++ 使用函数的所有参数?I';我很困惑

C++ 使用函数的所有参数?I';我很困惑,c++,C++,在DrawBorderBox中输入的值在BarRect中使用,那么调用DrawFilledRect不会使用所有参数吗?那么BarRect是否假定h 所以我得到(55,20)点1和(255,70)点2?但这表示它画了一条线?我很困惑 我认为厚度是被用来作为h在BarRect???我说的对吗? 这意味着它实际上会覆盖原始正方形的4个像素?BorderRect绘制了4个矩形,它们勾勒出由两点(55,20)(255,70)指定的矩形的轮廓。似乎错误的是,4个矩形上的端盖似乎没有正确对齐。在x、y、w和h

DrawBorderBox
中输入的值在
BarRect
中使用,那么调用
DrawFilledRect
不会使用所有参数吗?那么
BarRect
是否假定
h

所以我得到(55,20)点1和(255,70)点2?但这表示它画了一条线?我很困惑

我认为厚度是被用来作为h在BarRect???我说的对吗?
这意味着它实际上会覆盖原始正方形的4个像素?

BorderRect绘制了4个矩形,它们勾勒出由两点(55,20)(255,70)指定的矩形的轮廓。似乎错误的是,4个矩形上的端盖似乎没有正确对齐。在x、y、w和h上应该有偏移量,以便在较大的框内绘制所有4个矩形,或者在框外绘制稍长的矩形。

按照惯例,变量和函数名应该以小写字母开头,顺便说一句。@AndrewMarshall在C++中没有约定,或者更确切地说,有数百种约定。你指的是哪一个?SO的语法highlighter似乎遵循了这一点,因为以大写字母开头的驼峰格单词突出显示方式不同,因此它们显然应该是不同类型的“东西”。我并不是要暗示C++有一个约定——没有,但是有约定。
DrawBorderBox(55, 20, 200, 50, 4, fontBlack, pDevice );

void Menu::DrawBorderBox( int x, int y, int w, int h, int thickness, D3DCOLOR Colour, LPDIRECT3DDEVICE9 pDevice)
{
    //Top horiz line
    DrawFilledRect( x, y, w, thickness,  Colour, pDevice );
    //Left vertical line
    DrawFilledRect( x, y, thickness, h, Colour, pDevice );
    //right vertical line
    DrawFilledRect( (x + w), y, thickness, h, Colour, pDevice );
    //bottom horiz line
    DrawFilledRect( x, y + h, w+thickness, thickness, Colour, pDevice );
}

void Menu::DrawFilledRect(int x, int y, int w, int h, D3DCOLOR color, LPDIRECT3DDEVICE9 pDevice)
{
    //We create our rectangle to draw on screen
    D3DRECT BarRect = { x, y, x + w, y + h }; 
    //We clear that portion of the screen and display our rectangle
    pDevice->Clear(1, &BarRect, D3DCLEAR_TARGET | D3DCLEAR_TARGET, color, 0, 0);
}