delphi中怎样判断事件触发

2024-05-04 10:30

1. delphi中怎样判断事件触发

我现在来总结楼上两位说的吧:
说白了 OnClick 是一个指针 它可以指向你所为它指定的 过程; 你需要在动态创建Label 的时候将创建出来的Label 的Onclick 事件分配给 一个TNotifyEvent格式 事件. 如
procedure Form1.LabelsClicked(Sender: TObject);
begin

end;
注意它的参数: Sender
其实它是一个指针。 而Sender 此时事实上就是 这个指向你单击的Label 的地址。但是它的类型却是TObject(对象类) 所以,你要手动的将其强制转换为 TLabel类。
这样,你才可以使用TLabel 的方法。
那么你 就按照一楼的办法 将创建的每一个Label 的Onclick 事件都指定给一个函数。比如说: LabelsClicked,那么 接下来。你只需要确定 你点的是那个Label你的办法好像是用Component的Index.那么我可以根据你提供的资料,写出以下代码:
procedure Form1.LabelsClicked(Sender: TObject);
var
  i: Integer;
begin
  for i := 0 to ComponentCount - 1 do begin
      if Components[i] = (Sender As TComponent) //注意这里要将 Sender 转换为TComponent 类型 才可以比较
         then begin
           //当前点击的Label 的Index 为i 执行你需要的代码
  Break;
      end;
  end;
end;

delphi中怎样判断事件触发

2. Delphi中的按键触发事件如何完成

key确实没有定义啊

3. 用时钟触发事件delphi

用timer控件吧
先将timer.interval属性调成100(100ms)
然后再写ontimer时间
例如:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if XXXX = true then form1.close;
end;
注意先将timer.enable属性设为true

用时钟触发事件delphi

4. Delphi DBGrid记录移动是触发什么事件?

DBgrid记录移动一定会触发datasource的ondatachange事件

5. delphi中,我想按字母a,触发一个事件,怎么写?

在Form窗口添加一个事件,代码中会自动添加
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin

end;

然后在begin和end中间写上
if key  = #65 then application.MessageBox('你人品不好,请按“确定”','提示',16);
就可以了

delphi中,我想按字母a,触发一个事件,怎么写?

6. delphi里TreeView1Change怎么用按钮来触发这个事件呢

procedure TForm1.Button1Click(Sender: TObject);
begin
  TreeView1Change(Sender,nil);
end;

7. 利用delphi中radiobutton的选择改变来触发事件。

始终保持一个变量为十进制 
然后分别转换,转换的代码百度一下一大把,搜一下吧。

利用delphi中radiobutton的选择改变来触发事件。

8. delphi form位置移动时触发事件

覆盖窗体的 WndProc方法
procedure TForm1.WndProc(var Msg: TMessage);
begin
  if Msg.Msg = WM_MOVE then         //left: Msg.LParamLo    top:Msg.LParamHi
  begin
    //这里做你想做的事情
    Memo1.Lines.Add('坐标 : ' + IntToStr(Msg.LParamLo) + ':' + IntToStr(Msg.LParamHi));



  end; 
  inherited;

end;