dragdrop de dbgrid para edit

05/01/2006

Seguinte.... eu tenho uma dbgrid com as colunas do meu campo e tal... e quero arrastar o titulo pra uma edit...

ex....


eu clicko no titulo da dbgrid ´nome´ ... e arrasto pro mouse ateh a edit... e ae na edit aparece o texto nome.. q seria o titulo da dbgrid...

alguem sabe como fazer ou jah fez isso?


valeu :)


Salsa

Respostas

05/01/2006

Adriano Santos

Evento onEndDrag do DBGrid:

procedure TFrmDragDrop.DBGrid1EndDrag(Sender, Target: TObject; X,
  Y: Integer);
begin
  if Target <> nil then
  begin // trata o fim de uma operacao que foi aceita
    // interrompe se havia algum filme
    // muda o filme
    Edit1.Text := Titulo;
  end;
end;


Evento onMouseDown do DBGrid

procedure TFrmDragDrop.DBGrid1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if (Sender = DbGrid1) and (Button = mbLeft) then
    DbGrid1.BeginDrag(False); // inicia a operacao
end;


Evento onTitleClick do DBGRid
procedure TFrmDragDrop.DBGrid1TitleClick(Column: TColumn);
begin
   //Declare a variavel Titulo como Publica
   Titulo := Column.FieldName;
end;


Evento onDragDrop do Edit

procedure TFrmDragDrop.Edit1DragDrop(Sender, Source: TObject; X,
  Y: Integer);
begin
  if Source = DbGrid1 then
    DbGrid1.EndDrag(True); // comanda o final da operacao
end;



Evento onDragOver também do Edit.
procedure TFrmDragDrop.Edit1DragOver(Sender, Source: TObject; X,
  Y: Integer; State: TDragState; var Accept: Boolean);
begin
  if Source = DbGrid1 then
    Accept := True; // aceita se vier da lista
end;



Responder Citar

05/01/2006

Salsa

Não estou conseguindo fazer direito não.... fiz tudo oq vc disse... soh q qndo arrasto... ele arrasta em branco o texto.. a edit fica vazia...


sabe pq?


valeu :)


Responder Citar

05/01/2006

Adriano Santos

Não estou conseguindo fazer direito não.... fiz tudo oq vc disse... soh q qndo arrasto... ele arrasta em branco o texto.. a edit fica vazia... sabe pq? valeu :)


Assim sem olhar não dá pra saber, mas se quiser, hospedei o exemplo que usei para testar e lhe enviar a resposta. Se quiser faça o download e dá uma olhada.

[url=http://www.doiscliques.com/pub/drag.zip]Exemplo de Drag and Drop com DBGrid[/url]


Responder Citar

05/01/2006

Salsa

desculpe... foi erro meu... funcionou direitinho.. obrigado :)


Responder Citar

05/01/2006

Adriano Santos

desculpe... foi erro meu... funcionou direitinho.. obrigado :)


Tranquilo meu velho, se precisar estamos ai.


Responder Citar