2010-12-14 4 views
2

RAD Studio 2010과 함께 Delphi GUI 응용 프로그램을 가지고 있으며 사용자가 자신의 작업 영역을 재정렬 할 수 있기를 바랍니다. TButton을 같은 형식으로 드래그 할 수있는 방법을 알았지 만 사용자가 단추를 한 폼에서 다른 폼으로 드래그 할 수 없도록 만드는 방법은 알지 못합니다. TButton을 클릭하여 드래그하려고 시도 할 때 드래그 앤 드롭 작업과 같이 취급하지 않는다고 생각합니다. TButton을 여러 형태로 드래그 앤 드롭 할 수있는 방법은 무엇입니까?폼에서 TButton을 폼으로 드래그

답변

2

먼저 단추의 DragMode를 dmAutomatic으로 설정하거나 단추에서 마우스가 눌려 졌을 때 수동으로 BeginDrag를 호출하십시오. 그런 다음 드래그 할 양식의 OnDragOver + OnDragDrop 이벤트를 사용하십시오.

+0

+1 지금까지 최고의 답변 – ComputerSaysNo

1

대상 폼의 OnDragDrop 이벤트를 사용하여 단추의 Parent 속성을 업데이트합니다.

+0

OnDragDrop 이벤트가 트리거되지 않습니다. –

+0

@ 존 - ['BeginDrag'] (http://docs.embarcadero.com/products/rad_studio/radstudio2007/RS2007_helpupdates/HUpdate4/EN/html/devwin32/wwcstartingadragoperation_xml.html) (OnMouseDown에서)? –

+0

또는'DragMode' 속성을'dmAutomatic'으로 설정하십시오. –

0

내가 끌어서 놓기의 델파이의 버전으로 작업을 수행하는 방법을 모르겠지만, 이제 수밖에 제외

IDataObject 

IDropTarget 

와 쉘 드래그 앤 드롭에 대한 완벽한 델파이의 제한된 에뮬레이션보다는 윈도우의 자체 API를 드래그 - 드롭에 사용합니다.

관련 문제