Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-02-2004
islu islu is offline
Miembro
 
Registrado: jun 2003
Posts: 111
Poder: 21
islu Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 26-02-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Usa el objeto global Mouse:

Mouse.CursorPos

// Saludos
Responder Con Cita
  #3  
Antiguo 26-02-2004
islu islu is offline
Miembro
 
Registrado: jun 2003
Posts: 111
Poder: 21
islu Va por buen camino
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.
Responder Con Cita
  #4  
Antiguo 26-02-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¡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);
y haciendo el "casting":

Código:
THackGrid(DBGrid1).InPlaceEditor
Claro que ya accediendo al InPlaceEditor-- que es un descendiente de TCustomMaskEdit) --puedes directamente encontar su posición y colocar tu formulario acordemente.

// Saludos
Responder Con Cita
  #5  
Antiguo 01-03-2004
islu islu is offline
Miembro
 
Registrado: jun 2003
Posts: 111
Poder: 21
islu Va por buen camino
Muchas gracias, pero ahora tengo un problema, InPlaceEditor me apunta a nil. Por qué puede ser?. Utilizo un TwwDBGrid.

Muchas gracias de nuevo.
Responder Con Cita
  #6  
Antiguo 01-03-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #7  
Antiguo 08-03-2004
islu islu is offline
Miembro
 
Registrado: jun 2003
Posts: 111
Poder: 21
islu Va por buen camino
Muchas gracias, Roman, perdona por la tardanza en agradecertelo, pero es que he estado fuera.

Gracias.
Responder Con Cita
  #8  
Antiguo 27-09-2005
Oxa78 Oxa78 is offline
Miembro
 
Registrado: may 2003
Ubicación: Lima - Peru
Posts: 110
Poder: 22
Oxa78 Va por buen camino
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ú
Responder Con Cita
  #9  
Antiguo 27-09-2005
Oxa78 Oxa78 is offline
Miembro
 
Registrado: may 2003
Ubicación: Lima - Peru
Posts: 110
Poder: 22
Oxa78 Va por buen camino
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ú
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 09:09:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi