Member 11803607 Ответов: 0

Не удалось изменить курсор в элементе управления редактированием


Я подкласс окна редактирования в классе окна #32770 и хочу изменить курсор, но не могу этого сделать

SetCursor LoadCursor(0,IDC_HAND)

Что я уже пробовал:

Просто поместите функцию Api, которая упоминается в WM_SETCURSOR

Richard MacCutchan

Я только что попробовал это в обычном окне, и оно отлично работает. Не могли бы вы показать еще немного вашего кода? И, пожалуйста, покажите фактический код C, который компилируется, то, что у вас есть выше, не является реальным кодом C.

Member 11803607

да не c-код, и кроме тех, кто работает с c и c# , никто не знает функции api

Richard MacCutchan

Я понятия не имею, что это должно означать. Я задал простой вопрос: пожалуйста, покажите фактический код, который вы используете для изменения курсора. Операторы в вашем вопросе не являются правильными C, C++ или C#.

Member 11803607

Я подкласс элемента управления Edit в #3270 и нарисовать кнопку в форме с функцией DrawFrameControl в правой части элемента управления Edit , когда курсор переместится в эту область, я хочу изменить курсор в этой области прямоугольника

я должен упомянуть , что в WM_NCHITTEST я использовал PtinRect и во время перемещения курсора в эту прямоугольную область ( означает кнопку Shaped : Drawn The right Side Of Edit ) пишу "Break" ( эквивалент в vb - "Exit Function"), если использовать break в этом окне сообщения, то Cusror такой же, как и когда вы находитесь вне контроля ( означает стрелку
Type ) но если вы пишете код в WM_LBUTTONDOWN, он не работает, потому что используйте "break" в WM_NCHITTEST

Member 11803607

Дело WM_SETCURSOR
DIM P КАК POINTAPI
GETCURSORPOS P
SCREENTOCLIENT HWND,P
Если PtInRect(BUTTONRECT,P. X,P. Y), то
SetCursor LoadCursorA(0,32519&)
Конец, Если

Richard MacCutchan

Какой язык программирования вы используете? Это выглядит так VB.NET но я не знал, что вы можете получить прямой доступ к Win32 API.

Member 11803607

если использовать return 1 , будет ли сброшен курсор в этой области прямоугольника на стрелку ?

я не мог поместить сюда gif-файл, чтобы показать свою цель

на самом деле способ написания кода в vb,vb.net,c# - это не одно и то же, но функция Api одна для всех

0 Ответов