当前位置: 代码迷 >> VC >> 关于现实bmp的有关问题
  详细解决方案

关于现实bmp的有关问题

热度:7166   发布时间:2013-02-25 00:00:00.0
关于现实bmp的问题
小弟有段代码如下,是在一个消息函数中,目的是在一个CStatic窗口中现实一张bmp图,并在10秒后消失。

CStatic   m_success;

                  HBITMAP   hbmp   =   ::LoadBitmap(theApp.m_hInstance,   MAKEINTRESOURCE(IDB_FUJI))   ;
::SetWindowLong(m_success.m_hWnd,   GWL_STYLE,   m_success.GetStyle()   |   SS_BITMAP|SS_CENTERIMAGE);
m_success.SetBitmap(hbmp);
m_success.ShowWindow(SW_SHOW);

//   使用计时,******************************************
//   Create   a   waitable   timer.
HANDLE   hTimer   =   NULL;
LARGE_INTEGER   liDueTime;
liDueTime.QuadPart   =   -10000000;
hTimer   =   CreateWaitableTimer(NULL,   TRUE,   "WaitableTimer ");

//   Set   a   timer   to   wait   for   10   seconds.
SetWaitableTimer(hTimer,   &liDueTime,   0,   NULL,   NULL,   0);

//   Wait   for   the   timer.
if   (WaitForSingleObject(hTimer,   INFINITE)   ==   WAIT_OBJECT_0)
{
m_success.ShowWindow(SW_HIDE);
}

现在问题是,当我注释掉“使用计时”以下的代码时,bmp可以正常现实,而使用这些代码时,却只能看到一个空白的cstatic窗口,

高手点解啊

------解决方案--------------------------------------------------------
后台线程不能直接操作ui线程,最好用sendMessage
------解决方案--------------------------------------------------------
http://topic.csdn.net/t/20040702/12/3140440
  相关解决方案