我在程序设计的时候,采用了两个Memo传递数据的问题;具体情形如下:
左边一个memo1,显示所有职位信息;
右边一个memo2,显示用户要求的职位
中间分别有个相左和相右的方向按钮,通过按钮事件实现两边选择的记录的相互传递;该如何实现?
大家有什么好的办法没有?我用memo实现该功能是想到用剪贴板作为中间桥梁,可是实现起来很困难;
左边一个memo1,显示所有职位信息;
右边一个memo2,显示用户要求的职位
中间分别有个相左和相右的方向按钮,通过按钮事件实现两边选择的记录的相互传递;该如何实现?
大家有什么好的办法没有?我用memo实现该功能是想到用剪贴板作为中间桥梁,可是实现起来很困难;
1.在memo中移动的时候光标移动到一行要能选中那一行
2.当选中其中一行 按 添加 或 移去 按钮的时候,要从memo中删除选中行
至于memo1如何随你的数据源初始化以及如何在memo中添加行很简单,使用其lines.add方法即可1.在memo中随光标移动选定当前行:
procedure TForm1.Memo1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
memo1.SelStart:= memo1.Perform(EM_LINEINDEX,memo1.CaretPos.y,0);
memo1.SelLength:=length(memo1.Lines[memo1.CaretPos.y]);
end;
2.在memo1中删除选中行//移除前先在memo2中添加:
procedure TForm1.Button1Click(Sender: TObject);
begin
memo2.lines.add(memo1.SelText);
memo1.SelText:='';
memo1.Lines.Delete(memo1.CaretPos.y);
end;