Y youdu Unregistered / Unconfirmed GUEST, unregistred user! 2004-05-10 #1 当一个Memo失去焦点然后又恢复,光标的位置已经变了,请问如何使它保持在失去焦点前的位置呢?
远 远帆 Unregistered / Unconfirmed GUEST, unregistred user! 2004-05-10 #3 procedure TForm1.Memo1Exit(Sender: TObject);<br>begin<br> Memo1.Tag := Memo1.SelStart;<br>end;<br><br>procedure TForm1.Memo1Enter(Sender: TObject);<br>begin<br> Memo1.SelStart := Memo1.Tag;<br> Memo1.SelLength := 0;<br>end;
procedure TForm1.Memo1Exit(Sender: TObject);<br>begin<br> Memo1.Tag := Memo1.SelStart;<br>end;<br><br>procedure TForm1.Memo1Enter(Sender: TObject);<br>begin<br> Memo1.SelStart := Memo1.Tag;<br> Memo1.SelLength := 0;<br>end;
远 远帆 Unregistered / Unconfirmed GUEST, unregistred user! 2004-05-10 #4 如果用tab切换,光标位置不会变,如果用鼠标点,当然会变了。
K kaida Unregistered / Unconfirmed GUEST, unregistred user! 2004-05-10 #5 Memo 本来就具有恢复光标位置的功能。你用 Tab 键移动焦点就知道了。<br>你可能是用鼠标在 Memo 内点击以获得焦点,因鼠标改变了光标的位置,当然跟失去焦点前的位置不同了。