在richedit控件中使用在richedit 控件的onselecttionchange事件中编写如下代码var row,col:integer;
begin
row:=sendmessage(handle,em_linefromchar,richedit1.SelStart,0);
showmessage(inttostr(row));
col:=richedit1.SelStart -sendmessage(handle,em_lineindex,3,0);
showmessage(format('%d 行 %d列',[row,col]));end;
显示结果一直为0行,列数为各行的类加,这是为什么?请各位大哥赐教!
begin
row:=sendmessage(handle,em_linefromchar,richedit1.SelStart,0);
showmessage(inttostr(row));
col:=richedit1.SelStart -sendmessage(handle,em_lineindex,3,0);
showmessage(format('%d 行 %d列',[row,col]));end;
显示结果一直为0行,列数为各行的类加,这是为什么?请各位大哥赐教!
解决方案 »
- DBGridEh中为什么输入下一个字段时总是自动切换输入法?
- 一个难以解决的问题。
- 如何实现多用户批量提交记录到服务器上 (百分送上 高手快来)
- 怎么将access数据导出到FoxBASE+/Dbase III plus表中
- 在Delphi的IDE下,按Ctrl + Shift + UpArrow(或者DownArrow)为什么没有效果?
- 问题重贴,拜托拜托——websnap的数据集控件使用时出现的问题
- Table控件,用什么方法筛选包含某字符串的记录?
- 当主窗体最小化时,子窗体如何保持不动?
- 很简单:手工设置odbc碰到问题,请各位指教
- 数据库的问题。对于高手是很简单的。我是处学者,帮帮我吧
- 我们这样的公司真的能开发软件吗?
- 如果数据访问冲突怎么办?
var
row, col: Integer;
begin
row := SendMessage(RichEdit1.Handle, EM_LINEFROMCHAR,
RichEdit1.SelStart, 0);
col := RichEdit1.SelStart -
SendMessage(RichEdit1.Handle, EM_LINEINDEX, row, 0);
Inc(row); // 行号
Inc(col); // 列号
ShowMessage(Format('%d 行 %d列',[row, col]));
end;
你上面的row:=sendmessage(handle,em_linefromchar,richedit1.SelStart,0);
错了,handle是窗体的handle,所以都返回0,要改为RichEdit1.Handle。