Переназначить действия для мышиных кнопок
Переназначить действия для мышиных кнопок
Всем доброго дня (утра, вечера, ночи).
Можно ли переназначить действия по умолчанию для кнопок мыши в CADViewerControl и если нельзя, есть ли в вышеупомянутом контроле программная функция Realtime Pan как на правой кнопке мыши по умолчанию?
Можно ли переназначить действия по умолчанию для кнопок мыши в CADViewerControl и если нельзя, есть ли в вышеупомянутом контроле программная функция Realtime Pan как на правой кнопке мыши по умолчанию?
Re: Переназначить действия для мышиных кнопок
Хм... Разобрался.
Re: Переназначить действия для мышиных кнопок
Здравствуйте.
CADViewerControl как и CADEditorControl не предусматривают произвольных обработчиков событий нажатия кнопок мыши. Для реализации собственных обработчиков событий рекомендуем использовать CADPictureBox. Однако вы также можете изменить обработку событий и для CADViewerControl. Cледующий код показывает (на примере CADViewerControl demo) как исключить в приложении, использующем CADViewerControl, панорамирование правой кнопкой мыши а также выбор и зуммирование левой кнопкой:В текущей версии события мыши срабатывают не на самом CADViewerControl, а на CADViewerControl.Controls[1], который является внутренним объектом CADPictureBox. В CADEditorControl аналогично можно использовать свойство PictureBox. Код вы можете дополнить по вашему усмотрению для реализации требуемого функционала.
Программной функции "RealTime Pan" контрол не предоставляет.
Александр.
CADViewerControl как и CADEditorControl не предусматривают произвольных обработчиков событий нажатия кнопок мыши. Для реализации собственных обработчиков событий рекомендуем использовать CADPictureBox. Однако вы также можете изменить обработку событий и для CADViewerControl. Cледующий код показывает (на примере CADViewerControl demo) как исключить в приложении, использующем CADViewerControl, панорамирование правой кнопкой мыши а также выбор и зуммирование левой кнопкой:
Code: Select all
public class MainForm : System.Windows.Forms.Form
{
...
private CADImport.CADImportControls.CADViewerControl cadViewerControl1;
private float LeftImagePosition;
private float TopImagePosition;
private float scale;
...
private void InitializeComponent()
{
...
this.cadViewerControl1.Controls[1].MouseMove += new System.Windows.Forms.MouseEventHandler(this.cadViewerControl1_MouseMove);
this.cadViewerControl1.Controls[1].MouseDown += new System.Windows.Forms.MouseEventHandler(this.cadViewerControl1_MouseDown);
this.cadViewerControl1.Controls[1].MouseUp += new System.Windows.Forms.MouseEventHandler(this.cadViewerControl1_MouseUp);
...
}
private void cadViewerControl1_MouseDown(object sender, MouseEventArgs e)
{
LeftImagePosition = this.cadViewerControl1.LeftImagePosition;
TopImagePosition = this.cadViewerControl1.TopImagePosition;
if (e.Button == MouseButtons.Right)
this.cadViewerControl1.Controls[1].Cursor = Cursors.Default;
if (e.Button == MouseButtons.Left)
{
this.cadViewerControl1.Image.Selector.UndoSelect();
scale = this.cadViewerControl1.ImageScale;
}
}
private void cadViewerControl1_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.cadViewerControl1.LeftImagePosition = LeftImagePosition;
this.cadViewerControl1.TopImagePosition = TopImagePosition;
this.cadViewerControl1.ImageScale = scale;
this.cadViewerControl1.Invalidate();
this.cadViewerControl1.Image.Selector.UndoSelect();
}
}
private void cadViewerControl1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
this.cadViewerControl1.LeftImagePosition = LeftImagePosition;
this.cadViewerControl1.TopImagePosition = TopImagePosition;
}
}
}
Программной функции "RealTime Pan" контрол не предоставляет.
Александр.
Technical Support E-mail: support@cadsofttools.com
Chat support on Skype: cadsofttools.support
Chat support on Skype: cadsofttools.support
Re: Переназначить действия для мышиных кнопок
Спасибо за развернутый ответ.
Уже разобрался в прилагаемых примерах.
Уже разобрался в прилагаемых примерах.