使用计时器在Windows Metro中使用C ++触发事件

时间:2012-08-22 01:35:54

标签: c++ windows timer microsoft-metro

所以我正在开发一个在倒计时完成后拍照的应用程序。我在Windows 7中使用过win32计时器,但我不知道如何在windows metro中应用它。我需要一些帮助或c ++中的一些示例代码,关于如何在设定的时间到期后触发事件。 在此先感谢您的帮助

2 个答案:

答案 0 :(得分:1)

在C ++中,声明DispatcherTimer,并在其上注册一个事件处理程序。

DispatcherTimer类 - http://msdn.microsoft.com/library/windows/apps/windows.ui.xaml.dispatchertimer

http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatchertimer.aspx

示例代码:

using namespace Windows::UI::Xaml;
using namespace Windows::Foundation;


void Application1::MainPage::Button_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
    DispatcherTimer^ timer = ref new DispatcherTimer;
    timer->Tick += ref new Windows::UI::Xaml::EventHandler(this, &Application1::MainPage::DispatcherTimer_Tick);
    TimeSpan t;
    t.Duration=1000;
    timer->Interval = t;
    timer->Start();
}

void Application1::MainPage::DispatcherTimer_Tick(Platform::Object^ sender, Platform::Object^ e)
{
   // Put TO DO stuff here...
}

答案 1 :(得分:0)

  

Windows::UI::Xaml::DispatcherTimer

该文档包含其使用示例。示例是在C#中,但将其转换为C ++ / CX应该很简单。