![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
MuForum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: нет Всего: 4 |
Доброе время суток.
- Использую компонент 'PictureBox'. - Необходимо реализовать масштабирования изображения при прокрутке колесика мыши. (Как во всех графических редакторах) - То есть когда крутишь колесико, соответственно меняется размер картинки. Проблема в том, что я не могу отследить это событие. # Вопрос: Есть ли встроенное событие на отслеживание прокрутки колесика? - Если есть, то какое, если нету, то как данную вещь реализовать? P.S. -> В 'C++' можно было реализовать при помощи обработке сообщения 'WM_MOUSEWHEEL', а в C# такого не нашел =( - Если нет, то прейдётся инициализировать хук WH_MOUSE для компонента Picture Box. Это сообщение отредактировал(а) MuForum - 27.8.2008, 02:41 -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
|||
|
||||
marcusmae |
|
||||||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
OMG ![]() Можно использовать событие Control.MouseWheel В примере для Panel регистрируется обработчик :
в котором можно, например, поставить в соответствие движению колеса матрицу сдвига или поворота некоторого объекта :
Состояние колеса можно определять и по другим событиям с callback-ами, в аргументе которых стоит MouseEventArgs : свойство MouseEventArgs.Delta указывает целочисленный "пробег" колеса, положительный или отрицательный, в зависимости от направления, зависящий от константы WHEEL_DELTA, связанной с оптическим разрешением. Это сообщение отредактировал(а) marcusmae - 27.8.2008, 13:00 -------------------- ἀπὸ μηχανῆς θεός |
||||||
|
|||||||
MuForum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: нет Всего: 4 |
#1, - Попробовал сделать, но ноль по массе...
P.S. -> Работает, но только когда фокус у формы. - Спасибо. (Хотя я до этого тоже сделал так, но не допёр, что только когда у формы фокус работает) - В плане, когда фокус у кого-то компонента с формы, то уже сообщение не вылазит. Это сообщение отредактировал(а) MuForum - 27.8.2008, 15:49 -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
|||
|
||||
marcusmae |
|
|||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
Обработчик вызывается при возникновении события именно в том компоненте, для которого зарегистрирован. Дело в этом? Это сообщение отредактировал(а) marcusmae - 27.8.2008, 15:45 -------------------- ἀπὸ μηχανῆς θεός |
|||
|
||||
MuForum |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: нет Всего: 4 |
Ага. Но по сути это правильно. Так что всё нормально. # Добавлено: Я сделал обработчик события компоненту 'TreeView', но теперь в обоих случаях идёт скролиннг, а это не удобно =( - Как можно сделать так, чтобы обработчик прокрутки колёсика фиксировался всегда или как-то передать фокус компоненту PictureBox? - Я делаю:
- Но это не помогает, полюбому при прокрутке колесика реагирует обработчик от компонента TreeView, а не PictureBox. Это сообщение отредактировал(а) MuForum - 27.8.2008, 16:37 -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
||||
|
|||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |