스플리터를 끌기 위한 마우스 커서에 대한 Win32 리소스는 어디에 있습니까?

StackOverflow https://stackoverflow.com/questions/47538

  •  09-06-2019
  •  | 
  •  

문제

저는 사용자 정의 win32 컨트롤/위젯을 작성 중이며 컨트롤의 특정 수직선 위로 마우스를 가져갈 때 커서를 수평 "분할" 기호로 변경하고 싶습니다.즉:이 수직선(분리 막대)을 왼쪽과 오른쪽(WEST 및 EAST)으로 드래그하고 싶습니다.

시스템 커서(OCR_*) 중에서 의미가 있는 유일한 커서는 OCR_SIZEWE입니다.불행하게도 이는 창 크기를 조정할 때 시스템이 사용하는 크고 어색한 커서입니다.대신 왼쪽과 오른쪽을 가리키는 두 개의 작은 화살표가 있는 높이가 약 20픽셀, 너비가 약 3~4픽셀인 커서를 찾고 있습니다.

이것을 쉽게 그려서 내 응용 프로그램에 리소스로 포함할 수 있지만 커서 자체가 너무 널리 퍼져 있어서 뭔가 누락된 것이 없는지 확인하고 싶었습니다.

예를 들어:COM 끌어서 놓기 메커니즘(CLSID_DragDropHelper, IDropTarget 등)을 사용하면 암시적으로 "끌기" 아이콘(포인터 아래의 작은 상자)에 액세스할 수 있습니다.이 사람에 대한 명시적인 OCR_* 상수를 보지 못했습니다 ...마찬가지로, 이 분할 커서를 완전히 찾을 수 없다면 이것이 COM 개체의 일부인지 아니면 win32 lib의 다른 항목인지 궁금합니다.

도움이 되었습니까?

해결책

타사 소프트웨어에서는 공개적으로 사용할 수 없는 모든 종류의 아이콘, 커서 및 이미지가 Windows UI 전체에서 사용됩니다.물론, 해당 모듈이 있는 모듈을 로드하여 사용할 수는 있지만 시스템 업데이트/업그레이드 후에도 프로그램이 계속 작동할 것이라는 보장은 없습니다.

자신의 것을 포함하십시오.마지막으로 원하는 것은 작은 커서에 추가 종속성을 추가하는 것입니다.

다른 팁

나는이 정확한 문제를 겪었습니다.쉬운 대답이 있다고 생각하면서 수직 분할기에 대한 일부 이전 코드를 되돌아봤을 때, 자체 리소스를 빌드하고 로드했다는 사실이 밝혀졌습니다.

SetCursor( LoadCursor( ghInstance, "IDC_SPLITVERT" ));

시스템 방식을 찾는 데 상당한 시간과 노력을 투자한 것이 어렴풋이 기억납니다. 그래서 (내 추측으로는) 해당 작업을 쉽게 수행할 수 있는 시스템 아이콘이 없으므로 직접 운영하는 것이 더 나을 것입니다.

이 작업에 대한 시스템 아이콘이 있었으면 좋겠다고 생각했기 때문에 이것은 제가 틀렸으면 좋았을 때 중 하나입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top