Skype:TextControlSupport
Orders:877-462-4772
TX Text Control - word processing components.
« »

Is there a table at the current mouse position?

Blogged by Björn Meyer on June 22, 2007 and tagged with Samples, .NET.

In our sample applications, we show how to open a context menu for table properties when the current input position is inside a table. Sometimes, however, it is necessary to open a context menu when the input position is not inside a table. The following source code illustrates how to achieve this.

We can use the InputPosition class to set the caret to the current mouse position. This is especially important, if the right mouse button is used for context menus, as is usually the case.

The input position is not automatically set to the mouse position.

The return values of the mouse event must be converted to twips to match the required unit of the InputPosition class. The Tables.GetItem() method is used to check whether there is a table at the current input position or not.

private void textControl1_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
textControl1.InputPosition = new TXTextControl.InputPosition(new Point(Convert.ToInt32(e.X * dpiX), Convert.ToInt32(e.Y * dpiX)));
if (textControl1.Tables.GetItem() != null)
MessageBox.Show("Table");
}
}

float dpiX = 15;
private void Form1_Paint(object sender, PaintEventArgs e)
{
dpiX = 1440 / e.Graphics.DpiX;
}
« Prev:Apply a boxed frame style to selected cells
» Next:TX Text Control Feature Roadmap

top

Top 10 Bestselling Product Award 2007Top 25 Publisher Product Award 2007Top 10 Bestselling Product Award 2007 in JapanTop 25 Bestselling Product Award 2006Top 25 Bestselling Publisher Award 2006Reader's Choice Award, dot.net magazin, 3rd place