/// <summary> Handle the ExposeEvent. </summary>
        /// <param name="e"> The event data. <see cref="XrwExposeEvent"/> </param>
        /// <remarks> Set XrwExposeEvent. Set result to nonzero to stop further event processing. </remarks>
        /// <remarks> This metod is called from applications message loop for windowed widgets only. </remarks>
        public override void OnExpose(XrwExposeEvent e)
        {
            if (_shown == false)
            {
                return;
            }

            Redraw();
            e.Result = 1;             // TRUE
        }
        /// <summary> Handle the ExposeEvent. </summary>
        /// <param name="e"> The event data. <see cref="XrwExposeEvent"/> </param>
        /// <remarks> Set XrwExposeEvent. Set result to nonzero to stop further event processing. </remarks>
        /// <remarks> This metod is called from applications message loop for windowed widgets only. </remarks>
        public virtual void OnExpose(XrwExposeEvent e)
        {
            if (_shown == false)
            {
                return;
            }

            ExposeDelegate expose = Expose;

            if (expose != null)
            {
                expose(this, e);
            }
        }
        /// <summary> Handle the ExposeEvent. </summary>
        /// <param name="e"> The event data. <see cref="XrwExposeEvent"/> </param>
        /// <remarks> Set XrwExposeEvent. Set result to nonzero to stop further event processing. </remarks>
        /// <remarks> This metod is called from applications message loop for windowed widgets only. </remarks>
        public override void OnExpose(XrwExposeEvent e)
        {
            if (_shown == false)
            {
                return;
            }

            base.OnExpose(e);

            foreach (XrwRectObj child in _children)
            {
                child.OnExpose(e);
            }
        }
        /// <summary> Handle the ExposeEvent. </summary>
        /// <param name="e"> The event data. <see cref="XrwExposeEvent"/> </param>
        /// <remarks> Set XrwExposeEvent. Set result to nonzero to stop further event processing. </remarks>
        /// <remarks> This metod is called from applications message loop for windowed widgets only. </remarks>
        public override void OnExpose(XrwExposeEvent e)
        {
            if (_shown == false)
            {
                return;
            }

            base.OnExpose(e);

            foreach (XrwRectObj child in _children)
            {
                if (!(child.HasOwnWindow))
                {
                    child.OnExpose(e);
                }
            }

            e.Result = 1;             // TRUE
        }