2008-10-10 6 views
4

몇 가지 새로운 기능이 필요한 순수한 Winapi 응용 프로그램이 있습니다. 그 중 하나는 목록간에 요소를 끌어다 놓을 수있는 두 개의 목록으로 구현하는 것이 가장 좋습니다. 새로운 기능은 하나의 대화 상자로 제한 될 수 있습니다.winapi 끌어서 놓기

이것을 구현하는 가장 빠른 방법은 무엇입니까? 몇 가지 아이디어 :

  • 순수 WINAPI (이 DetectDrag입니다)
  • 이 하나의 대화
  • 삽입은 Microsoft 웹 브라우저 컨트롤을 제공하는 별도의 MFC 또는 .NET의 DLL 및

JQuery와 사용 이러한 옵션은 피해야합니까?
더 좋은 아이디어가 있습니까?
구현이 가장 빠른 것은 무엇입니까?
시작하는 방법에 대한 설명이 있으십니까?

답변

7

내 조언은 응용 프로그램이 순수한 winapi에 있다면 그렇게하는 것입니다.

.NET 프레임 워크 런타임을 드래그 할 수있는 항목이있는 대화 상자 하나만 시작하면 WebBrowser 컨트롤을 호스팅하고 해당 기능 하나에 대해 JQuery를 사용하는 것만 큼 나 빠지며 적어도 나에게 물어 보면 가치가 있습니다. 당신은 나에게 묻지 않고있다)).

그렇지 않으면 당신은 유지 보수의 악몽에 빠지게 될 것이고 가장 빠른 길은 가장 문제가 될 것입니다.

편집 : 어쩌면 thosetwo 기사 드래그 앤 드롭을 구현에 도움이 될 것입니다 - 그들은의 ListView에 재정렬 행에 대해,하지만 아마 아이디어를 얻는 데 도움이 될 것입니다.

-1

가장 익숙한 방법이 가장 빠를 것입니다.

확실히 .NET Windows Forms에서이 작업을 쉽게 수행 할 수 있습니다. ListBox 항목간에 몇 줄의 코드를 작성하여 항목을 쉽게 끌어서 놓을 수 있습니다. 샘플을 보려면 CodeProject 같은 곳을보십시오.

5

Raymond Chen은 너무 오래 전에이 주제에 대한 일련의 블로그 포스트를 작성했습니다. here을 시작하십시오.

0

모든 코드는 MSDN의 C 및 win32 api에 있습니다. 복사하여 붙여 넣기 만하십시오.

그리고 전문의 Win32 API를 NG를 뉴스 참조 : 후 모든이 수십 년 동안 논의 된 //194.177.96.26/comp.os.ms-windows.programmer.win32 ...

+0

'news : // 194.177.96.26 /'은 이제 브라우저 검색 문자열 (이 경우 Google)입니다."수십 년 동안 논의 된"자료는 불행하게도 나타나지 않습니다. 아카이브가있을 수 있지만이 뉴스 검색을 통해 소재가 밝혀지지 않습니다. –

2

몇 가지 참고 사항을 Win32 api에서 구현 :

끌어서 놓기는 ListBox 컨트롤에서 지원되지 않습니다. ListView 컨트롤이어야합니다.

CodeProject article은 매우 좋습니다. (Thanks macbirdie)
ListViews의 MSDN 섹션은 물론 매우 유용합니다.