
用delphi 做文本编辑器的时候 ,则怎么在状态栏显示文本的 行和列 ?
2个回答
展开全部
procedure TForm1.memo1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
Lpos,Cpos,Linelength:integer;
begin
Lpos:=SendMessage(Memo1.Handle,EM_LineFromChar,Memo1.SelStart,0);
Cpos:=SendMessage(Memo1.Handle,EM_LineIndex,Lpos,0);
LineLength:=SendMessage(Memo1.Handle,EM_LineLength,Cpos,0);
Cpos:=Memo1.SelStart-CPos;
StatusBar1.Panels[0].Text :='当前鼠标位于第'+IntToStr(lpos+1)+'行,第 '+IntToStr(cpos)+'列';
end;
Shift: TShiftState; X, Y: Integer);
var
Lpos,Cpos,Linelength:integer;
begin
Lpos:=SendMessage(Memo1.Handle,EM_LineFromChar,Memo1.SelStart,0);
Cpos:=SendMessage(Memo1.Handle,EM_LineIndex,Lpos,0);
LineLength:=SendMessage(Memo1.Handle,EM_LineLength,Cpos,0);
Cpos:=Memo1.SelStart-CPos;
StatusBar1.Panels[0].Text :='当前鼠标位于第'+IntToStr(lpos+1)+'行,第 '+IntToStr(cpos)+'列';
end;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询