delphi7的控键栏 当鼠标移时自动显示控件 (注册表)

REGEDIT4
[HKEY_CURRENT_USER\Software\Borland\Delphi\7.0\Extras]
"AutoPaletteSelect"="1"
"AutoPaletteScroll"="1"
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Delphi 7的TDBGrid的每一行中放置按钮,并在新增行自动显示按钮,你可以使用TDBGrid的DrawColumnCell事件来实现。以下是一个简单的示例代码: 1. 首先,在TForm的私有部分声明一个TButton对象列表和一个布尔型的变量用于判断是否显示按钮: ```delphi private FButtons: TList; FShowButton: Boolean; ``` 2. 在Form的OnCreate事件中,初始化列表并设置FShowButton变量为False: ```delphi procedure TForm1.FormCreate(Sender: TObject); begin FButtons := TList.Create; FShowButton := False; end; ``` 3. 在TForm的OnDestroy事件中,释放按钮列表: ```delphi procedure TForm1.FormDestroy(Sender: TObject); var I: Integer; begin for I := 0 to FButtons.Count - 1 do TButton(FButtons[I]).Free; FButtons.Free; end; ``` 4. 编写TDBGrid的DrawColumnCell事件处理程序,在需要显示按钮的单元格中绘制按钮: ```delphi procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var Button: TButton; begin if Column.Index = DBGrid1.Columns.Count - 1 then begin if FShowButton and (not (gdEditing in State)) then begin Button := TButton.Create(DBGrid1); Button.Parent := DBGrid1; Button.Left := Rect.Left + (Rect.Width div 2) - (Button.Width div 2); Button.Top := Rect.Top + (Rect.Height div 2) - (Button.Height div 2); Button.Caption := '按钮'; Button.OnClick := ButtonClick; FButtons.Add(Button); end; end; end; ``` 5. 编写按钮的点击事件处理程序: ```delphi procedure TForm1.ButtonClick(Sender: TObject); begin ShowMessage('按钮被点击了!'); end; ``` 6. 在需要显示按钮的候,将FShowButton设置为True,并调用TDBGrid的Invalidate方法来重绘单元格: ```delphi procedure TForm1.btnAddRowClick(Sender: TObject); begin FShowButton := True; DBGrid1.Invalidate; end; ``` 通过以上步骤,你就可以在TDBGrid的每一行中放置一个按钮,并在新增行自动显示按钮。在点击按钮,会触发相应的事件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值