![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Hola marcial.
Primero que nada, me alegro que el código te haya servido como base . Ahora que veo que deseas un scroll continuo con retraso de tiempo, te pongo otra alternativa más simple:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#2
|
|||
|
|||
|
Muchas gracias. Como siempre, mejor que el mio.
|
|
#3
|
||||
|
||||
|
Hola.
Yo no diría mejor... sólo un modo diferente que dá un código más simple. Saludos. ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#4
|
||||
|
||||
|
Saludos ecfisa, podría traducir este código a c usted o alguien mas? Seria magnífico !!!
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código. Cuando miras fijamente al abismo, este te devuelve la mirada oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_ oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_ oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_ oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_ oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_ ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_ ________________________________________________________________________________ |
|
#5
|
||||
|
||||
|
Cita:
Código:
void __fastcall TForm1::MMouseEvent(TMsg &msg, bool &Handled){
TPoint tp;
int i;
TWinControl *wc = FindVCLWindow(Mouse->CursorPos);
if (wc != NULL) {
tp = Form1->ScreenToClient(Mouse->CursorPos);
TDBGrid *g = static_cast<TDBGrid*> (wc);
int ZD = GetSystemMetrics(SM_CXVSCROLL);
while(tp.x >= g->Left && tp.x <= g->Left+ZD) {
tp = Form1->ScreenToClient(Mouse->CursorPos);
SendMessage(g->Handle, WM_HSCROLL, SB_LINELEFT, 0);
Sleep(250);
};
while (tp.x >= g->Left+g->Width-ZD && tp.x <= g->Left+g->Width) {
tp = Form1->ScreenToClient(Mouse->CursorPos);
SendMessage(g->Handle, WM_HSCROLL, SB_LINERIGHT, 0);
Sleep(250);
};
}
};
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Application->OnMessage = MMouseEvent;
}
Saludos. ![]() PD: No me trates de usted. (la próxima vez que lo hagas te traduzco a Visual Basic ![]() )
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 30-03-2012 a las 16:04:32. |
|
#6
|
|||
|
|||
|
Hola de nuevo:
Parece que la felicidad nunca es completa. Resulta que aplico el código y va perfectamente pero....cuando en el programa existe un componente Application Event para controlar la rueda del ratón con este código en el evento On Message:
Resulta que el maravilloso código de ecfisa no funciona. ¿Habría alguna manera de poder utilizar los dos a la vez? |
|
#7
|
|||
|
|||
|
Vaya, si que se puede. Lo dejo por si a alguien le interesa:
En las Private Declarations
Despues de los Uses y antes de {SR *.DFM}
El el OnCreate de la Form
El procedure del Scroll Vertical
Y por último, después del procedure Vertical, el procedure de Ecfisa para el Scroll Horizontal Así tenemos los Scroll Vertical y Horizontal sin usar las Barras de Desplazamiento Muchas gracias |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| DBGrid y Rueda(Scroll) del Mouse en Delphi 7 | Emilio_82 | Conexión con bases de datos | 8 | 05-04-2013 09:23:41 |
| Eliminar scroll horizontal (que no scrollbar) de dbgrid | coso | OOP | 21 | 07-10-2008 19:29:13 |
| barra de scroll en DBGrid | macro32 | Conexión con bases de datos | 2 | 15-08-2008 07:53:58 |
| Barra de Scroll de un DbGrid con Query | gandalf_uy | Varios | 2 | 22-09-2005 18:09:34 |
| DBGRID y SCROLL | vtdeleon | OOP | 2 | 22-12-2004 14:34:59 |
|