У меня довольно сложная проблема, но я постараюсь изо всех сил. Я сделал специальную реализацию drag-drop для приложения на основе Win32 с графическим интерфейсом. Из-за ограничений программы я не могу использовать надлежащий механизм перетаскивания OLE. Его okey, я сделал свой собственный с отслеживанием мыши, и он работает так. Единственная проблема, которую я сейчас не могу решить, - это кровавый недействительный (разреженный круг) - курсор IDC_NO.Выполненный на заказ win32 drag-drop, не может получить изменение недействительным (разреженный круг) курсор
Мое окно считает, что оно не поддаётся обработке и изменяет курсор на недействительный, когда что-то вот-вот упадет. Я попробовал все, чтобы изменить его, но он настаивает на том, чтобы остаться там.
case WM_SETCURSOR:
{
//SetSystemCursor(CopyCursor(LoadCursor(NULL, IDC_CROSS)), 32648);
//DestroyCursor();
SetCursor(LoadCursor(NULL, IDC_CROSS));
SetWindowLong(hwnd, DWL_MSGRESULT, TRUE);
return TRUE;
}
break;
Я даже попытался изменить значок вне переключателя сообщений, который запускается при каждом вызове функции обратного вызова. Он работал немного, но не в порядке. Как будто я устанавливаю его на курсор IDC_CROSS, но возвращается к IDC_NO.
Как я могу избавиться от этого недействительного курсора? Я хочу установить его в IDC_CROSS.
Или как реализовать перетаскивание без использования классов OLE или MFC, чтобы сделать мое приложение доступным и не показывать этот недействительный курсор.
Довольно сложно, но спасибо за ваше время, даже для чтения на мой вопрос;)
Ok. Спасибо. Теперь я знаю, что пытаюсь сделать невозможное;) – tesla