我在一个界面中使用了一个picture控件,根据程序状态不同更改图片,我写了重新载入图片的代码后后面接的是一个线程,可是程序执行时,一更改图片后图片不可见了,而等带线程结束后才显示出来,这是为什么呢?
解决方案 »
- 求助 UDP server
- CMFCPropertyGridCtrl如何实现与Listctrl一样的行间隔不同颜色的效果?
- 我想做生意,但又不想放弃写软件,矛盾啊
- directshow中麦克风控制问题
- error C2143
- 如何在richedit插入一个字符
- 为什么我提取出来的位图为有偏移的现象.看了全部程序也没找出原因!!
- 这几天做了一个用于录制/播放系统消息的程序,大家来看看好吗?
- how can i input chinese in linux ???
- SDK可中用CreatMenu()建的菜单用完后是否要删除?
- Doc中如何获得View的指针?
- 如何在Dialog程序中应用CStrollView??
m_Info.nCode = 0;
strcpy(m_Info.szServerName, (LPCTSTR)m_ServerStr);
hBitmap = ::LoadBitmap(AfxGetApp()->m_hInstance,
MAKEINTRESOURCE(IDB_IDLE_SERVER));
m_Picture.SetBitmap(hBitmap);
Sleep(1);
SetWindowState(2);//窗体界面控制
AfxBeginThread((AFX_THREADPROC)(SW_StartService), (LPVOID)&m_Info,
0, 0, 0, NULL);//线程
int SW_IsStartup(ServerInfo *pInfo)
{
HRESULT hr;
SC_HANDLE hSCM;
SC_HANDLE hService;
SERVICE_STATUS ssStatus;
// Open a connection to the service control manager.
hSCM = OpenSCManager(pInfo->szServerName, NULL, SC_MANAGER_CONNECT);
// Open the Windows Media service.
hService = OpenService(hSCM, DATASERVICE, SERVICE_STOP | SERVICE_START |
SERVICE_QUERY_STATUS);
hr = QueryServiceStatus(hService, &ssStatus);
if (!hr) {//网络路径不存在
::SendMessage(pInfo->hWnd, WM_THEADRESULT, 6, NULL);
return 0;
}
if (ssStatus.dwCurrentState == SERVICE_RUNNING){//正在运行
::SendMessage(pInfo->hWnd, WM_THEADRESULT, 0, NULL);
return 1;
}
else{//停止状态
::SendMessage(pInfo->hWnd, WM_THEADRESULT, 1, NULL);
return 0;
}
CloseServiceHandle(hService);
CloseServiceHandle(hSCM);}