UE4 SetTimer传递参数到回调中

.h
	UFUNCTION()
	void PrintLog(int n);

.cpp
	FTimerHandle handler;
	FTimerDelegate TimerDel;
    TimerDel.BindUFunction(this, TEXT("PrintLog"), 5);
    //这里是用来绑定假如函数没有为UFUNCTION
	//TimerDel.BindUObject(this, &AUsableActorCharacter::PrintLog, 5); 
	GetWorld()->GetTimerManager().SetTimer(handler, TimerDel, 2, true);

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: `SetTimer`函数是Windows API用来创建一个定时器的函数。它的第二个参数是一个回调函数,用来处理定时器事件。这个回调函数的参数含义如下: ```c VOID CALLBACK TimerProc( HWND hwnd, // 与定时器相关联的窗口句柄,如果没有则为NULL UINT uMsg, // 定时器消息,一般为WM_TIMER UINT_PTR idEvent, // 定时器ID,可以用于区分多个定时器 DWORD dwTime // 当前系统时间 ); ``` 其: - `hwnd`:与定时器相关联的窗口句柄,如果没有则为NULL。一般情况下,我们使用定时器时不需要关心它与窗口的关系,因此可以将它设置为NULL。 - `uMsg`:定时器消息,一般为WM_TIMER。在回调函数可以根据这个参数来判断定时器事件的来源。 - `idEvent`:定时器ID,可以用于区分多个定时器。当我们创建多个定时器时,可以为每个定时器分配一个唯一的ID,以便在回调函数区分它们。 - `dwTime`:当前系统时间,以毫秒为单位。在回调函数可以根据这个参数来判断定时器事件的发生时间。 需要注意的是,回调函数的返回值为`VOID`,即没有返回值。如果需要在回调函数传递一些参数,可以使用全局变量或者函数指针等方法来实现。 ### 回答2: 在使用SetTimer函数时,回调函数的参数具体含义如下: 1. HWND hWnd:表示定时器所属的窗口句柄。当定时器超时时,操作系统会向该窗口发送WM_TIMER消息,通过该参数,可以确定定时器是属于哪个窗口的。 2. UINT_PTR nIDEvent:表示定时器的ID。在调用SetTimer函数时,需要给定一个唯一的ID,用于标识该定时器。当定时器超时时,操作系统会通过该参数来确定是哪个定时器触发了超时事件。 3. UINT uElapse:表示定时器的超时时间间隔。以毫秒为单位,指定了定时器触发超时事件的时间间隔。 4. TIMERPROC lpTimerFunc:表示定时器的回调函数指针。当定时器超时时,操作系统会调用该回调函数。回调函数的定义如下:VOID CALLBACK TimerProc(HWND hWnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)。其,hWnd和uMsg参数分别表示定时器所属窗口的句柄和定时器消息,idEvent参数表示定时器的ID,dwTime参数表示当前系统时间。 通过回调函数的参数,我们可以在定时器超时时获取相关的信息,并执行相应的逻辑操作。 ### 回答3: SetTimer函数是Windows操作系统的一个函数,用于创建一个定时器。其函数原型为:UINT_PTR SetTimer(HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc)。 其回调函数lpTimerFunc的参数具体含义如下: 1. hWnd: 表示窗口句柄。该参数指定定时器消息发送至哪个窗口。如果为NULL,则定时器消息被发送至与调用SetTimer函数的线程相关联的窗口。 2. nIDEvent: 表示定时器ID。该参数指定定时器的唯一标识符,用于在回调函数区分不同的定时器。可以使用SetTimer函数创建多个定时器,每个定时器都有一个独立的nIDEvent。 3. uElapse: 表示定时间隔。该参数指定定时器触发的时间间隔,单位为毫秒。当时间间隔达到uElapse时,系统将会发送一个定时器消息给指定的窗口。 4. lpTimerFunc: 表示定时器回调函数的地址。该参数指定一个回调函数的地址,当定时器消息触发时,系统会调用该回调函数。回调函数的定义如下:VOID CALLBACK TimerProc(HWND hWnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)。在回调函数可以根据idEvent的值来判断是哪个定时器触发了消息。 总结起来,SetTimer函数回调函数的参数含义为:指定定时器消息发送至哪个窗口、用于区分不同定时器的唯一标识符、定时器触发的时间间隔以及定时器回调函数的地址。通过这些参数,可以实现定时器的功能,并在回调函数进行相应的处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值