FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Conseguir la posición gobal del cursor en la pantalla.
Hola foro.
Mi duda es la siguiente, como puedo saber la posición del cursor en la pantalla ( no en el form ). Mi idea es que al pulsar una tecla, aparezca junto a la celda actual de un grid, un pequeño form. Muchas gracias. |
#2
|
||||
|
||||
Usa el objeto global Mouse:
Mouse.CursorPos // Saludos |
#3
|
|||
|
|||
Muchas gracias, pero con eso consigo la posición del ratón, yo quiero saber la posición del cursor, ya que en el grid me muevo con el teclado.
Gracias de nuevo. |
#4
|
||||
|
||||
¡Uy! Disculpa, leí mal.
Entonces podrías usar GetCaretPos para obtener la posición relativa a la ventana y luego usar ClientToScreen para convertir a coordenadas globales. Sin embargo la ventana donde está el caret (cursor) será la del cuadro de edición de la celda que está dado por la propiedad protegida InPaceEditor del grid. Puedes tratar de acceder a él usando el viejo truco: Código:
type THackGrid = class(TDBGrid); Código:
THackGrid(DBGrid1).InPlaceEditor // Saludos |
#5
|
|||
|
|||
Muchas gracias, pero ahora tengo un problema, InPlaceEditor me apunta a nil. Por qué puede ser?. Utilizo un TwwDBGrid.
Muchas gracias de nuevo. |
#6
|
||||
|
||||
No conozco la componente que mencionas pero suponiendo que funciona de forma similar a otras el problema es que InPlaceEditor sólo estará asignado cuando estés editando una celda, no si sólo estás colocado en ella.
// Saludos |
#7
|
|||
|
|||
Muchas gracias, Roman, perdona por la tardanza en agradecertelo, pero es que he estado fuera.
Gracias. |
#8
|
|||
|
|||
Busque y busque, pero no puedo
Saludos : Sobre la pregunta : ¿Como obtener la posición global en la pantalla de una celda selccionada?
Parece q no tengo la suficiente experiencia para obtener el resultado, no puedo obtener la posición... Si alguien puede ayudarme seria genial Mil gracias por adelantado
__________________
Joseph Buttgembach Verde Lima - Perú |
#9
|
|||
|
|||
Parece q finalmente encontre algo...
Este es el Link : http://cc.borland.com/Item.aspx?id=4
http://cc.borland.com/Item.aspx?id=4 Yo utilizo los COmponentes wwDBGrid y tiene un evento : DBGrid1DrawDataCel me imagino q es parecido al ColumnCell, la teoria es interesante, se obtnedra la posción del mouse al dibujar la celda activa Código:
procedure TMainForm.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState); begin if gdFocused in State then begin CurrentLeft := Rect.Left; CurrentTop := Rect.Top; end; end;
__________________
Joseph Buttgembach Verde Lima - Perú |
|
|
|