////////////////
        /// Get/Put BackgroundPalette
        private void TestBackgroundPalette()
        {
            int    hr;
            OABool BackgroundPalette1, BackgroundPalette2;

            // Read current setting
            hr = m_ivw.get_BackgroundPalette(out BackgroundPalette1);
            Marshal.ThrowExceptionForHR(hr);

            // Flip it
            hr = m_ivw.put_BackgroundPalette(~BackgroundPalette1);
            Marshal.ThrowExceptionForHR(hr);

            // Re-read it
            hr = m_ivw.get_BackgroundPalette(out BackgroundPalette2);
            Marshal.ThrowExceptionForHR(hr);

            // Make sure the value we set is what we just read
            Debug.Assert(BackgroundPalette1 != BackgroundPalette2, "Put/Get BackgroundPalette");

            // Try it the other way

            // Read current setting
            hr = m_ivw.get_BackgroundPalette(out BackgroundPalette1);
            Marshal.ThrowExceptionForHR(hr);

            // Flip it
            hr = m_ivw.put_BackgroundPalette(~BackgroundPalette1);
            Marshal.ThrowExceptionForHR(hr);

            // Re-read it
            hr = m_ivw.get_BackgroundPalette(out BackgroundPalette2);
            Marshal.ThrowExceptionForHR(hr);

            // Make sure the value we set is what we just read
            Debug.Assert(BackgroundPalette1 != BackgroundPalette2, "Put/Get BackgroundPalette");
        }