当前位置:首页 » 背景图片 » duilib背景图片
扩展阅读
圆领大衣内搭什么图片 2024-11-08 18:27:35
改变软件图片的App 2024-11-08 18:19:47

duilib背景图片

发布时间: 2022-05-30 11:06:25

1. ilib 中 richedit 文本内容怎么样才能够实现复制

现在有很多网页不能复制,现收集一些可取方法:

一屏蔽右键的破解方法
1、出现版权信息类的情况。
破解方法:在页面目标上按下鼠标右键,弹出限制窗口,这时不要松开右键,将鼠标指针移到窗口的“确定”按钮上,同时按下左键。现在松开鼠标左键,限制窗口被关闭了,再将鼠标移到目标上松开鼠标右键。
2出现“添加到收藏夹”的情况。
破解方法:在目标上点鼠标右键,出现添加到收藏夹的窗口,这时不要松开右键,也不要移动鼠标,而是使用键盘的Tab键,移动光标到取消按钮上,按下空格键,这时窗口就消失了,松开右键看看,wonderful!右键恢复雄风了!将鼠标移动到你想要的功能上,点击左键吧
3超链接无法用鼠标右键弹出“在新窗口中打开”菜单的情况。
破解方法:这时用上面的两种方法无法破解,看看这一招:在超链接上点鼠标右键,弹出窗口,这时不要松开右键,按键盘上的空格键,窗口消失了,这时松开右键,可爱的右键菜单又出现了,选择其中的“在新窗口中打开”就可以了。
4、在浏览器中点击“查看”菜单上的“源文件”命令,这样就可以看到html源代码了。不过如果网页使用了框架,你就只能看到框架页面的代码,此方法就不灵了,怎么办?你按键盘上的“Shift+F10”组合键试试。
5、看见键盘右Ctrl键左边的那个键了吗?按一下试试,右键菜单直接出现了!
6、在屏蔽鼠标右键的页面中点右键,出现限制窗口,此时不要松开右键,用左手按键盘上的“ALT+F4”组合键,这时窗口就被关闭了,松开鼠标右键,菜单出现了

二、不能复制的网页解决方法
1、启动IE浏览器后,用鼠标点击“工具”中的Internet“选项”菜单,选择“安全”选项卡,接下来点击“自定义级别”按钮,在弹出的窗口中将所有脚本全部选择禁用,确定。然后按F5刷新页面,这时我们就能够对网页的内容进行复制、粘贴等操作。当你收集到自己需要的内容后,再用相同步骤给网页脚本解禁,这样就不会影响到我们浏览其他网页了。你或者选文件另存,格式为TXT,然后排版也可以。
2、左键限制,不让拖动,无法选择内容,怎么办,简单,点右键,点查看源文件,将之前的东东全部DEL,点另存为*。HTM,打开,是不是可以拖了
3、点??查看 --原文件--使用替换法把也替换成空格,再保存为htm格式的文件,注意在文件名两头要加上英文字符的"",或在保存类型下拉列表里选择“所有类型”,文件名样例"001.htm"
或者直接在你的IE中选择“文件”的“保存”或“另存”
4、如果只为了保存文字以备以后查阅,最简单快速的方法是另存为“Web页,仅HTML”类型。选‘文件’菜单中的‘另存为’命令,然后鼠标点击‘保存类型’方框右边的小三角,选第三种‘Web页,仅HTML’类型,在‘保存在’方框处选择要存放的位置,然后选‘保存’按钮即将该网页保存到你的电脑里。(不过这种保存的缺点是只保存文字,没有图片) 注意:这种保存后的网页只是便于收藏和查看,网页内容还是不能复制,如果要复制文字内容,还是要提高浏览器的安全级别后才能复制。
5、把该事件的JavaScript处理代码去掉即可。以微软的IE浏览器为例,具体处理过程如下:点击“查看→源文件”(当主页文本小于64k字节时,自动调用记事本程序打开;否则,用写字板程序打开),寻找语句, 语句类似。将其中的onselectstart="return?false"子句删除。将此删除后的源文件,另存为一文本文件。然后用将此文本文件名的后缀改名为“.htm”。最后用IE浏览器打开此文件。就可以用复制、粘贴的方法将所需的内容按用户所需的格式保存起来了。
6、选择“文件”—“另存为”,把“保存类型”改为“文本文件(TXT)”,把网页另存为文本文件,一切都搞定了。
7、对网页禁止复制和屏蔽右键的通用破解方法:小工具――超星图书浏览器!安装上软件后在需要复制的页面上点右键,会出现“导出当前页到超星图书浏览器”,然后会通过这个工具打开页面,此时无论操作都可以!右键菜单全出来了!方法很简单!需要复制页面的。
还有:
第一步:打开你想要复制的那个网站
第二步:将该网页另存到你的电脑上(文件|另存为)
第三步:用记事本打开你刚保存的网页,找到<body onselectstart = "return false"; onpaste="return false" >这段代码(不一定完全是这样的),你把里面的代码(除body)全部删除,最后就剩<body>,保存文件。
第四步:双击刚保存的文件,也就打开保存的那张网页。

网上一些文章,自己加了设置,不让人复制,想复制,怎么办,可采用以下办法尝试。
一、就是保存网页,然后复制
二、在查看-原代码-下看但所要的文字
三、就是换了浏览器,要知道禁用SCRIPT,你换个浏览器就OK
四、用左键选择,Ctrl+C复制,然后打开记事本,Ctrl+V粘贴。对图片无效图片的按print screen抓屏,在画笔里粘贴。点Print Screen SysRq键.这是全屏接图.然后到程序--附件--画图工具--编辑里面去,按个粘贴.这样把你要的东西复制下来
教你一招:解决网页文字无法复制的问题
我们在浏览某些网页时,有的时候你想选取某些文本进行复制,可按住鼠标左键拖动,无论如何也无法选中需要的文字。这是网页的设计者给它加入了不能选中的脚本,简单防止别人拷贝其网页内容。其实解决的办法很简单,你可以通过单击IE浏览器的“工具/Internet选项”菜单,进入“安全”标签页,单击“自定义级别”按钮,在打开的“安全设置”对话框中,将所有“脚本”选项禁用,确定后按F5键刷新网页,你就会发现那些无法选取的文字可以选取了。注意的是在采集到了自己需要的内容后,记得给脚本解禁,否则会影响我们浏览网页。
此外,你也可以直接按住“Ctrl+A”键将网页中的全部内容选中,接着单击“编辑”菜单的“复制”命令,然后将这些内容粘贴到Word文档或记事本中,再从Word文档或记事本中选取需要的文字进行复制。
把整个网页保存成文本文件 方法如下
打开要保存的网页
点文件--另存为-然后在保存类型中选择 文本文件(txt)
然后保存就好了
有人曾经教过我一个办法解决不能复制的网页:
点开工具栏上的“查看”,找到“查看源文件”。可以打开一个文本文件,在里面可以找到网页的内容,就可以复制了。
如果不能右键复制,那就点菜单中"查看",再点"源文件",这时网页内容就是完全的记事本TXT文件,找到相关内容再复制就可以了.
如何破解网页不能复制文字
来源:原创
上网时经常会遇到自己想要的资料,但用鼠标来选中复制时却无法选中,遇到这样的情况是不是就此打住了呢?
当然不是!现在就让我来告诉你怎么复制这些你想要的文字。
首先,我们来了解一下为什么不能被复制。
当前很多网页制做者都不想让自己网页中的内容直接就让人给复制去,有的是为了版权、有的是为了让人再回来看这段文字,提高他的访问量等等,具体原因我也说不清的啦。他们一般会在网页代码 <body >中加入以下一个或多个代码:
onpaste="return false" 不准粘贴
on="return false;" 不准复制
oncut="return false;" 防止剪切
onselectstart = "return false" 不准选择
例如:<body onselectstart = "return false"; onpaste="return false" >,这是一个典型的不让选择复制的语句。
好啦,现在我们知道为什么不能被复制了,那我们就可以针对这些代码下药了。
第一步:打开你想要复制的那个网站
第二步:将该网页另存到你的电脑上(文件|另存为)
第三步:用记事本打开你刚保存的网页,找到<body onselectstart = "return false"; onpaste="return false" >这段代码(不一定完全是这样的),你把里面的代码(除body)全部删除,最后就剩<body>,保存文件。
第四步:双击你刚保存的文件,也就打开民你的那张网页。
到此,所有步骤全部结束了,用鼠标选择你想要的那些文字,是不是可以选择并且复制下来了?

一般而言,如果打开某个网页,你感觉内容不错,需要复制或者另存为下载保存时,碰到不能出现右键菜单的情形时,你至少可以有三种以上的方法处理:一是通过使用IE浏览器“文件”下拉菜单中的“发送”之“电子邮件页面”的操作,在电子邮件页面中去复制,从而实现下载的目的。二是可以通过使用IE浏览器“的编辑器功能,如WORD等软件,在编辑状态下可以实现复制和下载。三是可以通过使用IE浏览器”查看“菜单之”源文件“功能,在弹出的窗口中可以找到你需要复制和下载的内容,但没有格式。除此之外,还可以通过其他比较具有特殊功能的浏览器,如火狐等,实现一般IE浏览器所不能实现的功能。
但是,有时你按照上述三种或者多种途径仍然不能实现复制或者下载的目的时,我便提醒诸位,还有另一绝招,即通过查找相关标题内容的网页快照的办法,目前网络、GOOGLE等搜索引擎都具有网页快照的功能,这当然是复制和下载的最好办法。

2. ilib的Option属性设置

<Controls>
<Window parent="">
<Attribute name="size" default="0,0" type="SIZE" comment="窗口的初始化大小,如(800,600)"/>
<Attribute name="sizebox" default="0,0,0,0" type="RECT" comment="窗口可拖动改变窗口大小的边距,如(4,4,6,6)"/>
<Attribute name="caption" default="0,0,0,0" type="RECT" comment="窗口可拖动的标题栏大小的边距,最后一个参数是指离上边框的距离,如(0,0,0,28)"/>
<Attribute name="roundcorner" default="0,0" type="SIZE" comment="窗口圆角大小,如(4,4)"/>
<Attribute name="mininfo" default="0,0" type="SIZE" comment="窗口最小大小,如(320,240)"/>
<Attribute name="maxinfo" default="0,0" type="SIZE" comment="窗口最大大小,如(1600,1200)"/>
<Attribute name="alpha" default="255" type="BYTE" comment="窗口的alpha值(0-255),如(100)"/>
<Attribute name="bktrans" default="false" type="BOOL" comment="窗口是否使用静态透明背景,如(false)"/>
<Attribute name="disabledfontcolor" default="0xFFA7A6AA" type="DWORD" comment="默认的disabled字体颜色,如(0xFFA7A6AA)"/>
<Attribute name="defaultfontcolor" default="0xFF000000" type="DWORD" comment="默认的字体颜色,如(0xFF000000)"/>
<Attribute name="linkfontcolor" default="0xFF0000FF" type="DWORD" comment="默认的link字体颜色,如(0xFF0000FF)"/>
<Attribute name="linkhoverfontcolor" default="0xFFD3215F" type="DWORD" comment="默认的linkhoverfont字体颜色,如(0xFFD3215F)"/>
<Attribute name="selectedcolor" default="0xFFBAE4FF" type="DWORD" comment="默认的selected字体颜色,如(0xFFBAE4FF)"/>
<Attribute name="showdirty" default="false" type="BOOL" comment="绘制脏矩形(屏幕上更新的区域被称为脏矩形)"/>
</Window>
<ChildLayout parent="Container" >
<Attribute name="xmlfile" default="" type="STRING" comment="子窗体XML布局文件"/>
</ChildLayout>
<Control parent="" notifies="setfocus killfocus timer menu windowinit(root)">
<Attribute name="name" default="" type="STRING" comment="控件名字,同一窗口内必须唯一,如(testbtn)"/>
<Attribute name="pos" default="0,0,0,0" type="RECT" comment="位置,如果为float控件则指定位置和大小,否则只指定大小,如(0,0,100,100)"/>
<Attribute name="padding" default="0,0,0,0" type="RECT" comment="外边距,如(2,2,2,2)"/>
<Attribute name="bkcolor" default="0x00000000" type="DWORD" comment="背景颜色,如(0xFFFF0000)"/>
<Attribute name="bkcolor2" default="0x00000000" type="DWORD" comment="背景渐变色2,和bkcolor配合使用,如(0xFFFFFF00)"/>
<Attribute name="bkcolor3" default="0x00000000" type="DWORD" comment="背景渐变色3,和bkcolor、bkcolor2配合使用,如(0xFFFF00FF)"/>
<Attribute name="bordercolor" default="0x00000000" type="DWORD" comment="边框颜色,如(0xFF000000)"/>
<Attribute name="focusbordercolor" default="0x00000000" type="DWORD" comment="获得焦点时边框的颜色,如(0xFFFF0000)"/>
<Attribute name="colorhsl" default="false" type="BOOL" comment="本控件的颜色是否随窗口的hsl变化而变化,如(false)"/>
<Attribute name="bordersize" default="0" type="INT | RECT" comment="可以设置INT或RECT类型的值。当值为ING时则左、上、右、下都用该值作为宽。值为RECT类型时则分别设置左、上、右、下的边框"/>
<Attribute name="leftbordersize" default="0" type="INT" comment="左边边框大小,如(1),设置该值大于0,则将忽略bordersize属性的设置"/>
<Attribute name="topbordersize" default="0" type="INT" comment="顶部边框大小,如(1),设置该值大于0,则将忽略bordersize属性的设置"/>
<Attribute name="rightbordersize" default="0" type="INT" comment="右边边框大小,如(1),设置该值大于0,则将忽略bordersize属性的设置"/>
<Attribute name="bottombordersize" default="0" type="INT" comment="底部边框大小,如(1),设置该值大于0,则将忽略bordersize属性的设置"/>
<Attribute name="borderstyle" default="0" type="INT" comment="边框样式的设置,数值范围0-5"/>
<Attribute name="borderround" default="0,0" type="SIZE" comment="边框圆角半径,如(2,2)"/>
<Attribute name="bkimage" default="" type="STRING" comment="背景图片,如(bk.bmp或file='aaa.jpg' res='' restype='0' dest='0,0,0,0' source='0,0,0,0' corner='0,0,0,0' mask='#FF0000' fade='255' hole='false' xtiled='false' ytiled='false')"/>
<Attribute name="width" default="0" type="INT" comment="控件预设的宽度,如(100)"/>
<Attribute name="height" default="0" type="INT" comment="控件预设的高度,如(30)"/>
<Attribute name="minwidth" default="0" type="INT" comment="控件的最小宽度,如(100)"/>
<Attribute name="minheight" default="0" type="INT" comment="控件的最小高度,如(30)"/>
<Attribute name="maxwidth" default="9999" type="INT" comment="控件的最大宽度,如(100)"/>
<Attribute name="maxheight" default="9999" type="INT" comment="控件的最大高度,如(30)"/>
<Attribute name="text" default="" type="STRING" comment="显示文本,如(测试文本)"/>
<Attribute name="tooltip" default="" type="STRING" comment="鼠标悬浮提示,如(请在这里输入你的密码)"/>
<Attribute name="userdata" default="" type="STRING" comment="自定义标识"/>
<Attribute name="enabled" default="true" type="BOOL" comment="是否可以响应用户操作,如(true)"/>
<Attribute name="mouse" default="true" type="BOOL" comment="本控件是否可以响应鼠标操作,如(true)"/>
<Attribute name="visible" default="true" type="BOOL" comment="是否可见,如(true)"/>
<Attribute name="float" default="false" type="BOOL" comment="是否使用绝对定位,如(true)"/>
<Attribute name="shortcut" default="" type="CHAR" comment="对应的快捷键,如(P)"/>
<Attribute name="menu" default="false" type="BOOL" comment="是否需要右键菜单,如(true)"/>
<Attribute name="keyboard" default="true" type="BOOL" comment="非CButtonUI类忽略该值,为false时不支持TAB_STOP,且该对象不处理键盘信息"/>
</Control>
<Container parent="Control" notifies="setfocus killfocus timer menu windowinit(root)">
<Attribute name="name" default="" type="STRING" comment="控件名字,同一窗口内必须唯一,如(testbtn)"/>
<Attribute name="pos" default="0,0,0,0" type="RECT" comment="位置,如果为float控件则指定位置和大小,否则只指定大小,如(0,0,100,100)"/>
<Attribute name="padding" default="0,0,0,0" type="RECT" comment="外边距,如(2,2,2,2)"/>
<Attribute name="bkcolor" default="0x00000000" type="DWORD" comment="背景颜色,如(0xFFFF0000)"/>
<Attribute name="bkcolor2" default="0x00000000" type="DWORD" comment="背景渐变色2,和bkcolor配合使用,如(0xFFFFFF00)"/>
<Attribute name="bkcolor3" default="0x00000000" type="DWORD" comment="背景渐变色3,和bkcolor、bkcolor2配合使用,如(0xFFFF00FF)"/>
<Attribute name="bordercolor" default="0x00000000" type="DWORD" comment="边框颜色,如(0xFF000000)"/>
<Attribute name="focusbordercolor" default="0x00000000" type="DWORD" comment="获得焦点时边框的颜色,如(0xFFFF0000)"/>
<Attribute name="colorhsl" default="false" type="BOOL" comment="本控件的颜色是否随窗口的hsl变化而变化,如(false)"/>
<Attribute name="bordersize" default="1" type="INT" comment="边框大小,如(1)"/>
<Attribute name="borderround" default="0,0" type="SIZE" comment="边框圆角半径,如(2,2)"/>
<Attribute name="bkimage" default="" type="STRING" comment="背景图片,如(bk.bmp或file='aaa.jpg' res='' restype='0' dest='0,0,0,0' source='0,0,0,0' corner='0,0,0,0' mask='#FF0000' fade='255' hole='false' xtiled='false' ytiled='false')"/>
<Attribute name="width" default="0" type="INT" comment="控件预设的宽度,如(100)"/>
<Attribute name="height" default="0" type="INT" comment="控件预设的高度,如(30)"/>
<Attribute name="minwidth" default="0" type="INT" comment="控件的最小宽度,如(100)"/>
<Attribute name="minheight" default="0" type="INT" comment="控件的最小高度,如(30)"/>
<Attribute name="maxwidth" default="9999" type="INT" comment="控件的最大宽度,如(100)"/>
<Attribute name="maxheight" default="9999" type="INT" comment="控件的最大高度,如(30)"/>
<Attribute name="text" default="" type="STRING" comment="显示文本,如(测试文本)"/>
<Attribute name="tooltip" default="" type="STRING" comment="鼠标悬浮提示,如(请在这里输入你的密码)"/>
<Attribute name="userdata" default="" type="STRING" comment="自定义标识"/>
<Attribute name="enabled" default="true" type="BOOL" comment="是否可以响应用户操作,如(true)"/>
<Attribute name="mouse" default="true" type="BOOL" comment="本控件是否可以响应鼠标操作,如(true)"/>
<Attribute name="mousechild" default="true" type="BOOL" comment="本控件的子控件是否可以响应用户操作,如(true)"/>
<Attribute name="visible" default="true" type="BOOL" comment="是否可见,如(true)"/>
<Attribute name="float" default="false" type="BOOL" comment="是否使用绝对定位,如(true)"/>
<Attribute name="shortcut" default="" type="CHAR" comment="对应的快捷键,如(P)"/>
<Attribute name="menu" default="false" type="BOOL" comment="是否需要右键菜单,如(true)"/>
<Attribute name="inset" default="0,0,0,0" type="RECT" comment="容器的内边距,如(2,2,2,2)"/>
<Attribute name="vscrollbar" default="false" type="BOOL" comment="是否使用竖向滚动条,如(true)"/>
<Attribute name="hscrollbar" default="false" type="BOOL" comment="是否使用横向滚动条,如(true)"/>
<Attribute name="childpadding" default="0" type="INT" comment="子控件之间的额外距离,如(4)"/>
</Container>
<VerticalLayout parent="Container" notifies="setfocus killfocus timer menu windowinit(root)">
<Attribute name="name" default="" type="STRING" comment="控件名字,同一窗口内必须唯一,如(testbtn)"/>
<Attribute name="pos" default="0,0,0,0" type="RECT" comment="位置,如果为float控件则指定位置和大小,否则只指定大小,如(0,0,100,100)"/>
<Attribute name="padding" default="0,0,0,0" type="RECT" comment="外边距,如(2,2,2,2)"/>
<Attribute name="bkcolor" default="0x00000000" type="DWORD" comment="背景颜色,如(0xFFFF0000)"/>
<Attribute name="bkcolor2" default="0x00000000" type="DWORD" comment="背景渐变色2,和bkcolor配合使用,如(0xFFFFFF00)"/>
<Attribute name="bkcolor3" default="0x00000000" type="DWORD" comment="背景渐变色3,和bkcolor、bkcolor2配合使用,如(0xFFFF00FF)"/>
<Attribute name="bordercolor" default="0x00000000" type="DWORD" comment="边框颜色,如(0xFF000000)"/>
<Attribute name="focusbordercolor" default="0x00000000" type="DWORD" comment="获得焦点时边框的颜色,如(0xFFFF0000)"/>
<Attribute name="colorhsl" default="false" type="BOOL" comment="本控件的颜色是否随窗口的hsl变化而变化,如(false)"/>
<Attribute name="bordersize" default="1" type="INT" comment="边框大小,如(1)"/>
<Attribute name="borderround" default="0,0" type="SIZE" comment="边框圆角半径,如(2,2)"/>
<Attribute name="bkimage" default="" type="STRING" comment="背景图片,如(bk.bmp或file='aaa.jpg' res='' restype='0' dest='0,0,0,0' source='0,0,0,0' corner='0,0,0,0' mask='#FF0000' fade='255' hole='false' xtiled='false' ytiled='false')"/>
<Attribute name="width" default="0" type="INT" comment="控件预设的宽度,如(100)"/>
<Attribute name="height" default="0" type="INT" comment="控件预设的高度,如(30)"/>
<Attribute name="minwidth" default="0" type="INT" comment="控件的最小宽度,如(100)"/>
<Attribute name="minheight" default="0" type="INT" comment="控件的最小高度,如(30)"/>
<Attribute name="maxwidth" default="9999" type="INT" comment="控件的最大宽度,如(100)"/>
<Attribute name="maxheight" default="9999" type="INT" comment="控件的最大高度,如(30)"/>
<Attribute name="text" default="" type="STRING" comment="显示文本,如(测试文本)"/>
<Attribute name="tooltip" default="" type="STRING" comment="鼠标悬浮提示,如(请在这里输入你的密码)"/>
<Attribute name="userdata" default="" type="STRING" comment="自定义标识"/>
<Attribute name="enabled" default="true" type="BOOL" comment="是否可以响应用户操作,如(true)"/>

3. DUILIB库怎么实现背景透明,文字和图标不透明

这是常规背景加文字的写法:背景黑色透明0.7, 里面有一个黑色的div和文字 AAAAAAAA 由于css里父节点透明度会传递到子节点上,所以normalBox也透明了.看不到normalBox的黑色背景了, 如果要实现背景透明,文字不透明的话,需要使用定位,将背景和文字全...

4. Duilib程序对话框在XP系统下背景图片无法加载是怎么回事,资源用zip压缩文件加载的

res文件夹和你的程序目录文件夹是同级的吗?

5. ilib 怎样把背景图怎么覆盖

系统文件缺失~~用搜索引擎收搜索“ilib.dll”下载到桌面或则任意你找的到的位置!然后剪切至:我的电脑---C盘---WINDOWS(文件夹点进去)----找到“system32”文件夹点击进去---最后把剪切复制的ilib.dll文件粘贴在这个文件夹里!!!搞定。。写的这么详细,应该可以帮到你了吧,亲~~~

6. 目前有哪些方便集成的截图控件

可以使用牛牛截图控件,完全免费使用。

牛牛截图控件是一个具备当前主流截图功能的插件,方便集成进不同的应用系统中,节省开发时间。具体可见:http://blog.csdn.net/tragicguy/article/details/20741077

1.本控件实现的基本功能及特点如下

1).支持窗口区域的自动识别

2).支持矩形、圆形、箭头、文字的绘制以及撤销

3).可另存为png、jpg、bmp等格式

4).支持鼠标所在区域的图像放大功能,以便精准定位

5).窗口大小、鼠标坐标显示以及光标处的颜色拾取

6).采用C++语言开发的Win32动态库,大小为260KB

7).支持XP、WIN7、WIN8及WIN2003、WIN2008等操作系统;

8).此控件提供标准的接口,方便集成进其他软件中;

例如可以与浏览器控件整合,实现Web页面截图的功能,也可以与其他如即时通讯等其他任何系统中

先看看使用效果:


2.控件使用方法

1).在测试程序中点击启动截图[在集成此控件后,可以自行通过热键进行启动],按下鼠标左键并拖动,以确定需要截图的范围,也可以直接在自动识别到的窗口上点击一下鼠标左键,确定截图范围;此时可以通过放大的区域来精确定位截图区域。

2).确定截图范围后,工具栏将会显示出来,选中指定的绘制类型[绘制类型、大小、颜色],可以进行二次绘制涂鸦。

3).可以通过点击撤销按钮来取消上一笔所绘制的形状。

4).在截图的过程中,可以按ESC键或者点击鼠标右键来取消截图。

5).按下回车键或者在截图区域内双击鼠标左键,可以完成截图[也可以点击工具栏上的“完成”按钮]。

6).点击“保存”按钮,可以将所截区域保存至图片文件。

3.控件接口的使用方法

可以在程序中使用LoadLibrary的方式加载此控件,进行初始化后,直接调用启动截图的函数即可:


[cpp]view plain

typedefint(*FnStartScreenCapture)(constchar*szAuth,constchar*szDefaultSavePath,void*pCallBack,unsignedlonghWndNotice,unsignedintnoticeMsg);

FnStartScreenCapturem_StartScreenCapture=NULL;

typedefint(*FnInitScreenCapture)(unsignedlongtrackerColor,unsignedlongeditBorderColor,intnTransparent,intflag);

FnInitScreenCapturem_InitCapture=NULL;

//加载截图控件

m_hMole=LoadLibrary("NiuniuCapture.dll");

m_StartScreenCapture=(FnStartScreenCapture)GetProcAddress(m_hMole,"StartScreenCapture");

m_InitCapture=(FnInitScreenCapture)GetProcAddress(m_hMole,"InitScreenCapture");

m_InitCapture(RGB(255,0,0),RGB(0,174,255),180,0);

m_StartScreenCapture("niuniu","",NULL,(unsignedlong)m_hWnd,WM_USER+1111);



具体可以参考调用Capturedemo_source.rar [下载地址见本文末尾],接口的具体描述如下:

1).初始化接口

intInitScreenCapture(unsignedlongtrackerColor,unsignedlongeditBorderColor,intnTransparent,intflag);

此接口函数用于初始化界面的显示效果,如果不调用,则以默认值处理。

参数说明:

参数名

参数类型

参数说明

备注

trackerColor

COLORREF

用于设置橡皮筋框的颜色以及自动识别窗口的边框色

如果不调用此函数,则此框颜色默认为:

RGB(0,174,255);

editBorderColor

COLORREF

用于设置文本输入框的边框颜色

如果不调用此函数,则此框颜色默认为:

RGB(255,0,0);

nTransparent

int

用于指定工具栏窗口的透明度(0-255)

如果不调用此函数,则透明度默认为200

flag

int

暂未使用

2).启动截图接口:

intStartScreenCapture(constchar*szAuth,constchar*szDefaultSavePath,void*pCallBack,unsignedlonghWndNotice,unsignedintnoticeMsg);

参数说明:

参数名

参数类型

参数说明

备注

szAuth

字符串

用于调用控件时的授权

目前固定传入”niuniu”即可

szDefaultSavePath

字符串

用于指定在截图完成时自动保存的文件路径

如:c:\test.jpg,如果此字符串为空,则完成时将只写入剪贴板

pCallBack

Void*

用于指定在截图完成时自动回调的函数

用于通知调用程序截图完成

hWndNotice

UINT

用于指定截图完成时发送通知的窗口句柄及发送的消息

用于通知调用程序截图完成,截图完成时,控件将会发送消息:

::PostMessage(hWndNotice,noticeMsg,1,1);

noticeMsg

UINT

4.控件的主要技术点简介

本控件采用C++语言,通过Win32程序进行实现,内部使用了Duilib来做工具栏以及图片放大区域的显示;对于画图部分,主要采用了GDI+,以下对我个人认为需要注意的技术点进行简要描述:

4.1橡皮筋类的绘制、大小调整以及拖动等

此橡皮筋类是从MFC的源代码中提取的CRectTracker,进而移植到Win32环境中的,具体橡皮筋类的原理就不描述了,需要重点关注的是TrackRubberBand及Track两函数:

1)当鼠标按下,且橡皮筋没有显示的情况下,使用TrackRubberBand,以确定橡皮筋所包含区域


[cpp]view plain

if(!gl_rectTracker.TrackRubberBand(hWnd,pt,TRUE))

{//说明鼠标没有移动,则获取自动识别到的窗口

if(gl_borderRt.right!=0&&gl_borderRt.right>gl_borderRt.left)

{

gl_rectTracker.m_rect.SetRect(gl_borderRt.left,gl_borderRt.top,gl_borderRt.right,gl_borderRt.bottom);

}

}

2)当橡皮筋类已经显示,则需要判断此时鼠标的落点,如果在橡皮筋区域内[gl_rectTracker.HitTest(pt)的返回值大于0],则需要调用Track,以便拖动橡皮筋调整大小或者移动它。


4.2自动窗口区域识别

在Windows系统中,所有的窗口都是有一个层级的(ZORDER),此处采用的方法是在获取屏幕截图之前,保存下当前所有可见的窗口句柄以及其子窗口句柄[主要利用FindWindowEx],此处值得一提的是,需要过滤掉一些带WS_EX_LAYERED属性的窗口[在不过滤的情况下,WIN8下会有问题,存在透明的窗口处于当前窗口之上],同时针对任务栏窗口不能过滤掉。

4.3GDI+绘制矩形、圆形、箭头、文字

1).绘制箭头的代码类似如下:


[cpp]view plain

voidDrawArraw(Graphics&graphics,CPointpt1,CPointpt2,Colorcolor)

{

Pointpt[3]={Point(3,-5),Point(-3,-5),Point(0,0)};

GraphicsPathstrokePath;

strokePath.AddLines(pt,sizeof(pt)/sizeof(Point));

Penpen(color,1);

CustomLineCapcustCap(&strokePath,NULL);

pen.SetCustomEndCap(&custCap);

graphics.DrawLine(&pen,pt1.x,pt1.y,pt2.x,pt2.y);

}

此处需要通过对所画的直线进行平滑处理,否则线条将会很难看。


2).绘制文字

此处有两点需要注意,我只解决了其中的第一点:

a).针对每一行需要单独绘制,否则在EDIT控件中的行高要比DrawString的行高要少,导致绘制出来的文字占用高度比在EDIT中要多,感觉文字的Y坐标有移位

b).在同时有中文与英文时,绘制出来的文字的X坐标是有移位的,我暂时没有处理,估计需要一个字符一个字符的绘制来解决

4.4可变大小、可拖动的EDIT控件

此处在效果上参考了微软的mspaint程序的实现,通过将一个EDIT控件与橡皮筋类进行组合来实现,此处需要重点处理一下鼠标按下以及防止闪烁;还需要注意与EDIT控件组合的橡皮筋类的绘制细节

4.5鼠标所在区域的放大镜效果显示

通过一个透明的PNG做背景图StretchBlt函数,通过光标所在点为基点,以4倍大小放大显示即可

5.未解决的问题

5.1目前没有处理当输入文字或者粘贴文字时,自动改变文本框的大小,此处不太清楚如何处理控件的自动变更大小

5.2当文本框中有中文与英文混合时,绘制到截图上后,文字的X坐标会有移位

注:

控件包及调用说明、代码见:

牛牛截图控件最终版:http://download.csdn.net/detail/tragicguy/7007833

7. 丢失ilib_d.dll

ps://gss0.bdstatic.com//yun-file-logo/file-logo-6.png" data_number="1" data_sharelink="https://pan..com/s/1czyEa6" data_code="m929">

长话短说: 因为一般游戏启动时会提示丢失的那些dll严格来讲都不算是系统文件,微软原版系统刚安装完的时候本来就不存在那些dll,其实不是“丢失”,就是原本就没有,需要自己另外安装的。 举个栗子,比如很多老游戏需要dx9运行库,二win8.1系统本身只自带dx11,没有老旧的9.0版,就会出现提示丢失d3dx9之类的dll msvcp、msvcr、vcomp140.dll属于VC++2015版 msvcp、msvcr、vcomp120.dll属于VC++2013版 msvcp、msvcr、vcomp110.dll属于VC++2012版 msvcp、msvcr、vcomp100.dll属于VC++2010版 msvcp、msvcr、vcomp90.dll属于VC++2008版 msvcp、msvcr60、71和80.dll,以及vcomp.dll(不带数字版本号)属于VC++2005版 除了丢失、缺少这类错误之外,如果一个程序打开之后提示“并行配置错误”,那么也是因为没有安装VC++运行库。 缺少PhysXLoader.dll是NVIDIAPhysX物理加速引擎的问题 提示没有找到xlive.dll是缺少GamesForWindowsLive 缺失openal32.dll是缺少OpenALInstallerforWindows的原因 此文件本质上是dll运行库的一部分,丢失、缺失此类文件都是dll运行库的问题,而不是游戏本身的问题。所以重新下游戏肯定是没有用的。 并且,有些人建议的重装系统大法也是没用的(指原版系统,换系统除外)。 因为这些所谓的dll丢失,绝大部分都并不是真的“丢失”,而是原版系统本身确实就没有自带。 建议使用dll修复工具,解压之后打开主程序点击“修复”按钮,稍等即可解决。 关于附件:dll运行库修复工具是很容易搜到下载的,也可以直接下载我附件(上传附件仅仅是为了下载方便,也可以直接搜索下载),附件免费下载,不要积分。7z、rar、zip文件要用解压缩软件打开,x86版就是32位版,请不要再问出“为什么只有86位版”之类搞笑的问题。 很多人喜欢传播“下载dll放到system32或syswow64”这种解决办法,倒也不是完全不可行,有时候还是可以的,要看运气。对小白来讲还是麻烦了点,而且不像修复工具一样能一次性搞定大部分dll运行库的相关问题。 密码:m929

8. ilib如何加载ocx控件

用C语言

在微软的大力支持显示Flash动画+ + Builder中的ActiveX控件,越来越多的软件公司开始支持ActiveX,这对于喜

欢编程的朋友可是一件是高兴!因为我们可以很容易地调用OCX文件外

参加一个程序来实现复杂的功能(比尔·盖茨终于回一件好事),如IE浏览器在你的程序

来电显示HTML文件。今天我想向大家介绍如何使用ActiveX控件在C中显示Flash动画+

生成器英寸。

1的安装,导入本文的ActiveX控件

主角是:SWFLASH.OCX,这个文件是包含在Windows98中,在默认模式下

Windows将安装到“WINDOWS \ SYSTEM \ “目录下,如果当您安装安装”默认安装Macromed \闪光“可以到Win98的安装光盘win98_68.cab文件中找到

它。

c + + builder中对ActiveX的支持,可以说是做的非常好,我们就可以导入侧

ActiveX控件系统:选择“组件 - >导入ActiveX控件

”在上面列表中,选择控制“的Shockwave Flash(1.0版)安装”按钮“(如图1),然后在下面

点”就行了!如果控制是不是在这,那冲击波

