1.放一个TCombox(cboDy)、一个StringGrid(sgdQry)至窗体,下拉框的DropDowCount>0
2.代码如下:
var
nRow,nCol:integer;
//lost focus
procedure TfrmMain.cboDyExit(Sender: TObject);
begin
sgdQry.Cells[nRow,nCol]:=cboDy.Text;
cboDy.Visible:=false;
end;
//动态显示cboDy
procedure TfrmMain.sgdQrySelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
var
rect:TRect;
begin
with cboDy do
begin
rect:=sgdQry.CellRect(ACol,ARow);
left:=rect.Left+sgdQry.left;
top:=rect.Top+sgdQry.top;
width:=rect.right-rect.left;
height:=rect.Bottom-rect.top;
visible:=true;
end;
end;
procedure TfrmMain.sgdQryDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
with sgdQry do
begin
if not Focused and (ACol=col)and(ARow=Row) then
begin
Canvas.Brush.Color:=Color;
Canvas.FillRect(Rect);
end;
end;
end;
2.代码如下:
var
nRow,nCol:integer;
//lost focus
procedure TfrmMain.cboDyExit(Sender: TObject);
begin
sgdQry.Cells[nRow,nCol]:=cboDy.Text;
cboDy.Visible:=false;
end;
//动态显示cboDy
procedure TfrmMain.sgdQrySelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
var
rect:TRect;
begin
with cboDy do
begin
rect:=sgdQry.CellRect(ACol,ARow);
left:=rect.Left+sgdQry.left;
top:=rect.Top+sgdQry.top;
width:=rect.right-rect.left;
height:=rect.Bottom-rect.top;
visible:=true;
end;
end;
procedure TfrmMain.sgdQryDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
with sgdQry do
begin
if not Focused and (ACol=col)and(ARow=Row) then
begin
Canvas.Brush.Color:=Color;
Canvas.FillRect(Rect);
end;
end;
end;
解决方案 »
- 新手问题:如何在DELPHI中把 Mac OS X 的二进制文件读入TMEMO 中以ASCII显示
- 有没有可以放Delphi软件的便携式数据采集工具呢?
- 菜鸟向高手请教,找不到QuickRep,怎么会这样?谢谢!
- 在RichEdit中如何跳到第一行
- 那个属性可以设置Form的大小不能被改变
- 一个小问题(如何实现这个小功能),在线。
- 请问各位,如何在不知道共有多少个对象的情况下创建,调用此对象
- 写了一套人事考勤薪资门禁食堂管理的系统有愿意帮我测试的吗?
- RICHED20.DLL缓存溢出,解决方法
- 请问长沙有招delphi程序员的吗? [email protected]
- USB接口转换成串形口时,数据信号如何读取?
- 如何锁定DBGRID中的某个单元格。
procedure TfrmMain.sgdQrySelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
begin
...
nRow:=ARow;
nCol:=ACol;
...
相关属性:toprow