这两种不同的添加方法——结果有何不同?

本文详细解析了FlexGrid配置中的枚举类型及其作用,包括拖放操作、数据粘贴效果、错误代码、外观设置等关键特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如下为第一种:

这种方式添加成员变量以后,并会添加flexgrid相关的类。

如下为第二种:


这种方式添加以后,也会添加FlexGrid相关的类。

 

上述两种结果有何不同?


结论 :

按照添加成员变量的方式时 头文件中多了

enum
{
    flexOLEDragManual = 0,
    flexOLEDragAutomatic = 1
}OLEDragConstants;
enum
{
    flexOLEDropNone = 0,
    flexOLEDropManual = 1
}OLEDropConstants;
enum
{
    flexEnter = 0,
    flexLeave = 1,
    flexOver = 2
}DragOverConstants;
enum
{
    flexCFText = 1,
    flexCFBitmap = 2,
    flexCFMetafile = 3,
    flexCFDIB = 8,
    flexCFPalette = 9,
    flexCFEMetafile = 14,
    flexCFFiles = 15,
    flexCFRTF = -16639
}ClipBoardConstants;
enum
{
    flexOLEDropEffectNone = 0,
    flexOLEDropEffectCopy = 1,
    flexOLEDropEffectMove = 2,
    flexOLEDropEffectScroll = -2147483648
}OLEDropEffectConstants;
enum
{
    flexerrIllegaFunctionCall = 5,
    flexerrObjIllegalUse = 425,
    flexerrClipInvalidFormat = 461,
    flexerrDataObjectLocked = 672,
    flexerrExpectedAnArgument = 673,
    flexerrRecursiveOLEDrag = 674,
    flexerrUserFormatNotBinArray = 675,
    flexerrDataNotSetForFormat = 676,
    flexerrUnknownError = 600,
    flexerrSubscript = 381,
    flexerrBadValue = 380,
    flexerrGetNotSupported = 394,
    flexerrSetNotPermitted = 387,
    flexerrOutOfMemory = 7,
    flexerrVB30000 = 30000,
    flexerrVB30001 = 30001,
    flexerrVB30002 = 30002,
    flexerrVB30004 = 30004,
    flexerrVB30005 = 30005,
    flexerrVB30006 = 30006,
    flexerrVB30008 = 30008,
    flexerrVB30009 = 30009,
    flexerrVB30010 = 30010,
    flexerrVB30011 = 30011,
    flexerrVB30013 = 30013,
    flexerrVB30014 = 30014,
    flexerrVB30015 = 30015,
    flexerrVB30016 = 30016,
    flexerrVB30017 = 30017
}ErrorConstants;
enum
{
    flexFlat = 0,
    flex3D = 1
}AppearanceSettings;
enum
{
    flexBorderNone = 0,
    flexBorderSingle = 1
}BorderStyleSettings;
enum
{
    flexFocusNone = 0,
    flexFocusLight = 1,
    flexFocusHeavy = 2
}FocusRectSettings;
enum
{
    flexHighlightNever = 0,
    flexHighlightAlways = 1,
    flexHighlightWithFocus = 2
}HighLightSettings;
enum
{
    flexScrollBarNone = 0,
    flexScrollBarHorizontal = 1,
    flexScrollBarVertical = 2,
    flexScrollBarBoth = 3
}ScrollBarsSettings;
enum
{
    flexTextFlat = 0,
    flexTextRaised = 1,
    flexTextInset = 2,
    flexTextRaisedLight = 3,
    flexTextInsetLight = 4
}TextStyleSettings;
enum
{
    flexFillSingle = 0,
    flexFillRepeat = 1
}FillStyleSettings;
enum
{
    flexGridNone = 0,
    flexGridFlat = 1,
    flexGridInset = 2,
    flexGridRaised = 3
}GridLineSettings;
enum
{
    flexSelectionFree = 0,
    flexSelectionByRow = 1,
    flexSelectionByColumn = 2
}SelectionModeSettings;
enum
{
    flexMergeNever = 0,
    flexMergeFree = 1,
    flexMergeRestrictRows = 2,
    flexMergeRestrictColumns = 3,
    flexMergeRestrictAll = 4
}MergeCellsSettings;
enum
{
    flexPictureColor = 0,
    flexPictureMonochrome = 1
}PictureTypeSettings;
enum
{
    flexResizeNone = 0,
    flexResizeColumns = 1,
    flexResizeRows = 2,
    flexResizeBoth = 3
}AllowUserResizeSettings;
enum
{
    flexDefault = 0,
    flexArrow = 1,
    flexCross = 2,
    flexIBeam = 3,
    flexIcon = 4,
    flexSize = 5,
    flexSizeNESW = 6,
    flexSizeNS = 7,
    flexSizeNWSE = 8,
    flexSizeEW = 9,
    flexUpArrow = 10,
    flexHourglass = 11,
    flexNoDrop = 12,
    flexArrowHourGlass = 13,
    flexArrowQuestion = 14,
    flexSizeAll = 15,
    flexCustom = 99
}MousePointerSettings;
enum
{
    flexSortNone = 0,
    flexSortGenericAscending = 1,
    flexSortGenericDescending = 2,
    flexSortNumericAscending = 3,
    flexSortNumericDescending = 4,
    flexSortStringNoCaseAscending = 5,
    flexSortStringNoCaseDescending = 6,
    flexSortStringAscending = 7,
    flexSortStringDescending = 8
}SortSettings;
enum
{
    flexAlignLeftTop = 0,
    flexAlignLeftCenter = 1,
    flexAlignLeftBottom = 2,
    flexAlignCenterTop = 3,
    flexAlignCenterCenter = 4,
    flexAlignCenterBottom = 5,
    flexAlignRightTop = 6,
    flexAlignRightCenter = 7,
    flexAlignRightBottom = 8,
    flexAlignGeneral = 9
}AlignmentSettings;

其他地方 包括 cpp文件都完全一样 。

### IE 盒子模型与 W3C 盒子模型的区别 在网页设计和前端开发过程中,了解不同浏览器对盒子模型的不同解释非常重要。IE 浏览器早期版本采用了一种不同于 W3C 标准的盒子模型处理方式,这导致了很多跨浏览器兼容性的挑战。接下来我们将详细介绍这两者的差异及如应对它们。 #### 1. W3C 标准盒子模型 正如之前所介绍,W3C 标准盒子模型将元素的内容宽度 (`width`) 视作纯内容区域的宽度,而不包括 `padding`, `border` 及 `margin` 部分。这意味着如果给定一个固定宽度并加上额外的填充(如 padding)、边框,则整个元素将会比原始设定更宽更高。 **特点:** - 内容区、内边距(padding)、边框(border),外边距(margin)分别独立计算; - 当设置了具体的宽度之后,添加更多 padding 或 border 将扩大整体尺寸; #### 2. IE 盒子模型 (Quirks Mode) 相比之下,在 Internet Explorer 6 及之前的旧版浏览器中,默认使用的是一种称为 Quirks 模式的非标准盒模型——即后来被称为 "IE Box Model" 或 “怪异模式”。在这种模式下: - 设置元素的宽度(`width`)直接包含其自身的 `padding` 和 `border`; - 因此,当您为某个 div 设定了明确的宽度时,无论再怎么增加它的 `padding` 或者 `border` ,该 div 的实际显示宽度依然保持不变; 举个简单的例子来说吧: 假设有一个 `<div>` 元素,按照 W3C 模型设置如下样式: ```css .example-w3c { width: 200px; padding: 20px; border: 5px solid red; } ``` 那么根据上述规则,在 W3C 下它的真实宽度应该是: \[ \text{总宽度} = 200\ px + 2\times(20+5)\ px = 250\ px \] 而同样的 HTML 结构但在 IE 早期内核下的表现却完全不同。如果我们继续沿用相同的 CSS 代码但应用到遵循 IE 盒子模型的情况下,那么 `.example-ie` 的真实宽度将是恰好等于初始声明值 ——也就是仅仅 200px 。这是因为此时的 `padding` 和 `border` 已经被考虑到了最初的 `width` 定义之中了。 #### 对应措施 & 解决策略 为了确保您的网站能够在所有主流现代浏览器上正确地呈现出来,并避免由不同盒模所带来的潜在问题,请采取以下几种策略: 1. **DOCTYPE 声明**: 使用正确的文档类型定义可以强制让浏览器进入 standards-compliance mode (标准遵从模式),从而忽略 quirks-mode 特有的行为特性。 ```html <!DOCTYPE html> ``` 2. **Box-Sizing 属性**: 利用 CSS3 引入的新属性 `box-sizing` 来显式指定希望使用哪种类型的盒模型。通过将其值设置成 `border-box` ,您可以轻松切换至类似于 IE 的盒模型处理机制,同时保证更好的一致性和预测能力。 示例: ```css .use-border-box { -moz-box-sizing: border-box; /* Firefox */ -webkit-box-sizing: border-box; /* Safari 和 Chrome */ box-sizing: border-box; width: 200px; padding: 20px; border: 5px solid blue; } ``` 上述样式的含义是在不影响外部布局的前提下,`.use-border-box` 的可见宽度总是维持在 200px 左右。 总结一下,尽管现在大多数开发者已经不再担心老款 IE 的兼容性难题,但对于一些需要支持非常广泛用户群体的应用程序而言,熟悉这两种不同盒模型的工作原理依然是必要的技能点之一。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值