Buenas amigos, sigo mejorando el juego de las tablas y ahora le he añadido un ranking y todo va correcto pero me gustaria crear un pequeño margen para que cuando alineo a la derecha los numeros no llegue justo al filo sino que quede un poquitin de espacio a la derecha.
Esto tengo hecho:
Código:
void __fastcall TFormRanking::StringGridRankingDrawCell(TObject *Sender,
int ACol, int ARow, TRect &Rect, TGridDrawState State)
{
char *cadena;
cadena = StringGridRanking->Cells[ACol][ARow].c_str();
if (State.Contains(gdFixed))
{
StringGridRanking->Canvas->Brush->Color = clBtnFace;
StringGridRanking->Canvas->Font->Color = clWindowText;
StringGridRanking->Canvas->FillRect(Rect);
HDC dc = StringGridRanking->Canvas->Handle;
DrawText(dc, cadena, strlen(cadena), &Rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE );
}
else if(State.Contains(gdSelected)) //if is selected use the clAqua color
{
StringGridRanking->Canvas->Brush->Color = clWindow;
StringGridRanking->Canvas->Font->Color = clWindowText;
StringGridRanking->Canvas->FillRect(Rect);
HDC dc = StringGridRanking->Canvas->Handle;
if(ACol == 1)
DrawText(dc, cadena, strlen(cadena), &Rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE );
else
DrawText(dc, cadena, strlen(cadena), &Rect, DT_RIGHT | DT_VCENTER | DT_SINGLELINE );
}
else if (ARow %2 == 0)
{
StringGridRanking->Canvas->Brush->Color = clSilver;
StringGridRanking->Canvas->Font->Color = clWindowText;
StringGridRanking->Canvas->FillRect(Rect);
HDC dc = StringGridRanking->Canvas->Handle;
if(ACol == 1)
DrawText(dc, cadena, strlen(cadena), &Rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE );
else
DrawText(dc, cadena, strlen(cadena), &Rect, DT_RIGHT | DT_VCENTER | DT_SINGLELINE );
}
else
{
StringGridRanking->Canvas->Brush->Color = StringGridRanking->Color;
StringGridRanking->Canvas->Font->Color = StringGridRanking->Font->Color;
StringGridRanking->Canvas->FillRect(Rect);
HDC dc = StringGridRanking->Canvas->Handle;
if(ACol == 1)
DrawText(dc, cadena, strlen(cadena), &Rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE );
else
DrawText(dc, cadena, strlen(cadena), &Rect, DT_RIGHT | DT_VCENTER | DT_SINGLELINE );
}
}
¿Como puedo hacer eso?