internal override IntPtr Read(IntPtr hModule, IntPtr lpRes) {
            switch ((uint)Marshal.ReadInt32(lpRes) >> 16) {
                case 0xFFFF:
                    _dlgtemplate = new DialogExTemplate();
                    break;
                default:
                    _dlgtemplate = new DialogTemplate();
                    break;
            }

            // dialog structure itself
            return _dlgtemplate.Read(lpRes);
        }
        internal override IntPtr Read(IntPtr hModule, IntPtr lpRes)
        {
            switch ((uint)Marshal.ReadInt32(lpRes) >> 16)
            {
            case 0xFFFF:
                _dlgtemplate = new DialogExTemplate();
                break;

            default:
                _dlgtemplate = new DialogTemplate();
                break;
            }

            // dialog structure itself
            return(_dlgtemplate.Read(lpRes));
        }