#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& rTreeCtrl = pTreeView->GetTreeCtrl(); char msg[256]; va_list argptr; va_start(argptr,fmt); vsprintf(msg,fmt,argptr); va_end(argptr); HTREEITEM hItem = rTreeCtrl.InsertItem(msg); BOOL ok = hItem != NULL; return ok; }