【发布时间】:2014-01-14 14:34:23
【问题描述】:
如果我在 TRichEdit 控件内单击,如何从鼠标客户端坐标中获取 Line 索引(我单击)?
换句话说,如何将客户端坐标转换为线索引?
***编辑 我实际上不是在 TRichEdit 控件内部单击,而是在另一个控件中单击,并且需要与 TRichEdit 控件的行号同步。
【问题讨论】:
标签: c++builder vcl trichedit c++builder-xe5
如果我在 TRichEdit 控件内单击,如何从鼠标客户端坐标中获取 Line 索引(我单击)?
换句话说,如何将客户端坐标转换为线索引?
***编辑 我实际上不是在 TRichEdit 控件内部单击,而是在另一个控件中单击,并且需要与 TRichEdit 控件的行号同步。
【问题讨论】:
标签: c++builder vcl trichedit c++builder-xe5
向 RichEdit 发送 EM_CHARFROMPOS 和 EM_LINEFROMCHAR 消息,例如:
POINTL pt = ...; // client coordinates
int pos = RichEdit1->Perform(EM_CHARFROMPOS, 0, (LPARAM)&pt);
int idx = RichEdit1->Perform(EM_LINEFROMCHAR, pos, 0);
【讨论】: