TI公司提供的开发包中InitSysCtrl()函数的作用

TI公司提供的开发包中InitSysCtrl()函数的作用,第1张

①设置列表视图显示方式

Ⅰ CListCtrl有四种样式:LVS_ICON、LVS_SMALLICON、LVS_LIST、LSV_REPORT,可通过控件属性来设置。本文所述均为LSV_REPORT属性。

Ⅱ 扩展样式:

常用的扩展样式有三种:LVS_EX_FULLROWSELECT、LVS_EX_GRIDLINES、LVS_EX_CHECKBOXES,分别对应作用 选中某行时使正行高亮、设置网格线、item前生成Ckeckbox控件。

使用SetExtendedStyle(style)函数设置扩展样式,使用GetExtendedStyle()函数获取样式,如:

m_listInfoSetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);

Ⅲ 使用CListView时,需要在PreCreateWindow()函数中添加 csstyle | = LVS_REPORT;

来将其设置为LVS_REPORT风格,否则插入无效。还用另一种方法来设置风格,即在OnInitialUpate()中获取CListCtrl控制权,然后修改风格,如下所示:

CListCtrl &theCtrl =GetListCtrl();

theCtrlModifyStyle(0, LVS_REPORT);

②插入 *** 作

先插入列:

int InsertColumn( int nCol, LPCTSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem)

插入列时,可指明列号、列名称、列名称显示样式,列宽等信息。对于列号为0的那一列,始终是靠左显示,后面会有修改使其剧中显示的方法,其他列通过设置nFormat属性可以居中显示。

插入行:

int InsertItem( int nItem, LPCTSTRlpszItem )

直接插入一行,nItem指明行号,lpszItem指明该行第0列的信息。

设置信息:

BOOL SetItemText(int nItem, int nSubItem, LPCTSTR lpszText )

设置第nItem行nSubItem列的信息(nItem:0,1,2,3……; nSubItem:1,2,3……)

③删除 *** 作

有三个 *** 作函数:

BOOL DeleteAllItems() -------删除所有的行

BOOL DeleteItem(nItem) --------删除某一行

BOOL DeleteColumn(nCol) -----删除某一列

④获取/设置属性函数

有很多函数了,就不一一介绍了。常用的有

int GetItemCount() -------- 获取已插入信息的行数

BOOL SetItemState(int iLink, UINTstate, UINTstateMask ) ---------设置行状态,如高亮显示等

CSS的样式分为三类: 

内嵌样式:是写在Tag里面的,内嵌样式只对所有的Tag有效。 

内部样式:是写在HTML的里面的,内部样式只对所在的网页有效。 

外部样式表:如果很多网页需要用到同样的样式(Styles),将样式(Styles)写在一个以css为后缀的CSS文件里,然后在每个需要用到这 些样式(Styles)的网页里引用这个CSS文件。

getComputedStyle是一个可以获取当前元素所有最终使用的CSS属性值。返回的是一个CSS样式对象([object CSSStyleDeclaration]) 

currentStyle是IE浏览器的一个属性,返回的是CSS样式对象

element指JS获取的DOM对象 

elementstyle //只能获取内嵌样式 

elementcurrentStyle //IE浏览器获取非内嵌样式 

windowgetComputedStyle(element,伪类) //非IE浏览器获取非内嵌样式 

documentdefaultViewgetComputedStyle(element,伪类)//非IE浏览器获取非内嵌样式 

注:Gecko 20 (Firefox 4 / Thunderbird 33 / SeaMonkey 21) 之前,第二个参数“伪类”是必需的(如果不是伪类,设置为null),现在可以省略这个参数。

下面的html中包含两种css样式,id为tag的div是内嵌样式,而id为test的div样式为内部样式

<!doctype html>

<html lang="en">

  <head>

    <meta charset="UTF-8">

    <meta name="Generator" content="EditPlus®">

    <meta name="Author" content="Yvette Lau">

    <meta name="Keywords" content="关键字">

    <meta name="Description" content="描述">

    <title>Document</title>

    <style>

      #test{

        width:500px;

        height:300px;

        background-color:#CCC;

        float:left;

      }

    </style>

  </head>

  <body>

    <div id = "test"></div>

    <div id = "tag" style = "width:500px; height:300px;background-color:pink;"></div>

  </body>

</html><script type = "text/javascript">

  windowonload = function(){

    var test = documentgetElementById("test");

    var tag = documentgetElementById("tag");

 

    //CSS样式对象:CSS2Properties{},CSSStyleDeclaration

    consolelog(teststyle); //火狐返回空对象CSS2Properties{},谷歌返回空对象CSSStyleDeclaration{} 

    consolelog(tagstyle); //返回CSS2Properties{width:"500px",height:"300px",background-color:"pink"}

    //elementstyle获取的是内嵌式的style,如果不是内嵌式,则是一个空对象

 

    consolelog(tagstylebackgroundColor);//pink

    consolelog(tagstyle['background-color']);//pink

    //获取类似background-color,border-radius,padding-left类似样式的两种写法啊

 

    consolelog(testcurrentStyle) //火狐和谷歌为Undefined,IE返回CSS对象

    consolelog(windowgetComputedStyle(test,null))//谷歌返回CSSStyleDeclaration{……} ,火狐返回CSS2Properties{……}

    consolelog(windowgetComputedStyle(test))

    //效果同上,但是在Gecko 20 (Firefox 4/Thunderbird 33/SeaMonkey 21) 之前,第二个参数“伪类”是必需的(如果不是伪类,设置为null)

 

    consolelog(testcurrentStylewidth);//500px(IE)

    consolelog(windowgetComputedStyle(test)width); //500px;

    consolelog(windowgetComputedStyle(test)['width']);//500px;

    //documentdefaultViewgetComputedStyle(element,null)[attr]/windowgetComputedStyle(element,null)[attr]   

  }

</script>

①objoffsetLeft:只读。指对象obj的左边框border-left(不包含border-left的大小)到定位的父级元素的左填充padding-left(包含padding-left的大小)的距离,当没有定位的父级时,则相对于body。读取的是数值,没有单位

②objstyleleft:通过style属性,只能读取标签中style属性中的样式,不能读取外部CSS或内部的非行间样式,所以通常是不用它来读取样式的,而是设置样式。说回来,objstyleleft用于设置绝对定位的对象obj的左外边距margin-left(不包含margin-left的大小)到定位的父级元素的左填充padding-left(包含padding-left的大小)的距离,当没有定位的父级时,则相对于body。赋值时需要加单位

③这里的定位的父级元素指:包含对象obj 并设置了position为relative、absolute、fixed的元素。

④关于题主中的“没反应”:首先你左边的offsetLeft是数值,右边加了‘px’后是字符串,类型错误,所以没反应

⑤这里有个IE8的Bug:IE8中的offset系列是包括定位父级的border的。

function getStyle(obj,attr){

if(objcurrentStyle){

return objcurrentStyle[attr]

}

else{

return getComputedStyle(obj,false)[attr]

}

}

好吧 我开始看错了。我以为你要获取兼容样式。这个函数是获取对象属性的值,返回NAN说明对象的属性不是数字值

在函数中出现 变量声明的时候 会将变量放到 当前函数 开始的位置

(1) getComputedStyle 获取元素的样式

不受限制 不管是不是行间样式 都能获取到

仅在IE中使用

(2) offsetWidth; 算边框

获取 元素的 宽度

元素在水平方向上占用的空间的大小

元素宽度+padding-left+padding-right+border-left+border-right

(3) offsetHeight 获取 元素 高度

元素在垂直方向上占用的空间的大小

元素高度+padding-top+padding-bottom+border-top+border-bottom

(4) offsetLeft 元素左外边框至父级元素的左内边框之间的像素距离

(5) offsetTop:元素左上内框至父级元素的上外边框之间的像素距离

(6) clientWidth 不算边框 里面的内容区域

content + padding

元素的 边框内的区域

元素内容区宽度加上左右内边距的宽度 不算边框 里面的内容区域

(7) clientHeight:元素内容区高度加上上下内边距的宽度

(8) styleleft:通过styleleft获取css样式获取的是行间样式

(9) getAttribute 获取 自定义下标

(10)setAttribute 设置 自定义下标

1根据浏览器宽度 以及 每一列的固定宽度 计算 需要多少列

2循环生成每一个元素 将他添加到 父级元素中

3第一行添加完之后 用 数组 将每一列的高度 储存起来

4从第二行开始 每次添加 新的元素时 判断 那一列高度来最小 将新的元素添加到最小高度那一列

5当滚动条接近于底部时时候 加载新的数据

里面的值 是通过 键值对 的形式储存

key value

key 一般情况下 都使用 字符串 的形式;

以上就是关于TI公司提供的开发包中InitSysCtrl()函数的作用全部的内容,包括:TI公司提供的开发包中InitSysCtrl()函数的作用、急!怎么用js提取出span标签内style里的属性值、javascript 关于样式的小问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9268753.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存