Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Drag & Drop en StringGrid (Nuevo problema) (https://www.clubdelphi.com/foros/showthread.php?t=11835)

miguel_fr 27-06-2004 01:31:01

Drag & Drop en StringGrid (Nuevo problema)
 
Buenas, estube buscando un poco de ayuda sobre este tema y encontre algo para realizar con unos list, pero ahora surgio un nuevo problemita, resulta que yo quiero hacer mi Drag & Drop en un StringGrid, pero al activarlo dmAutomatico me inabilita los eventos de cuando se hace 1 o 2 click en una celda y de seleccionar una celda. Yo quisiera poder realizar todas estas cosas. El truco creo esta en usar el dmManual, pero no tengo la mas remota idea como se utiliza.
PD:Espero no crean que no busque en los hilos viejos, porque si lo hise y espero no se enfaden conmigo especialmente el Moderador R..... que no soporta los hilos repetidos :p

Lepe 27-06-2004 11:46:27

Se me ocurre que Permitas las opciones de arrastrar y soltar si se pulsa la tecla control (por ejemplo) de tal forma que en el evento de hacer clic en una celda, preguntas si la tecla control está activada, (quizás en el evento OnMouseDown del Stringgrid) si está pulsada, pones DragMode a dmAutomatic y permites el arrastrar y soltar, si no está pulsada, pones DragMode a dmManual y dejas editar la celda.

Código Delphi [-]
procedure TForm1.StringGrid1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if ssCtrl in Shift then
    DragMode := dmAutomatic
  else
    DragMode := dmManual ;

end;

Espero te sirva

miguel_fr 27-06-2004 17:03:46

Gracias Lepe, por tus ideas, en cuanto tenga tiempo me pongo a ver esas chances.
Nuevamente GRacias

jachguate 27-06-2004 17:50:33

Te aconsejo leer la ayuda del método BeginDrag del TControl.

En el evento OnMouseDown podes llamar a BeginDrag para iniciar el arrastrado cuando DragMode está en dmManual.

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 15:20:36.

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