Array
(
)

dragdrop de dbgrid para edit

Salsa
   - 05 jan 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 :)


Adriano Santos
   - 05 jan 2006

Evento onEndDrag do DBGrid:

#Código


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

#Código

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
#Código

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


Evento onDragDrop do Edit

#Código

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.
#Código

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;



Salsa
   - 05 jan 2006

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 :)


Adriano Santos
   - 05 jan 2006


Citação:
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]


Salsa
   - 05 jan 2006

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


Adriano Santos
   - 05 jan 2006


Citação:
desculpe... foi erro meu... funcionou direitinho.. obrigado :)


Tranquilo meu velho, se precisar estamos ai.