在StringGrid中放个Combobox,但当colwidth改变时,Combox 不跟着改变!(15分)

  • 主题发起人 主题发起人 shuiwen
  • 开始时间 开始时间
S

shuiwen

Unregistered / Unconfirmed
GUEST, unregistred user!
如题!,stringGrid没有当Col得宽度改变得事件控制??
 
可以产生下面事件
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin

end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
ComboBox1.Parent := StringGrid1;
ComboBox1.Visible := False;
StringGrid1.Options := StringGrid1.Options + [goRowSelect];
end;

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
ARect : TRect;
begin
if (State = [gdSelected]) and (Screen.ActiveControl = StringGrid1) then
begin
ComboBox1.Visible := True;
ARect := StringGrid1.CellRect(1, ARow);
ComboBox1.SetBounds(ARect.Left, ARect.Top, ARect.Right-ARect.Left, ARect.Bottom);
end;
end;
 
to 楼上兄弟,不能放在StringGrid1DrawCell里边,这样屏幕晃动特别厉害,效果特差!
 
要达到这个目的,恐怕只有这个办法吧 :(
 
那StringGrid中放个Combobox,不能根据宽度调整了,感觉不可思议!
 
自己搞定了!散分了!
 

Similar threads

D
回复
0
查看
889
DelphiTeacher的专栏
D
D
回复
0
查看
857
DelphiTeacher的专栏
D
D
回复
0
查看
808
DelphiTeacher的专栏
D
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
923
SUNSTONE的Delphi笔记
S
后退
顶部