要求实现一个分列的功能,一段显示在edit下的文字,要能够被分成一列一列的,比如:
No pain,no gain
需要能够从“,”两边开始分成三列,第一列“No pain”,第二列“,”,第三列“no gain”,不同的列需要用不同的背景色区分
No pain,no gain
需要能够从“,”两边开始分成三列,第一列“No pain”,第二列“,”,第三列“no gain”,不同的列需要用不同的背景色区分
解决方案 »
- 网上说PhotoShop第一版的源码公布了70%是PASCAL写的--散分
- cxTreeList的两个问题
- 哪位朋友能讲讲FastReport中的Child是干吗用的?另外,如何补空行?
- 版本问题
- 请教:怎么在Delphi中判断当前系统中是否有winword进程在运行?并且怎么关闭它?
- 关于游戏外挂的法律问题??欢迎大家进行讨论!!
- 怎样对字段进行模糊查询
- 求助
- MIDAS应用中能不能在客户端用TClientDataSet(或其他组件)发送sql语句得到数据?
- D7升级到XE2函数出错
- 求助?同在一个操作界面,为什么我第二次按保存时,就不能通过存储过程向数据库中写数据呢?
- 关于SQL语句查询的问题?
如果是的话,用用ww的,或cx的都行@~~~~~~~~~~~~
代码:
procedure TRuleSetFrm.N1Click(Sender: TObject);//分割
var
i:Integer;
begin
SG1.ColCount:=SG1.ColCount+1;
SG1.Cells[SG1.Selection.Left,0]:=Copy(myEdit.Text,1,myEdit.SelStart);
if SG1.ColCount>2 then for i:=SG1.ColCount-1 downto SG1.Selection.Left+2 do
SG1.Cells[i,0]:=SG1.Cells[i-1,0];
SG1.Cells[SG1.Selection.Left+1,0]:=
Copy(myEdit.Text,myEdit.SelStart+1,Length(myEdit.Text)-myEdit.SelStart);
myEdit.Visible:=False;
ReWidthSG(SG1,charWidth);
if Assigned(labelList) then begin
if SG1.Selection.Left>labelList.Count-1 then labelList.Add(LabelAry2Str(MakeADefaultLabel))
else labelList.Insert(SG1.Selection.Left,LabelAry2Str(MakeADefaultLabel));
end;
end;procedure TRuleSetFrm.SG1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if State=[gdFocused,gdSelected] then begin
myEdit.SetBounds(Rect.Left,Rect.Top,Rect.Right-Rect.Left,Rect.Bottom-Rect.Top);
myEdit.Text:=SG1.Cells[ACol,ARow];
myEdit.Visible:=True;
end;
end;