| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Molotess Cdt


Registrado: 17 Ago 2002Mensajes: 3
|
Publicado: Sab 21 Dic, 2002 5:57 pm Asunto: INSERTAR BMP EN EL COLUMN->TITLE DE UN DBGRID (LEO?) |
|
|
| ESTO YA ESTA PREGUNTADO EN EL FORO PERO COMO NO HAY RESPUESTA LO PREGUNTO YO TAMBIEN, AL IGUAL QUE "YO MISMO" QUISIERA PONER UN BMP EN EL TITLE DE UN DBGRID PARA ASI AL HACER CLICK EN EL SE PONGA UN BMP("UN TRAINGULITO AL ESTILO DEL EXPLORADOR DE WINDOWS PARA MARCAR QUE SE ESTA ORDENANDO POR ESA COLUMNA. :twisted: |
|
| Volver arriba |
|
 |
YO MISMO Invitado
|
Publicado: Sab 21 Dic, 2002 10:47 pm Asunto: |
|
|
| ESO MISMO ES LO QUE YO PREGUNTABA |
|
| Volver arriba |
|
 |
TOÑO Master

Registrado: 26 Ago 2002Mensajes: 223Ubicación: Madrid - España -
|
Publicado: Lun 23 Dic, 2002 9:44 am Asunto: |
|
|
HOLA:
La verdad, cosas raras quereis, pero bueno creo que ya he cazado el quit de la cuestion, cuando tenga un minuto libre, lo hago y lo cuelgo en los tips, OK.
By. |
|
| Volver arriba |
|
 |
molotess-2 Invitado
|
Publicado: Lun 23 Dic, 2002 4:22 pm Asunto: |
|
|
| Gracias Toño, te lo agradezco espero el Tip |
|
| Volver arriba |
|
 |
nunca mais Invitado
|
Publicado: Mie 25 Dic, 2002 9:39 pm Asunto: |
|
|
| DE p... madre toño esperamos tus respuesta ........ |
|
| Volver arriba |
|
 |
Marky Invitado
|
Publicado: Jue 26 Dic, 2002 2:11 am Asunto: |
|
|
Aqui os paso este código:
| Código: |
struct TOrdenar
{
int nColumna;
bool fAscendente;
};
|
Luego en el OnTitleClick del Grid pones:
| Código: |
if (Ordenar.nColumna == Column->Index)
Ordenar.fAscendente = !Ordenar.fAscendente;
else
Ordenar.fAscendente = true;
Ordenar.nColumna = Column->Index;
|
y ya para terminar en el OnDrawColumnCell:
| Código: |
TCanvas *canvas = dynamic_cast<TDBGrid*>(Sender)->Canvas;
TRect r(Rect);
r.top = 0;
r.Bottom = Rect.Height() - 2;
InflateRect(&r, -1, -1);
canvas->Brush->Color = clBtnFace;
canvas->FillRect(r);
if (DataCol == Ordenar.nColumna)
{
r.Right -= 14;
if (Ordenar.fAscendente)
{
canvas->Pen->Color = clBtnHighlight;
canvas->MoveTo(r.Right+1, 10);
canvas->LineTo(r.Right+10, 10);
canvas->LineTo(r.Right+5, 5);
canvas->Pen->Color = clBtnShadow;
canvas->MoveTo(r.Right+1, 10);
canvas->LineTo(r.Right+6, 5);
}
else
{
canvas->Pen->Color = clBtnHighlight;
canvas->MoveTo(r.Right+10, 5);
canvas->LineTo(r.Right+1, 5);
canvas->LineTo(r.Right+6, 10);
canvas->Pen->Color = clBtnShadow;
canvas->MoveTo(r.Right+10, 5);
canvas->LineTo(r.Right+5, 10);
}
}
canvas->Font = DBGrid->Font;
DrawText(canvas->Handle, Column->Title->Caption.c_str(),
Column->Title->Caption.Length(), &r,
DT_VCENTER | DT_SINGLELINE | DT_END_ELLIPSIS);
|
Eso es todo. Espero que os valga. |
|
| Volver arriba |
|
 |
ferpb Invitado
|
Publicado: Jue 26 Dic, 2002 8:51 am Asunto: |
|
|
hola,
gracias Marky y al resto de gente. Acabo de probar tu respuesta (fenomenal) y es justo algo que yo también quería hace tiempo, y aunque no era algo urgente está muy bien saberlo.
un saludo |
|
| Volver arriba |
|
 |
TOÑO Master

Registrado: 26 Ago 2002Mensajes: 223Ubicación: Madrid - España -
|
Publicado: Vie 27 Dic, 2002 7:03 pm Asunto: |
|
|
HOLA:
Realmente sencilla, ya me estaba hiendo por las ramas, intentando sobreescribir el componente, su metodo de dibujo y todo eso, de todas formas lo seguire intentando.
By. |
|
| Volver arriba |
|
 |
Juan David Invitado
|
Publicado: Mar 01 Feb, 2005 8:35 pm Asunto: no me ordena? |
|
|
Hola,
Porque a mi no me ordena, no pasa nada solo pone el triangulito en la primera columna del DBGrid....pero nada ordena
Ayuda please....
Saludos. |
|
| Volver arriba |
|
 |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Mie 02 Feb, 2005 5:18 pm Asunto: |
|
|
Eso es porque como el titulo de la pregunta original es, "como insertar un bmp en la columna del grid (en especial el triangulito)" para hacer el ordenamiento tendras que utrilizar otro metodo que trabaje en conjunto con este; uno para el ordenamiento y otro para el aspecto....
Yo lo que hago es utilizar uin TQuery y ordenar por el campo que se hace click, no me gusta much oporque tengo que modificar la sentencia SQL y re abrir el query, en consultas pequeñas es rapido, pero en consultas grandes y mas aun si el server esta un tanto ocupado suele tardar... quisiera encontrar la forma de ordenar el propioo DataSet pero hasta la fecha no he encontrado nada... _________________ Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!! |
|
| Volver arriba |
|
 |
|