Hi David
  +        if (m_staticToolbar != NULL)
 +            hr = m_staticToolbar->GetWindow(&hwndStatic);
 +        if (FAILED(hr))
 +            return hr; 
You are using potentially uninitialized variable here. are you compiling
without "-Werror" (or /WX on msvc)?
Keep it up :-)
Greetings
Jérôme