43 lines
		
	
	
		
			737 B
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			737 B
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
#include "StdAfx.h"
 | 
						|
 | 
						|
#include "Tracing.h"
 | 
						|
 | 
						|
static int _trace_level = -1;
 | 
						|
 | 
						|
void SetTracingLevel(int l)
 | 
						|
{
 | 
						|
	_trace_level = l;
 | 
						|
}
 | 
						|
 | 
						|
void EnableTracing(BOOL on)
 | 
						|
{
 | 
						|
	SetTracingLevel(on ? 0xFFFF : -1);
 | 
						|
}
 | 
						|
 | 
						|
BOOL TracingEnabled()
 | 
						|
{
 | 
						|
	return _trace_level >= 0;
 | 
						|
}
 | 
						|
 | 
						|
BOOL Trace(int level, const char* fmt, ...)
 | 
						|
{
 | 
						|
    if (level > _trace_level)
 | 
						|
		return FALSE;
 | 
						|
 | 
						|
	CFrameWnd* pFrame = (CFrameWnd*)AfxGetMainWnd();
 | 
						|
	ASSERT(pFrame);
 | 
						|
	CTreeView* pTreeView = (CTreeView*)pFrame->GetActiveView();
 | 
						|
	ASSERT(pTreeView);
 | 
						|
    CTreeCtrl& pTreeCtrl = pTreeView->GetTreeCtrl();
 | 
						|
 | 
						|
	char msg[256];
 | 
						|
	va_list argptr;
 | 
						|
	va_start(argptr,fmt);
 | 
						|
	vsprintf(msg,fmt,argptr);
 | 
						|
	va_end(argptr);
 | 
						|
 | 
						|
	HTREEITEM hItem = pTreeCtrl.InsertItem(msg, 0, 0);
 | 
						|
	BOOL ok = hItem != NULL;
 | 
						|
 | 
						|
	return ok;
 | 
						|
} |