S.O.S. ScrollBars "Como los odio..."

31/05/2004 - 00:57 por Jack | Informe spam
Buenas, expongo mi problema.
Quisiera saber si es posible y cual es el mejor método
para cambiar el color y apariencia de los scrollbars
vertical y horizontal de un datagrid. He desarrollado un
programa para cambiar el diseño de los datagrids, colores
de filas, columnas, estilo de cabeceras, etc. pero aun no
he podido cambiar el aspecto de los scrollbars. Lo he
intentado accediendo a las propiedades protegidas
VertScrollBar y HorizScrollBar mediante un DataGrid
heredado y no hay manera. Tampoco lo he conseguido
mediante la opción BackColor del Control Scroll, en fin
llevo un par de semanas pillado y ya no se por donde
salir, sin recurrir a otro lenguaje.
Se me olvidaba utilizo C# y el control DataGrid es en
formularios Windows no Web, ya se que en estos últimos
parece bastante fácil conseguirlo.

Gracias y espero que alguien me pueda echar una mano,
este problema es bastante importante y de no resolverlo
tendría que replantear todo el desarrollo y si el
lenguaje es el idóneo para mis necesidades.

Preguntas similare

Leer las respuestas

#6 Jack
03/06/2004 - 04:23 | Informe spam
Vamos a ver, anonimo..., la primera respuesta que recibo
ante un problema acuciante, para mi claro, es de alguien
que no solo no aporta nada, sino que ademas solicita que
le cuente o mejor le pase el codigo en el que llevo
invertido el ultimo mes de trabajo. A mi la idea del
Software Libre o Gratix, me parece genial pero hasta el
momento en el que la comida, el tabaco, la ropa o las
copas no lo sean, creo que tendria un problema al menos
en esta profesion.
En cualquier caso, si tienes una duda, lo normal es abrir
un mensaje nuevo y solicitarla, como creo que hacemos
todos. Tambien te recomiendo que especifiques tu
problema, porque si generalizas como has hecho, la
respuesta seria demasiado extensa o incluso podria dar la
sensacion de que no te lo has currado ni tan siquiera un
poquito, no te parece.

Saludos,
Jack


Me sorprende que vengas aquí a pedir ayuda, y que no
estés dispuesto a prestarla cuando se te pida.

No comprendo que todavía haya gente que siga
respondiéndote.
.

Respuesta Responder a este mensaje
#7 Javier Ros
03/06/2004 - 13:37 | Informe spam
Estas en la misma situación que yo, no sabia si instanciar un objeto
ScrollBar y situarlo en el mismo sitio donde aparecia el original o
pintar encima del que ya existia. Lo más sencillo originalmente era
crearme un ScrollBar y en respuesta a los eventos de este mover
el control (DataGrid en este caso), pero me encontraba con que
también tenia que cambiar el scrollbar en respuesta a los eventos
del datagrid, y me empecé a quemar, así que opte por la segunda
opción, que al final resultó ser más facil.
Como te digo yo dibujaba el scrollbar con el GDI de la manera
que queria, en respuesta a WM_NCPAINT, con funciones de la
API Win32 sacaba el tamaño de la barra de tareas, el tamaño de
los botones y el tamaño/posición de la barra de desplazamiento.
En concreto pintaba todo el area del ScrollBar del color de fondo,
luego pintaba el boton de ir hacia arriba, luego el de abajo y por
último la barra de desplazamiento. En concreto empieza por dibujar
rectangulos y asegurate de que siempre se dibujan donde se deben
dibujar y que no se le va la hoya al código, luego cuando pienses
que está bien, encargate de rellenar y adornar como desees. Acto
segido el problema será pintar de manera distinta los botones de
dirección cuando se esté haciendo click sobre ellos.
Bueno no tiene mucho más, no tendría ningun inconveniente en
pasarte el código fuente, pero no lo tengo a mano, hace tiempo que
lo hice y ademas lo hice en Delphi. Pero vamos no depende del lenguaje
lo hice todo accediendo al Api Win32.
No obstante, estoy seguro de que tarde o temprano Microsoft
facilitará esta tarea en .NET.

Javier Ros Moreno.

"Jack" escribió en el mensaje
news:163ab01c447c4$745b2930$
Gracias Javier por tu intervención, ya pensaba que era el
único bicho raro de por aquí que tenia este problema y
digo yo, si a un lenguaje de programación para entorno
grafico le quitamos los gráficos que nos queda, pues lo
de siempre un lenguaje más o menos como los de los
últimos 20 años. Bueno me centro.
Me comentas que debería repintar el control en GDI, vale
al fin de al cabo solo es un control mas, ya lo he hecho
con los Label, EditBox, ComboBox, Panel, DateTimePicker,
CheckBox, RadioButton, Button, DataGrid, etc. vamos
todos, pero con este en particular me acechan dudas:
- Para repintar el control debería crear uno propio
e instanciarlo desde su control base H/VScrollBar
- Como puedo utilizar este nuevo control en un
DataGrid y sobre todo darle funcionalidad.

Al parecer los señores de Microsoft solo se lo curran
cuando tiene competencia u otros intereses, casualmente
este problema no es tal en controles Web, que curioso.
Bueno Javier no se si podrías darme alguna pista más, en
el caso de que hayas resulto la papeleta, no me tomo la
libertad de pedirte código por la patilla, los que
vivimos de esto sabemos lo que cuesta, pero si puedes
orientarme guay, en cualquier caso te estoy muy
agradecido.

Jack
Respuesta Responder a este mensaje
#8 Javier Ros
03/06/2004 - 13:46 | Informe spam
Anda que vaya dos, solo os falta patalear ;)

Javier Ros Moreno

"Jack" escribió en el mensaje
news:178e501c44911$b19944a0$
Vamos a ver, anonimo..., la primera respuesta que recibo
ante un problema acuciante, para mi claro, es de alguien
que no solo no aporta nada, sino que ademas solicita que
le cuente o mejor le pase el codigo en el que llevo
invertido el ultimo mes de trabajo. A mi la idea del
Software Libre o Gratix, me parece genial pero hasta el
momento en el que la comida, el tabaco, la ropa o las
copas no lo sean, creo que tendria un problema al menos
en esta profesion.
En cualquier caso, si tienes una duda, lo normal es abrir
un mensaje nuevo y solicitarla, como creo que hacemos
todos. Tambien te recomiendo que especifiques tu
problema, porque si generalizas como has hecho, la
respuesta seria demasiado extensa o incluso podria dar la
sensacion de que no te lo has currado ni tan siquiera un
poquito, no te parece.

Saludos,
Jack


Me sorprende que vengas aquí a pedir ayuda, y que no
estés dispuesto a prestarla cuando se te pida.

No comprendo que todavía haya gente que siga
respondiéndote.
.

Respuesta Responder a este mensaje
#9 Jack
03/06/2004 - 16:47 | Informe spam
Como no puede ser de otra manera tambien tomé la decisión
del repintado, no me preocupaba el Scroll en si, sino la
forma de utilizarlo el Datagrid, pero en fin despues de
un par de dias ya dispongo de un datagrid con Scrolls de
aspecto personalizable.
Realmente crees que MS va a comercializar algun dia un
buen DataGrid ? Desde la versión 4 de C++ el DataGrid ha
sido la primera fuente de perdida de tiempo y charlas en
los foros de programación.
Ya veremos los beneficios y bugs de Whidbey, pero eso
será otro dia.

Saludos,
Jack
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida