首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

windows编程学习笔记(三)ListBox的使用方法

默认情况是只有一列即一行只有一个字符串,我们可以使用 SetColumnWidth设置列宽 LBS_MULTIPLESEL   用户可以同时选择多项(用户单击一项时这项被选中,单击另一项时,这两项都被选中,选择多项时只需要点击不同的项...获取列表项的高 LB_GETITEMRECT 获取列表项边界矩形的大小 LB_GETLOCALE 获得当前列表的区域,可以通过该区域决定正确的排序规则或者显示排序后的文本 LB_GETSEL 获得列表项的选择状态...LB_GETTEXT  获取指定项的字符串 LB_GETTEXTLEN 获得指定项字符串的长度 LB_GETTOPINDEX 获取列表框中显示的第一列的索引,当使用滚动条使显示内容发生变化时,这个索引也会发生改变...设置水平滚动条的宽度,当列表框的宽度不足以显示所有项的时候,滚动条出现,否则隐藏 LB_SETITEMDATA 设置特定项的值 LB_SETITEMHEIGHT 设置列表项的宽。...].nAge, g_Person[nIndex].pszPhoneNum); InvalidateRect(hWnd, NULL, TRUE); } } 当点击某一项后需要在窗口中显示

3.5K20

窥探现代浏览器架构(四)

点击事件从浏览器进程路由到渲染进程 合成线程接收到输入事件 在上一篇文章中,我们查看了合成线程是如何通过合并页面已经光栅化好的层来保障流畅滚动体验(scroll smoothly)的。...“非快速滚动区域”(Non-fast Scrollable Region)。...由于知道了这些信息,当用户事件发生在这些区域时,合成线程会将输入事件发送给主线程来处理。如果输入事件不是发生在非快速滚动区域,合成线程就无须主线程的参与来合成一个新的帧。...非快速滚动区域有用户事件发生时的示意图 当你写事件监听器的时候留点心眼 Web开发的一个常见的模式是事件委托(event delegation)。...你可以查看Chrome DevTools团队的一些教程来学习如何才能衡量自己网站的性能。

49830
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Web测试检查清单

    比如,当消息队列变满时,溢出的消息是否会丢失,当队列重新获得空间之后,溢出的消息是否能重新载入队列实现正常处理,这都是测试人员需要考虑的问题。...表格是否显示了所有的部分,是否十分正确的排列,文字内容是否处于正确的位置 7、滚动条是否在需要时出现 2.2、数据验证 1、任何时候当输入非法数据时,系统都不能表现糟糕 2、如果用户在产品使用过程中删除...3.1、导航 1、检查滚动条在需要时是否能正确显示 2、验证网页上的所有操作均可以通过键盘操作完成 3、面包屑导航是否存在 4、确保在未保存当前页面时离开页面有用户提示信息 3.2、链接 1、检查站点地图中的所有链接并查看是否存在损坏的链接...(所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问) 4、测试链接URL地址是否符合要求,测试需要登录后才能访问的页面URL是否泄漏用户的相关信息 5、检测需要用户登录后才可访问的URL...,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用 2、测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等

    1.6K10

    来自用户体验大师的100个UX设计建议——上篇

    使用常见的网站模式和界面,不要增加用户的学习成本。 1.png 二、关于滚动页面 6. 只要明确页面下方的折叠区域有更多相关的信息,用户就会向下滚动页面。 7....网站应该提供用户一个强大的视觉指示器,用于滚动页面和查看是否有更多的内容。 8. 网站页面越长,用户滚动到底部的可能性就越小。 9....设计滚动页面的想法很棒,因为滚动页面的速度比点击更快,但注意不要让页面过长。 2.png 三、对比和颜色应用 10....如果用户需要用小拇指去点击手机网站或应用程序,这说明界面上的交互目标太小。 24. 当用户拿着平板电脑时,大拇指最容易接触到的地方是屏幕的两侧和底部。 25....菜单下拉列表应该是垂直的,而不是水平悬停,因为水平滚动要困难得多。 39. Megamenus菜单的设计应该比网页更窄,用户才能很轻松地“点击”菜单。 40.

    1.7K30

    品优购电梯导航案例

    案例分析: 当我们滚动到 今日推荐 模块,就让电梯导航显示出来 点击电梯导航页面可以滚动到相应内容区域 核心算法:因为电梯导航模块和内容区模块一一对应的 当我们点击电梯导航某个小模块...添加current类,兄弟移除类名 当我们页面滚动到内容区域某个模块, 左侧电梯导航,相对应的小li模块,也会添加current类, 兄弟移除current类。...触发的事件是页面滚动,因此这个功能要写到页面滚动事件里面。 需要用到each,遍历内容区域大模块。...each里面能拿到内容区域每一个模块元素和索引号 判断的条件: 被卷去的头部 大于等于 内容区域里面每个模块的offset().top 就利用这个索引号找到相应的电梯导航小li添加类。...实现代码: // 电梯导航 $(function () {    // 每次点击都会执行滚动动画,滚动又会触发添加current类 此时需要节流阀(互斥锁)控制    // 节流阀    var

    1.6K30

    京东面试题:讲一下JVM调优策略

    当然也不能一味的追求GC次数减少,GC次数减少了有可能就会使得单次GC的时间变长,那么就可能会增加单次GC的“停顿时长”,所以需要在这两者之间做一些平衡。 如果获得这些指标?...-XX:NumberOfGCLogFiles=5 滚动GC日志文件数,默认0,不滚动 -XX:GCLogFileSize=20M GC文件滚动大小...原因:如果内存太小,就会导致频繁的需要进行垃圾收集才能释放出足够的空间来创建新的对象,所以增加堆内存大小的效果是非常显而易见的。...注意:不要设置不切实际的停顿时间,单次时间越短也意味着需要更多的GC次数才能回收完原有数量的垃圾....调整内存区域大小比率 现象:某一个区域的GC频繁,其他都正常。 原因:如果对应区域空间不足,导致需要频繁GC来释放空间,在JVM堆内存无法增加的情况下,可以调整对应区域的大小比率。

    43530

    Python爬取炉石传说原画及卡牌抓取

    该网站通过点击查看更多加载新的内容 本打算使用Selenium模拟点击获取图片信息 尝试发现源码中 该按钮并无相应的跳转链接 ? 这不应该啊 没有相应的跳转链接 点击后是如何加载新的图片?...后来浏览整体网站源码后 发现把问题想复杂 根本不需要模拟点击查看更多 ?...网站其实已经加载了所有的卡牌原画 只是之后的原画做了隐藏处理默认不展示 style=display 点击查看更多后 显示原画 那么只需使用requests获取网页源码 用BeautiSoup/正则表达式...怀疑自己 怀疑人生 经前端/后端好友L君的提示 需增加暂停时间 这样才能获得加载渲染后的数据 browser.page_source便可获得动态加载的所有数据 有了数据 之后就很简单 正则匹配获取相应...最后获得了800张原画 1324张卡牌 ? ? 既然获得了这么多卡牌和原画 不能浪费 利用起来 拼图! 致敬下玩了好几年的炉石 ? ? 顺手拼一下女神 ? ? 完毕!

    86310

    Web测试方法总结

    (7)提交数据时,连续多次点击,查看系统会不会连续增加几条相同的数据或报错。(8)若结果列表中没有记录或者没选择某条记录,点击修改按钮,系统会抛异常。...(6)点击某列进行排序,是否会报错(点击查看每一页的排序是否正确)(7)双击或单击某列信息,是否会报错 八、返回键检查1、一条已经成功提交的记录,返回后再提交,是否做了处理2、检查多次使用返回键的情况,...,不乱跳14、有没有提供相关的热键15、控件的提示语描述是否正确16、模块调用是否统一,相同的模块是否调用同一个界面17、用滚动条移动页面时,页面的控件是否显示正常18、日期的正确格式应该是XXXX-XX-XX...(6)Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。(7)为了保证Web应用系统的安全性,日志文件是至关重要的。...黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。压力测试的区域包括表单、登陆和其他信息传输页面等。

    94030

    iVX 倒计时制作

    接着咱们先将初始文本加入其中,并且设置好对应的大小: 这些文本宽度都是33%,这样才能占满一行: 接着添加两个对应的按钮,具体设置宽高不再赘述: 接着创建一个行,命名为记录区域用于记录记下的时间...,设置宽度为 300px,还需要注意的是,为了使其可以滚动,咱们需要对应的为其设置可以y轴裁剪隐藏滚动即可: 接着咱们再到这个行下创建一个循环创建和一个文本: 因为记录事件肯定是一个数组之类的容器...二、事件编写 2.1 点击事件 现在开始制作点击事件计时,咱们可以知道,计时的话肯定是需要一个触发器,那么此时咱们添加一个触发器: 点击按钮即可触发: 接下来还需要更改当前的按钮文本为停止计时...,因为停止计时肯定计时停止,我们预览查看,此时页面将会点击之后显示停止计时,再点击将会恢复显示: 2.2 计时器滚动 我们知道如果使用 秒 分 时计时,那么影响 分 时 的都是秒,60秒1个分,60...10,小于10则赋值这个字符串的值前加一个0即可,那么事件为: 最后显示区域的内容绑定为字符串秒分时即可: 2.3 记录时间 记录时间很简单,创建一个一维数组,直接点击按钮给这个以为数组加值

    1.5K20

    vw, vh视窗宽高单位的使用

    著名的CSS属性可用性查询网站caniuse给出了具体的兼容性表,点击这里查看。...因此,vw单位用做宽度自适应的布局,完全是吃力不讨好得显摆! 我们需要想的是其他一些只能vw, vh才能完成的应用场景,这就是下面依次要展示的内容~~ 五、场景之:元素的尺寸限制 ?...我们应该都做过或见过这样的交互:点击下图,弹框查看原始大图;或者一屏内(不能有滚动条)大图幻灯片浏览。...这类需求让人头疼的地方之一就是原始大图的尺寸限制问题——因为很有可能图片过大,尼玛一屏显示器区域不够放,我们需要对其进行缩放处理。例如:点击这里查看(无论浏览器尺寸多小,图片永远在一屏内显示)。...这类限制的实现,在当下,需要获得图片的原始大小,以及浏览器内部尺寸,算大小,算比例等,算是比较折腾的。

    2.5K10

    吃透移动端 H5 与 Hybrid|实践踩坑12种问题汇总

    由此我们找到解决方案,通过监听 touchmove,让需要滑动的地方滑动,不需要滑动的地方禁止滑动。 值得注意的是我们要过滤掉具有滚动容器的元素。...我们想象一种情景,同时需要点击和滑动的场景下。如果将 click 替换成 touchstart 会怎样?...很容易想象,在我需要touchmove滑动时候,优先触发了touchstart的点击事件,是不是已经产生了冲突呢? 所以呢,在具有滚动的情况下,还是建议使用 click 处理。...产生原因 iPhone X 以及它以上的系列,都采用刘海屏设计和全面屏手势。头部、底部、侧边都需要做特殊处理。才能适配 iPhone X 的特殊情况。...详情请查看文章末尾的参考资料。 兼容性 ? 页面生成为图片和二维码问题 表现 在工作中有需要将页面生成图片或者二维码的需求。可能我们第一想到的,交给后端来生成更简单。

    2.1K20

    无线振弦采集仪参数配置工具的设置

     参数配置区:参数查看与配置的主要操作区域, 对参数的操作都在此区域完成。 实时数据区:自动读取设备内部实时采集到的工作状态和传感器数据并显示。3....图片连接设备在主界面左上角【连接】框内选择正确的端口名称和通讯参数(默认为 115200,N,8,1),点击【连接端口】按钮。...参数的读取与修改配置工具的参数配置区列出了与设备工作相关的所有参数项,每个参数项有【读取】和【修改】两个按钮,点击【读取】按钮获得设备的当前参数值,点击【设置】按钮将当前界面显示的值写入设备。...注:参数修改后,必须点击【 系统】 面板内的【保存参数】按钮才能在下次启动时生效。...实时数据读取点击【 实时数据区】 的【自动读取】复选框,配置工具自动向设备发送数据读取指令,并将设备返回的实时数据更新到此区域显示。

    47020

    Ubuntu 上使用 ADB 备份 Android 数据

    sudo apt install adb 在系统上安装好 ADB 工具以后,需要在 Android 内部启动调试。首先打开 Android 的设置区域。然后一直滚动到底部找到“关于手机”并点击。...在这一页面上再次滚动到底部,找到“版本号”并点击七次,从而启动开发者模式。 为了进入开发者设置,按设备上的返回键返回上一页面。在“设置”中将会出现一个新的选项:“开发者选项”。...点击它进入开发者设置区域。滚动页面直到看到 “Android 调试”(或它的一些其他名称),点击它启用设置。 备份 使用 ADB 创建一个备份就如同运行一个命令一样简单。...这次,不是创建一个密码,而是需要输入之前创建的那个密码。在点击 “恢复我的数据” 以后,恢复进程就开始了。耐心点,因为这可能需要一定时间。...利用它甚至可以获得对设备的 root 访问。事实上,利用这个工具还可以做很多的事情,需要更多的文章来讨论它。

    72010

    移动端必备的H5问题及解决方案

    由此我们找到解决方案,通过监听 touchmove,让需要滑动的地方滑动,不需要滑动的地方禁止滑动。 值得注意的是我们要过滤掉具有滚动容器的元素。...我们想象一种情景,同时需要点击和滑动的场景下。如果将 click 替换成 touchstart 会怎样?...很容易想象,在我需要touchmove滑动时候,优先触发了touchstart的点击事件,是不是已经产生了冲突呢? 所以呢,在具有滚动的情况下,还是建议使用 click 处理。...产生原因 iPhone X 以及它以上的系列,都采用刘海屏设计和全面屏手势。头部、底部、侧边都需要做特殊处理。才能适配 iPhone X 的特殊情况。...有些时候测试环境上没法复现这个 bug,测试环境和生产环境不一致,此时就需要紧急生产调试。 在 PC 端开发时,我们可以直接掉出控制台,使用浏览器提供的工具操作devtools或者查看日志。

    4.7K42

    【交互探讨】无限滚动还是分页展示,这是个问题!

    如果我们想要到达页脚,每次滚动时,我们都需要滚动快一点,以便在新的项目流进入之前获得一个到达页脚的神奇机会。有时用户发现自己面临滚动挑战而同时按下 Esc键以便及时取消无限滚动。...这是否意味着我们可以完全放弃无限滚动?并不是这样的。无限滚动最大的优势是显示结果的速度——当用户想要查看更多内容时才直接显示新项目。事实证明,有一些技巧和策略可以让无限滚动变得更好。...一个很好的例子是 Dahmakan,它是来自马来西亚吉隆坡的送餐服务(目前没有无限滚动)。值得强调的是,页脚也应该可以通过键盘导航访问,而不仅仅是点击或点击打开。...(可在原文中查看视频案例) 将分页和无限滚动结合在一起 - 以及屏幕底部的粘性页脚。 但是,我们如何处理“返回”按钮?...迷你地图上的标记区域 我们还可以让它变得更有用,通过允许用户将感兴趣的区域标记或添加书签,这样他们就可以更快地返回收藏夹。

    3.3K20

    Mac电脑必备屏幕截图软件,Snagit

    捕获整个桌面,区域,窗口或滚动屏幕。 4.只需点击几下即可修改获得一整套编辑工具。并自己创建图像。编辑屏幕截图或构建自定义图形。无需与设计师合作。...或者获取一个简短的URL,与任何人分享您的屏幕截图和录音。 6.屏幕截图 All-in- OneCapture®只需单击并拖动十字准线即可获得每次完美的截图。...所有-in-One的拍摄®抓住你的整个桌面,一个地区,一个窗口或滚动屏幕。只需一个热键或点击即可抓取任何网页或应用程序或捕获视频。 滚动屏幕捕获获取整页滚动屏幕截图。...修剪视频剪辑 从屏幕录制中删除任何不需要的部分。剪切视频开头,中间和结尾的任何部分。...调整图像大小 将图像调整到正确的大小,直到像素。使用“调整大小”选项输入新尺寸以缩放图像的大小。

    1.9K40

    【Hybrid】518- 12种移动端 H5 与 Hybrid问题汇总

    由此我们找到解决方案,通过监听 touchmove,让需要滑动的地方滑动,不需要滑动的地方禁止滑动。 值得注意的是我们要过滤掉具有滚动容器的元素。...我们想象一种情景,同时需要点击和滑动的场景下。如果将 click 替换成 touchstart 会怎样?...很容易想象,在我需要touchmove滑动时候,优先触发了touchstart的点击事件,是不是已经产生了冲突呢? 所以呢,在具有滚动的情况下,还是建议使用 click 处理。...产生原因 iPhone X 以及它以上的系列,都采用刘海屏设计和全面屏手势。头部、底部、侧边都需要做特殊处理。才能适配 iPhone X 的特殊情况。...详情请查看文章末尾的参考资料。 兼容性 ? 页面生成为图片和二维码问题 表现 在工作中有需要将页面生成图片或者二维码的需求。可能我们第一想到的,交给后端来生成更简单。

    1.4K22

    Python抓取炉石传说卡牌,做一个女神的拼图游戏

    炉石传说原画1 炉石传说原画2 本打算使用Selenium模拟点击获取图片信息  尝试发现源码中 该按钮并无相应的跳转链接 这不应该啊 没有相应的跳转链接 点击后是如何加载新的图片?...后来浏览整体网站源码后 发现把问题想复杂 根本不需要模拟点击查看更多 网站其实已经加载了所有的卡牌原画 只是之后的原画做了隐藏处理默认不展示  style=display 点击查看更多后 显示原画 那么只需使用...首先要做的是先大体浏览分析整个网页的源代码  有的可能直接写在源码或json或js中 无需再加工 炉石传说卡牌链接 炉石传说卡牌 该网站通过下拉右边的滚动条不断加载新的卡牌 与上一个网站不同  ...使用selenium执行js脚本 每次执行下拉1000个单位滚动条 执行90次 为什么是90次 测试出来的 大概90次拉到底 注意:这里要增加1~3秒的暂停时间 用于网页渲染 第一次没有设置停留时间...无法获取新的数据  怀疑自己 怀疑人生 经前端/后端好友L君的提示 需增加暂停时间 这样才能获得加载渲染后的数据 browser.page_source便可获得动态加载的所有数据 有了数据 之后就很简单

    1.2K20

    你应该知道的网页设计中的规则和禁忌

    如果用户是通过手机访问你的网站,他们应该能毫不费劲的找到他们需要的所有东西,就像他们在家里通过桌面端查看你的网站一样。 2.设计一个简洁,易用的导航 导航是可用性的基石。...视觉层次结构是指以暗示重要性的方式安排或呈现元素(例如,他们的眼睛应该集中在拿了? 第一、第二等) 将屏幕标题,登录表单,导航项目或其他重要内容等重要内容标记重点,以便访问者可立即查看。 ?...视觉元素看起来像是链接或按钮,但不可点击(即,有下划线的单词没有链接,具有文字动作的元素,但不是超链接)这样很有可能会使用户混淆。用户需要知道页面的哪些区域是纯静态内容,哪些区域是可点击的。...不要说任何看起来像广告的东西通常会被用户忽略(这种现象被称为旗帜盲点) ? 4.劫持滚动 劫持滚动是设计师和开发者通过操纵滚动条来使网站表现的不同。...这些元素应谨慎使用,只有在适当的时候和可预期的情况下才能使用。 ? Facebook视频设置为自动播放,但不会出现任何声音,除非用户有意图以某种方式观看视频(例如通过视频进行交流)。

    1.4K40

    第 15 篇:优化博客功能的细节,提升使用体验—— HelloDjango 系列教程

    显示正确的评论量 有两处地方显示的评论量(首页文章列表和文章详情页),显示评论量的方法很简单。回顾一下我们是如何获取某篇文章下的评论列表的?...将评论量替换成该模板变量就可以正确显示文章的评论数了。 跳转评论区域 有时候文章内容长了,评论列表的内容就需要滚动很长的页面才能看到。...我们可以在评论区域增加一个锚点,2 处显示评论量的地方超链接都指向这个锚点处,这样点击这两个地方将直接跳转到评论列表区域,方便用户快速查看评论内容。... 我们已经给评论区域的标签设置了 id,只需要在评论的链接后加上这个 id 的锚点即可: blog/index.html ...网站需要提供新浪微博、微信等社交账号的登录等等,这些都可以借助 django 第三方应用快速完成,而我们自己只需要写很少量的代码就可以了。

    54020
    领券