Flash控件没有在系统中注册列表,不要紧,我们可以单击“添加”按钮找到OCX文件,您的计算机上的总然后安装,C + + Builder中会自动注册。

2。编程显示Flash动画

成功导入,C + + Builder中的ActiveX网页将在“ShockWaveFlash”

控件(图2),建立一个新的项目,放在合适的位置增加ShockWaveFlash控制,

适当调整它的大小,那么它的“电影”属性来填补现有

Flash动画文件名的硬盘驱动器(如c:\ FLASH \测试SWF),然后按F9运行,怎么样,而无需编写一行代码

我们做了一个程序,可以显示Flash动画!

但是,为了使其更好地工作,我们还需要看看情况和方法ShockWaveFlash

控件:

[属性] AlignMode(int型)和SALIGN(WideString的类型)控制动画显示位置

(这两个属性都列在一起,表明它们是相互关联的,改变彼此也会有相应的变化

改变,这种情况是为后面解释类似)。范围和含义如下:

0空当前位置

1升的当前位置到左边

2 R当前位置右<br中心

4吨/> 3 LR当前位置靠左上方 5 LT

6 TR上

7 LTR的正上方

8 B

9 LB左下的当前位置为中心右

10包在

11 LRB中心

下12 TB当前位置垂直居中

13 LTB左垂直居中

14 TRB右垂直居中

15 LTRB中央位置

[属性] BACKGROUNDCOLOR(int型)和BGCOLOR(WideString的类型)设置背景颜色

,BACKGROUNDCOLOR整数值,BGCOLOR其十六进制字符串。

[属性]环路(布尔型)是否循环

[属性]菜单(bool类型)是否显示上下文菜单,建议设置为true,因为它可以在对Flash动画完成 BR />大部分的控制工作,我们不必编写代码。

[属性]电影(WideString的类型),Flash动画文件名可以在动态

运行状态进行设置,只要设置为空,关闭动画。

[属性]质量(int型)和QUALITY2(WideString的型)控制动画的显示质量

,一般质量设置为1,以获得高品质的显示。

[属性]的ScaleMode(int型)和规模(WideString的型)控制动画的比例,

范围和含义如下:

0 SHOWALL显示全部

1 NoBorder无边框模式

2 ExactFit拉伸到原始尺寸

3空

[方法] PercentLoaded回报率的动画已加载整个屏幕,你可以创建一个进程

栏(进度条)要显示加载动画的过程。

[方法]使用loadMovie动画,名为BSTR类型在C + + Builder中的URL值可以用来AnsiToOLESTR函数char类型的字符串转换

一个BSTR类型。

好了,使用上面介绍的属性和方法,我相信你有好好利用它!不幸的是

ShockWaveFlash控制功能还不够完善,如动画无法

实际大小和背景颜色等回来了,但只要我们在程序中出现的一个特定的Flash动画,这些和

不重要。

3。注册的ActiveX控件

如果你希望你的程序给别人使用,或者没有安装,以防止他注册swflash。

ocx文件,并导致程序无法运行,你必须把OCX还对文件一起,并在这个过程中它

在系统中注册,有两种注册方法:

之一:调用外部程序Regsvr32.exe会

报名方式:的ShellExecute(手柄,NULL,“Regsvr32.exe的”,“SWFLASH.OCX”,

NULL,SW_SHOWNORMAL);

抗注册:的ShellExecute(手柄,NULL,“Regsvr32.exe的”,“/ U swflash
.> OCX”,NULL,SW_SHOWNORMAL);

方法二:呼叫控制本身包含注册和反注册功能

每一个OCX控件提供两个输出功能“中的DllRegisterServer”和“

的DllUnregisterServer”,您可以注册和注销该控件本身,我们可以使用

调用LoadLibrary()和GetProcAddress()来调用它们,它调用的DLL库和动态的方法是一个

一样,我没有太多可说的。

4。经验最后,我想向大家介绍利用ActiveX控件技术。

一般的ActiveX控件是在C + + Builder的IDE环境我只能够看到它的属性和事件的设计,所以我们怎么能知道它的性能和运行方式做

? C + + Builder生成相应

头文件(* H)导入ActiveX控件“进口”目录后,只要它是打开看一眼!

另外,我们还必须了解的各种属性,方法和参数的含义,它应该通过编程来试试

,每个属性创建菜单项和方法,要知道,当点击与输入框输入参数来尝试

测试结果,你也可以创建一个状态栏,显示与变量相关联的价值观。

写了这么多,我不知道你明白了吗?不要在你的程序加上当今最流行
Flash动画不着急,让你的朋友羡慕你!

9. ilib背景图加文字用哪个控件好

很简单:点按文本框按钮后,在图片上需呀加字的地方按住鼠标左键拉动到合适位置后放开鼠标键,看到光标后添加文字内容,添加好了,稍稍移动鼠标,当光标变成十字移动光标时点击一下,此时这个文本框被选取,这时再选择形状填充---其他填充颜色,选适合的颜色,可在最下方调整透明度,调整好“确定”即可!、

10. ilib 怎么实现文字滑动

一般可以直接使用 菜单中的 文件==》另存为==》文本 来解决。
如果本来内容就是图片类的,就无法直接复制了,只能尝试使用OCR来解决。