背景: #EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  
阅读新闻

实用!超强VC/MFC 常见问答收集

[日期:2005-12-30] 作者: [字体: ]

  检查退出标志


BOOL CMyClass::IsDead()
{
return WaitForSingleObject(m_eventDead,0)==WAIT_OBJECT_0;
}
BOOL CMyClass::IsKilling()
{
return WaitForSingleObject(m_eventKill,0)==WAIT_OBJECT_0;
}



  在外部可以这样终止线程


//check if dead
if(!IsDead()&&m_pThreadWrite!=NULL){
m_eventKill.SetEvent();
WaitForSingleObject(m_eventDead,INFINITE);
m_pThreadWrite=NULL;
}




  问:怎么实现IEnumString接口?
  答:http://www.codeproject.com/wtl/customautocomplete_wtl.asp
IAutoComplete and custom IEnumString implementation for WTL dialogs
  下面是我的基于数据库的IEnumString实现


if !defined(AFX_ENUMSTRING_H__4D5D61AD_CD0D_477C_880F_8E5EEB5B1E8F__INCLUDED_)
#define AFX_ENUMSTRING_H__4D5D61AD_CD0D_477C_880F_8E5EEB5B1E8F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// EnumString.h : header file
//

//////////////////////////////////////////////////////////
// CEnumString command target
#include <shldisp.h>
#include "esuihelper.h"

class _ES_UI_EXPORT CEnumString : public IEnumString
{
public:
 CEnumString();           // protected constructor used by dynamic creation
// Attributes
public:
 ULONG m_nRefCount;
// Operations
public:
 STDMETHODIMP_(ULONG) AddRef();
 STDMETHODIMP_(ULONG) Release();
 STDMETHODIMP QueryInterface(REFIID riid, void** ppvObject);






上一页123456789..27下一页  GO
阅读:
打印