В Win32 API полосы прокрутки не имеют «события mousemove».Единственное сообщение, которое вы получаете от вертикальной полосы прокрутки: WM_VSCROLL
.
Если вы хотите, чтобы ваши полосы прокрутки имели особое поведение, вы должны разделить их на подклассы и переопределить обработку Сообщения мыши .Как сказано в MSDN ( Элементы управления полосой прокрутки в Win32 ):
Если, однако, вы хотите изменить стандартный вид или функцию полосы прокрутки, вы можете использовать подклассполосы прокрутки на вашем окне или создайте автономный элемент управления.
Вы можете найти примеры кода, который делает это, выполнив поиск по "полосе прокрутки подкласса".
Изменить
Что я пытаюсь сделать, это использовать край полосы прокрутки, чтобы изменить размер моего подокна, это возможно?
Полоса прокруткине способ сделать это.Вместо этого определите окно шириной в несколько пикселей, справа от полосы прокрутки (и высотой).Установите курсор для этого окна как курсор «изменения размера» (чтобы пользователь знал, как щелкать и перетаскивать):
Когда это окно получает сообщение WM_LBUTTONDOWN, оно должноначинайте отслеживать мышь, изменяя ее размеры и перерисовывая каждый раз, когда мышь двигается.Когда окно получает WM_LBUTTONUP, оно должно прекратить отслеживание и оставить ваш элемент управления в новом размере.
Вот код , который поможет вам начать работу с функциями отслеживания мыши.Это для рисования линий, но процесс похож.