精华内容
下载资源
问答
  • 今天教大家一个非常简单的小技巧,简单到一看即会。如果不知道这个技巧的用途,实际...甚至,如果目标区域已经有其他不同内容的文本单元格,如何复制数值的同时保持目标区域的文本不变?案例:下图 1 中左边的表格...

    今天教大家一个非常简单的小技巧,简单到一看即会。

    如果不知道这个技巧的用途,实际工作中遇到类似需求的话可能就很惨了,明明几秒钟就能完成的操作有时需要花上几小时,还极有可能出错。

    如果一个区域内既有文本单元格,又有数值单元格,如何快速将所有数值复制粘贴到指定的目标区域,而文本不复制。甚至,如果目标区域已经有其他不同内容的文本单元格,如何在复制数值的同时保持目标区域的文本不变?

    案例:

    下图 1 中左边的表格是某公司老员工的每个月获客指标,右边是每位老员工所带的实习生名单。为了便于管理,实习生的每月指标设置为跟老员工一样即可。

    所以只要将“月份”和“指标”列的值复制到右边表格,效果如下图 2 所示。

    3e015669199104c2dfc512bd84955b53.png
    7b7869ea17c4da9a9c8cda3805b90c11.png

    解决方案:

    本案例的数据情况比较简单,所以分别复制粘贴这两列,操作并不复杂。

    然而实际工作中,表格数据可能非常多,而且可能在一列中既有文本又有数值,如果只要复制粘贴数值,就不能一个个单元格操作,那纯属浪费时间,得学会今天的技巧。

    1. 选中 A:D 列 --> 按 Ctrl+C

    09aea7cd54f7934d69a1e76cdccee827.png

    2. 选中要复制到的目标区域的第一个单元格 F1 --> 选择菜单栏的“开始”-->“粘贴”-->“选择性粘贴”

    9919ab819b56343160a95aa66b512f54.png

    3. 在弹出的对话框中选择“运算”区域的“加”--> 点击“确定”

    d2b41b30f4f15247c7d7a2715e4756b3.png

    现在所有数字单元格都复制粘贴到了目标区域,而文本则没有,因此按照我们的要求保留了目标区域的文本项。

    8023a10cd2ef7816e274c11bc9f890ea.png

    掌握了这个小技巧,以后遇到只需要复制粘贴数值的情况,就能省时太多了。

    7b7869ea17c4da9a9c8cda3805b90c11.png

    很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

    现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

    展开全文
  • 如何取消合并单元格并填充内容,以前弄过一段视频,分别用了四种方法,今天用VBA实现将多个单元格的内容填写到多个不同的合并单元格中。如下图,需要把多个单元格分别装入到多个合并的区域。一个个复制粘贴显然不是...

    3c38759bb8bb19031334cb814b1074ad.png

    如何取消合并单元格并填充内容,以前弄过一段视频,分别用了四种方法,今天用VBA实现将多个单元格的内容填写到多个不同的合并单元格中。

    如下图,需要把多个单元格分别装入到多个合并的区域。一个个复制粘贴显然不是办法。

    e711c872a3274f1e3bf6bec7b92b49eb.png

    现在就可以用一段代码来搞定了。

    做完之后效果如下:

    34f1fd71dd571aeecbc990e7f504be46.png

    分别填入进去了。

    使用的代码如下:

    Private Sub CommandButton1_Click()    Dim myrange As Range    Dim i As Integer    Set myrange = Range("a2")    For i = 0 To 2        Set myrange = myrange.Offset(i).MergeArea        myrange.Value = Cells(1, 3 + i)    Next iEnd Sub

    代码简单解释一下:

    分别声明myrange变量,因为是对象型,赋值前面需加 set

     dim i变量是数值类型,不需要加set

    利用循环加上offset偏移正好实现不断向下选择合并单元格。

    Mergearea指的是合并单元格。

    这篇文章是连载教程,如果看不太懂,后台回复a1,a2,a3,a4,a5分别获取几十篇初级教程。

    d47c4444fbe4e9ee68677f8135db1cc7.png

    子曰用之则行,不用则藏。

    意思是说,如果你用我的这些建议,就马上行动,知行合一,如果你不用,就赶紧收藏,以绝后患。

    展开全文
  • x和y就是两个不同的值,互不影响。 这是因为整数类型实现了Copy trait,第4章介绍过,对于实现Copy的类型,其clone方法只需要简单地实现按位复制即可。对于拥有值语义的整数类型,...
  • 《Photoshop》读书笔记

    2020-02-25 17:11:25
    1 打开“图像—调整—亮度/对比度”进行调节2 打开“图像—调整—色阶”进行调节不同之处:色阶调节更加精细3 同时按住“ctrl”键点击通道RGB,获得亮度选区,按住“ctrl-j”新建图层,更改混合模式为“滤色”优点:...

    《Photoshop》读书笔记
    第一章 PS设计基础第一节 工作区的了解(右侧面板可以根据自己的喜好调整)如何调整图片的亮度?1 打开“图像—调整—亮度/对比度”进行调节2 打开“图像—调整—色阶”进行调节不同之处:色阶调节更加精细3 同时按住“ctrl”键点击通道RGB,获得亮度选区,按住“ctrl-j”新建图层,更改混合模式为“滤色”优点:无白色区域,可通过复制图层提高亮度如何调整面板位置?1拖动一个面板到蓝框出现2 打开“窗口—排列”进行调节3 左侧工具栏最后的工具(tab键:可以最大化文档可视区,重按则还原)(shift+tab键:可以隐藏命令面板/选项面板,重按则还原) 第二节 色彩基础和吸管工具组两个色轮红绿蓝RGB色轮:光的三原色,混合为白色(ps应用)红黄蓝色轮:颜料的三原色,混合为深褐色吸管工具1 点击吸管工具,注意调节取样点大小2 点击颜色取样器工具,点击图像任意一点可取样,按“alt+鼠标点击”可删除3 标尺工具:度量数值4 计数工具:点击则标记数字,“alt+鼠标点击”可删除 第三节 拾色器和色彩空间软件常用HSB色彩模型:分为色相H,饱和度S,亮度B三个分量,可视为三个取色步骤RGB色彩模型劣势:人脑难以拟合出色彩色彩模型+色域=色彩空间 第四节 数字图像处理:尺寸更改“图像 —模式”中调色彩模式PS左下方可调缩放比例和显示文档性能PPI:每英寸像素数=像素/英寸DPI:每英寸点数=点/英寸通过“视图—打印尺寸”可以显示打印出的真实大小【还需调整“屏幕—首选项—单位与标尺”中的屏幕分辨率(屏幕宽度的虚拟尺寸/屏幕宽度的实际尺寸=像素/英寸)】如何进行尺寸更改?1 “图像—图像大小”调节,可设置长宽比固定情况,通过分辨率实现虚拟单位(像素)或实际单位(厘米)的变化 “图像—画布大小”调节,可填补或裁剪图片,填补则可设置颜色2 裁剪工具,不勾“删除裁剪的像素”,可在“图像—显示全部”里还原 第五节 数字图像处理:文件格式 体积视觉损失透明特性JPG/JPEG较小有损不支持照片,绘画PNG较大无损索引透明Alpha透明资源类图像GIF中等较大索引颜色索引透明动画,图标 第二章 绘画、修饰 、选择工具和选区初步一第一节 画笔工具组和绘画快捷键1 []可调整笔刷大小2 shift+[]可调节画笔软硬3不透明度调节:直接按数字“0~9”4 流量调节:shift+数字“0~9”如何打开画笔设置面板1 通过左上菜单选项面板按钮打开2 通过窗口菜单打开尝试多种画笔样式 第二节 历史记录和历史记录画笔历史记录特性1 点击任意一步可回到之前的步骤2 拍照可记录某些步骤3 右上角允许非线性历史记录可以记录下每一个步骤历史记录画笔工具:把画笔点到历史记录某个功能区,再作画就会回到历史的内容。铅笔工具特性1硬度永远为100%2 自动抹除功能:在前景色上绘制背景色 第三节 橡皮擦和油漆桶工具组油漆桶工具容差:填充颜色区域与周边的明显程度(宽容度)连续的:点击则只有一部分受影响,不点击则同色地方全部受影响渐变工具点击左上有颜色的地方会弹出渐变编辑器,可以选择渐变颜色,调整透明度复制图层,图像—调整—去色,图层右下角新建图层蒙版,按alt+鼠标点击蒙版进行编辑,选渐变色,按shift+鼠标拖动可画直线,可实现有色到无色的渐变橡皮擦工具“Alt+鼠标双击”是背景图层变为普通图层1 橡皮擦:画笔反效果2 背景橡皮擦:颜色替换反效果3 魔术橡皮擦工具:油漆桶的反效果 第四节 仿制图章和修饰工具组仿制图章工具将画面某一部分复制到另外一个地方“Alt+鼠标点击”选择仿制源头选择“对齐”只能复制一个不选“对齐”可以复制多个修饰工具修复画笔工具(效果更好,步骤一样)=仿制图章工具修补工具:圈起某一处,拖动到另一处,则复制另一处到选区的一处污点修复画笔工具:使污点与周围一致内容感知移动工具:将某处移动到另一处 第二章 绘画、修饰 、选择工具和选区初步二第一节 选区初步:选框工具组、选区基本操作选框工具基本选区的制作1 按住shift绘制:从选区添加2 按住alt绘制:从选区减去3 按住shift+alt绘制:绘制交集4 新画时,按出shift可画正方形或正圆形,以鼠标位置为起点5 按住alt同上,鼠标位置为右下“视图—标尺”可画标准线6 按住二者,同时获得两个效果圆环画法:按住shift,从标点起画圆,按alt从标点起再画小圆,鼠标不放,松a,按a+s即可“ctrl+j”复制圆环新图层选择菜单C+a全选,C+D 取消选择,C+S+I反选 第三节 选区初步:套索工具组、选区变换套索工具“shift键”增加选择区“alt键”减小选择区“ctrl键”闭合选择区选区变换命令位于选择菜单1 修改—边界、平滑、扩展、收缩、羽化2 扩大选区、选择相似3 变换选区选区内容变换“编辑—自由变换—各种变换命令”“鼠标右击—自由变换—各种命令变换” 第三节 选区初步—快速选择工具区、选择命令快速选择工具1 魔棒工具=油漆桶工具2 快速选择工具“alt”减小选择区域如何精确一点?1 可以“选择—色彩范围—添加或减小取样颜色”2 焦点区域:可以帮助选择对角清晰的部分3 主体:ps借助人工智能算法自动识别常见的摄影主体对象再用快选、图形等修缮选择区域 第四节选区初步:选取是一张灰度图选区就是一张灰度图,快速蒙版状态中绘制的图案,等同于普通状态中的选区。快速蒙版指示色可以理解为相应的灰色,快速蒙版状态中不同程度的灰色等同于普通状态中不同程度的选择(羽化)选区=快速蒙版=蒙版=通道 第三章 明暗调整和选区进阶一(第一部分)第一节 直方图和明暗调整基础直方图窗口寻找设置为全部通道视图,显示统计数据,通道RGB直方图显示图像的信息的统计数据,从左至右以此显示从0至255的色阶,即从“黑”至“白”明暗调整1 “图像—调整—亮度/对比度”,“alt+鼠标点击”可复位2 “图像—调整—曝光度”3 “图像—调整—阴影/高光”:分别针对阴影和高光部分进行调节,更可“一站式地”调节全图颜色和中间调等参数注意:打开左下角“显示更多选项”以获得全部功能 第二节 明暗调整进阶“图像—调整—色阶”通过调整图像的阴影、中间调和高光的强度级别从而校正图像的明暗(和色彩)输入色阶:你想要什么(增加暗、亮)输出色阶:你不要什么(丢弃暗、亮)“图像—调整—曲线”:可以调整图像的整个色调范围内的点,也即可以将任何输入(原图)变换为任意的输出(调整修改结果)在直线1/4和3/4处分别定一个点,分别表示阴影和高光,可进行调节可在色阶和曲线中选择任意一个单独的通道(RGB,红绿蓝)进行调整 第三节 图层和调整图层图层图层解锁:按住alt+鼠标双击可锁定一些图层的性质制编图层组:1鼠标右击制编组—拖动别的图层2 快捷键ctrl+g,取消ctrl+shift+g调整图层(非破坏式修图)1 图层面板下方“创建新的填充或调整图层”按钮2 窗口—调整面板3 图层—新建调整图层子菜单 第三章 明暗调整和选进阶一(第二部分)第一节 选取进阶一:图层蒙版和选区如果不存在选区,新建的图层蒙版是白色(全选)如果已经有选区,新建的图层蒙版将等同于选区所对应的灰度图此时可用画笔工具(黑白)对蒙版大小进行调整“属性—蒙版”也可调羽化、浓度可对其复制再尝试其他样式“shift+点击”可暂时取消蒙版效果“alt+点击蒙版缩略图”可进入图层蒙版编辑状态,修改完毕任意点击蒙版即可恢复“\”可同时看到蒙版和原图 第二节 选区进阶一:明暗调整实例使用“c+j”快捷键复制背景图层原背景图层留作备用建议使用快捷键Q进入或退出快速蒙版编辑状态此状态中,我们面对的是灰度图,它与普通状态中的选区是完全对应的,可以使用任何绘画或修饰工具对这张图片进行修改注意:灰加白减 第四章 色彩调整和选区进阶二第一节 色彩调整基础色彩调整命令“菜单—调整”或图层右下角自然饱和度:对图像的饱和度进行简单调整,可以得到较为温和自然的效果色相/饱和度选择并细化色彩范围,采用抓手工具、吸管工具和色调进行控制 第二节 色彩调整进阶色彩平衡(针对阴暗范围)针对阴影、中间调和高光三个明暗区域,调整三对原色的平衡关系可选颜色(针对某个颜色)针对六个原色和和黑、中性色(中灰)、白一共九个色彩,调整每一个色彩的三个原色(印刷色)以及黑色可用于印刷场合和RGB图像匹配颜色(图像—调整,需拷贝原背景图):将一个图像(源图像)中的颜色与另一个图像(目标图像)中的颜色匹配曲线吸管工具可修改色彩 第三节 色彩与黑白色彩如何转成黑白?1 “图像—调整—去色”(破坏式的)2 右下“色相/饱和度”3 右下“黑白”:针对各种颜色进行黑白调节阈值:对于给定的某个阈值,将对应色阶之下的图像转换为黑色,之上的图像转换为白色 第四节 选区进阶二:色彩和明暗调整实例剪切图片的某一部分进行调节关键要点:1 选取是一张灰度图2 为获得最终选取,需要进行许多颇为极端的调整3 使用原图去制作所需要的灰度图,因此获得针对原图的选区 第五章 选区进阶三第一节 规则边缘实例主要步骤复制选区内容进入快速蒙版在快速蒙版编辑状态中原位粘贴刚刚复制的(来自原图的)选区退出快速蒙版,获得最终选区半透明选区的关键在于意识到选区是一幅灰度图,蒙版状态中的不同程度的灰色,代表普通状态中不同程度的选择(即不同程度的透明度)。借助“以图选图”思维,将原图直接粘贴到快速蒙版中,那么原图将转换为相应的灰度图(等同于去色),也就直接对应着半透明选区。 第二节 复杂边缘实例减淡工具组O减淡工具:提高亮度(使颜色区分度更强)加深工具:降低亮度海绵工具:提高或降低饱和度注意:可使用绘画工具快捷键盖印:合并多个图层,并将结果创建为新图层将灰度图转换为选区的主要方法:1 按ctrl点击通道缩略图,获得通道灰度图对应的选区2 快速蒙版:在普通状态下复制灰度图,然后进入快速蒙版编辑状态,粘贴之 第三节 综合实力Ctrl+j复制边缘部分新建“黑白”调整图层,拉动想要区分的颜色,使色差更大尝试色阶叠加调整图层,继续更改前述步骤获得的灰度图尝试通过可选颜色调整图层加大原图色彩的区分程度在非破坏式编辑不能顾及之处,需要以绘画的方式认真修改细节对于原图缺失边缘信息的区域,只能考虑额外的技巧去解决,例如通过“移花接木”的方式控制其他部分,甚至手工“伪造”细节等等。单独修整边缘 第四节 深入理解选区如何制作具有不规则、复杂半透明边缘的白云选区?1 快速选择工具(不精准)2 色彩范围 颜色容差始中3 用矩形选框工具大概选出颜色范围,进行复制,进入蒙版编辑—选择粘贴—原位粘贴,ctrl—i反向,色阶调整,退出蒙版 第六章 混合模式、滤镜和智能对象第一节 变暗和变亮组混合模式:通过精确的数学计算,得到两个图层的混合效果变暗:调整亮度正片叠底:xy颜色加深:1-(1-x)/y线性加深:y+x-1变亮:调整暗处 Max(y,x)滤色:1-(1-y)(1-x) 第二节 对比组和其他叠加以及下面等工具 第三节 三步法调色实例1添加一个纯色图层指定混合模式变暗,用于调整亮部2再添加纯色图层指定混合模式变亮,用于调整暗部3再添加纯色图层指定混合模式叠加,用于调整图像的对比和整体视觉效果 第四节 修图实例和计算、应用图像命令如何通过混合模式和滤镜去掉雀斑?1拷贝对比度大的通道,复制2滤镜—其他—高反差保留3对“拷贝”施加混合模式效果 第五节 创意设计实例1 阈值(调整图层倒三)2 添加纯色填充图层3 除背景外,创建新组,复制组4 稍稍移动蓝色图,选混合模式5 将图层转为智能滤镜6 滤镜-风格化-查找边缘 第七章 字体、矢量和图层样式(第一部分)第一节 字体和排版样式一西门字体-衬线体,不衬线体,黑体/哥特体中文字体-宋体/衬线体,黑体/无衬线体,书法体,现代体 第二节 字体和排版样式二趣味无可争辩,却有好坏之分基本审美趣味;古代VS现代衬线体(古典)转化非衬线体(现代)原因:扩大受众群字体使用的若干原则:1 Crap原则:对比、对齐、重复、邻近排版是一些字符的优美组合,而非一些优美字符的组合2 不要用(旧式)中文字体中的等款英文字体,非常丑3 除非特殊情况,不要用中文斜体4 中英搭配时,宋体-衬线,黑体-非衬线5 同一版式,字体样式少于3种6 多看优秀设计作品,培养品味和直觉 第三节 文字工具组文字排版工具点状:只能横排写框状:框中写斜体(Italic)与仿斜体(Slant)OpenType(右上角)有很多特性对字体变形 第七章 字体、矢量和图层样式(第二部分)第一节 矢量绘图工具组 矢量工具:钢笔工具组路径选择工具组形状工具组形状工具的三种绘制方式:1 形状2 路径(可通过鼠标任意调形状)3 像素矢量蒙版:每个图层都可以拥有一个图层蒙版和/或矢量蒙版1 若已有蒙版,点击添加蒙版按钮将会新建矢量蒙版2 可通过“图层-矢量蒙版”新建矢量蒙版 第二节 图层样式初步使用椭圆工具(形状)画圆选取直接选择工具,微调形状将图形填充设为0%,隐藏其填充和描边视觉效果填充与不透明度区别在于填充不会影响图层样式效果的不透明度点击图层面板下方fx,选择某个项目 第三节 图层样式进阶图层样式的真正含义:图层样式原名图层样式的真正含义斜面和浮雕用高光和阴影产生立体感描边实色、渐变或图案边缘内阴影有方向光,内部内发光无方向光,内部光泽用等高线产生表面质感颜色叠加纯色填充图层渐变叠加渐变填充图层图案叠加图案填充图层外发光无方向光,外部投影有方向光,外部

    展开全文
  • 利用Delphi的Tbitmap控件抓取屏幕图象

    千次阅读 2006-07-05 11:22:00
    相信绝大部分电脑爱好者都使用过不同种类的抓图软件抓取屏幕图形。... 程序的主要思路是:当按下为窗口建立的热键后,首先获得光标所在的窗口的矩形区域,然后建立一个TBitmap对象,将矩形区域复制到T
     相信绝大部分电脑爱好者都使用过不同种类的抓图软件抓取屏幕图形。在本文中,作者要向大家介绍的是利用Delphi的TBitmap控件进行屏幕上任意窗口图形的抓取。同时文章中还有如何利用Delphi的扩展消息处理功能为Delphi的窗口添加热键和在任务栏上添加图标的技巧。

      程序的主要思路是:当按下为窗口建立的热键后,首先获得光标所在的窗口的矩形区域,然后建立一个TBitmap对象,将矩形区域复制到TBitmap对象中;最后利用TBitmap的图象保存Method将复制到TBitmap中的位图保存到磁盘中。

    程序1是完整的源代码清单:

    在运行程序前,首先要执行以下的步骤:

    在Form1中加入一个TsavePictureDialog控件,将其Name设置为SavePic。

    改变Form1的如下属性:
    BorderStyle 改变为 bsNone;
    FormStyle 改变为 fsStayOnTop;
    Visable 改变为 False。

      同时在Project1中的Application.Run语句前加入: Application.ShowMainForm := False;为了直观显示,还可以将Form1的Cursor属性设置为crHandPoint。

    unit Unit1;  

    interface

    uses
     Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
     StdCtrls, ExtCtrls, Menus, ExtDlgs, ClipBrd, ShellApi;

    const
     WM_ICONMESSAGE=WM_USER+100;

    type
     TForm1 = class(TForm)
     SavePic: TSavePictureDialog;
     procedure FormCreate(Sender: TObject);
     procedure FormClose(Sender: TObject; var Action: TCloseAction);
     procedure FormMouseUp(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
     Private
      //热键消息处理函数
      procedure WMHOTKEY(var Message:TMessage);message WM_HOTKEY;
      //任务栏消息处理函数
      procedure WMBarIcon(var Message:TMessage);message WM_ICONMESSAGE;
     public
      procedure CaptureControl;
    end;

    var
     Form1: TForm1;
     tmpBitmap:TBitmap;
     iBitmapValide:Boolean;

    implementation

    {$R *.DFM}

    procedure TForm1.CaptureControl;
    var
     iTempWnd, iMeHwnd, iDC:LongWord;
     tyRect :TRect;
     tpRect : TPoint;
     iWidth, iHeight:integer;
    begin
     //获得光标位置
     GetCursorPos(tpRect);
     //获得光标所在位置的窗口句柄
     iMeHwnd:=WindowFromPoint(tpRect);
     //获得窗口的矩形区域
     etWindowRect(iMeHwnd, tyRect);
     //获得桌面窗口的句柄
     iTempWnd:=GetDesktopWindow;
     iDC:=GetDC(iTempWnd);
     iWidth:=tyRect.Right-tyRect.Left;
     iHeight:=tyRect.Bottom-tyRect.Top;
     //建立位图
     tmpBitmap:=TBitmap.Create;
     iBitmapValide:=True;
     tmpBitmap.Width := iWidth;
     tmpBitmap.Height := iHeight;
     //复制窗口矩形区域到位图中
     Bitblt(tmpBitmap.Canvas.Handle, 0, 0, iWidth, iHeight, iDC, tyRect.Left, tyRect.Top, SRCCOPY);
     ReleaseDC(iTempWnd, iDC);
     Form1.Visible := True;
     //使Form1覆盖光标所在的窗口矩形
     Form1.Left := tyRect.Left;
     Form1.Top := tyRect.Top;
     Form1.Width := iWidth;
     Form1.Height := iHeight;
     tyRect.Left:=0;
     tyRect.Right := iWidth;
     tyRect.Top:=0;
     tyRect.Bottom:=iHeight;
     //将位图绘制到Form1的Canvas中
     Form1.Canvas.Draw(0, 0, tmpBitmap);
     //围绕Form1画出3个相素的红色边框
     Frame3D(Form1.Canvas, tyRect, clRed, clRed, 3);
    end;

    //响应热键,进行抓图
    procedure TForm1.WMHOTKEY(var Message:TMessage);
    begin
     if iBitmapValide then
     begin
      tmpBitmap.FreeImage;
      tmpBitmap.Free;
      iBitmapValide:=False;
     end;
     CaptureControl;
    end;

    procedure TForm1.WMBarIcon (var Message:TMessage);
    begin
     if ((Message.LParam = WM_RBUTTONDOWN)or (Message.LParam = WM_LBUTTONDOWN))  then
     //在任务栏图标上按下鼠标键退出
      close;
    end;

    procedure TForm1.FormCreate(Sender: TObject);
    var
     lpData:PNotifyIconData;
    begin
     //注册热键为Ctrl+Shift+A
     RegisterHotKey(Form1.handle, 0, MOD_SHIFT OR MOD_CONTROL, 65);
     //在任务栏上建立图标
     lpData := new(PNotifyIconDataA);
     lpData.cbSize := 88;
     lpData.Wnd := Form1.Handle;
     lpData.hIcon := Form1.Icon.Handle;
     lpData.uCallbackMessage := WM_ICONMESSAGE;
     lpData.uID :=0;
     lpData.szTip := '屏幕捕捉';
     lpData.uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
     Shell_NotifyIcon(NIM_ADD, lpData);
     dispose(lpData);
    end;

    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    var
     lpData:PNotifyIconData;
    begin
     //退出时删除任务栏图标
     lpData := new(PNotifyIconDataA);
     lpData.cbSize := 88;
     lpData.Wnd := Form1.Handle;
     lpData.hIcon := Form1.Icon.Handle;
     lpData.uCallbackMessage := WM_ICONMESSAGE;
     lpData.uID :=0;
     lpData.szTip := '屏幕捕捉';
     lpData.uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
     Shell_NotifyIcon(NIM_DELETE, lpData);
     dispose(lpData);
     //退出时注销窗口热键
     UnRegisterHotKey(Form1.Handle, 0);
     if iBitmapValide then
     begin
      tmpBitmap.FreeImage;
      tmpBitmap.Free;
      iBitmapValide:=False;
     end;
    end;

    procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
    begin
     //按下鼠标左键保存窗口图象
     if (Button=mbLeft)then
      with SavePic do
      begin
       DefaultExt := 'Bmp';
       Execute;
       if FileName<>'' then
        tmpBitmap.SaveToFile(FileName);
      end;
     //保存完图象后删除位图
     tmpBitmap.FreeImage;
     tmpBitmap.Free;
     iBitmapValide:=False;
     Form1.Visible := False;
    end;

    end.

      按F9键运行程序,将光标移动到任意窗口上按下热键Ctrl+Shift+A,则光标所在窗口被捕捉下来(同时被捕捉区域被红色边框框住作为标识)。在框内按下鼠标左键就可以保存位图图像。这个程序也可以用来捕捉菜单。

      同时程序也可以将图象发送到剪贴板中,只要将上面程序中Form1的OnMouseUp事件置换为下面的程序段就可以了(程序2):
    procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    var
     MyFormat : Word;
     AData : THandle;
     APalette : HPALETTE;
    begin
     if (Button=mbLeft)then
     //按下鼠标左键将tmpBitmap中的内容发送的剪贴板
     begin
      tmpBitmap.SaveToClipBoardFormat(MyFormat, AData, APalette);
      ClipBoard.SetAsHandle(MyFormat, AData);
     end;
     tmpBitmap.FreeImage;
     tmpBitmap.Free;
     iBitmapValide:=False;
     Form1.Visible := False;
    end;

    以上的程序在Windows95,Delphi4.0下运行通过。 
    展开全文
  • 隔行用不同颜色显示,请问如何做 将单元格设置为有“凸出”的效果或“凹进去”的效果 在Excel中设计彩色数字 定义名称的妙处 零值问题 【汇总计算与统计】 个调税公式 算物价的函数 自动计算应收款滞纳金 淘汰率 ...
  • C#编程经验技巧宝典

    热门讨论 2008-06-01 08:59:33
    85 <br>0130 复制字符串中指定的字符 85 <br>0131 巧截字符串的数字 86 <br>0132 如何存储变长字符串 86 <br>0133 在进行字符串比较时忽略大小写 87 <br>0134 如何去除字符串尾空格 87 ...
  • EXCEL函数公式集

    热门讨论 2010-03-16 03:26:38
    隔行用不同颜色显示,请问如何做 将单元格设置为有“凸出”的效果或“凹进去”的效果 在Excel中设计彩色数字 定义名称的妙处 零值问题 【汇总计算与统计】 个调税公式 算物价的函数 自动计算应收款滞纳金 淘汰率 ...
  • EXCEL 2007 宝典 附光盘文件

    热门讨论 2010-04-02 14:43:05
    cout unique.xlsx:一个演示如何计算区域内惟一(非复制的)项的工作簿。 counting text in a range.xlsx:一个演示计算区域内字符数量的各种方式的工作簿。 cumulative sum.xlsx:一个演示如何计算一个累积和的...
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0214 如何改变表格列的矩形区域颜色 142 0215 控制在文本框中只能输入两位小数 143 0216 如何把选择的文件图标显示在列表中 143 0217 根据表格中的数据长度自动调整表格宽度 144 7.2 ADO数据处理技术 145 ...
  • word使用技巧大全

    热门讨论 2011-03-18 20:37:53
    1、如何在同一文档中创建不同的页眉 53 2、如何去除页眉中的横线 53 二十五、电子图书馆文章转为Word文档 54 1、PDF文件的识别 54 2、caj文件的识别: 55 3、超星文件的识别: 55 4、其他情况下的识别: 55 二十六、...
  • 150. 如何消除缩位后的计算误差(微软OFFICE技巧大赛获奖作品) 87 151. 利用选择性粘贴命令完成一些特殊的计算 87 152. WEB查询 88 153. 在EXCEL中进行快速计算 89 154. 自动筛选前10个 89 155. 同时进行多个单元格...
  • 150. 如何消除缩位后的计算误差(微软OFFICE技巧大赛获奖作品) 87 151. 利用选择性粘贴命令完成一些特殊的计算 87 152. WEB查询 88 153. 在EXCEL中进行快速计算 89 154. 自动筛选前10个 89 155. 同时进行多个单元格...
  • Excel技巧大全

    2015-05-06 07:21:37
    6. 如何消除缩位后的计算误差(微软Office技巧大赛获奖作品) 41 7. 利用选择性粘贴命令完成一些特殊的计算 41 8. Web查询 41 9. 在Excel中进行快速计算 42 10. 自动筛选前10个 42 11. 同时进行多个单元格的运算...
  • 6. 如何消除缩位后的计算误差(微软OFFICE技巧大赛获奖作品) 41 7. 利用选择性粘贴命令完成一些特殊的计算 41 8. WEB查询 41 9. 在EXCEL中进行快速计算 42 10. 自动筛选前10个 42 11. 同时进行多个单元格的运算...
  • 【快捷综合取数】 功能较<快捷取数列>功能更强大,支持同时取6个不同存储格区域(或列)为6个唯一值清单,并在指定的6个不同的生效范围自适应地显示对应的清单。清单的最后6项也为子程序功能,能完成相关操作。且...
  • Excel数据处理与分析实战技巧精粹 附书源码 ISBN:9787115182326 本书在对Excel技术论坛上上百万个提问的分析与提炼的基础上,汇集了用户在... 技巧189 数据透视表刷新数据后如何保持调整好的列宽 技巧190 启用选定...
  • 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文和在...
  • 中文版Excel.2007图表宝典 2/2

    热门讨论 2012-04-06 19:01:36
     本书详细介绍了Excel 2007的全部图表功能,并且通过不同的示例展示了如何根据需要来选择正确的图表类型。读者从中还可以学习如何在图表中修改数据、处理遗漏的数据、格式化图表、使用趋势线,以及从数据透视表创建...
  • C++MFC教程

    热门讨论 2013-05-21 13:37:15
    |------ 2.6 多边形和剪贴区域 +-- 第三章 文档视结构 |------ 3.1 文档 视图 框架窗口间的关系和消息传送规律 |------ 3.2 接收用户输入 |------ 3.3 使用菜单 |------ 3.4 文档,视,框架之间相互作用 |------ 3.5...
  • 使用 Access Management Console 查看区域 31 管理用户会话和服务器进程 31 使用 Access Management Console 创建报告 31 使用 Access Management Console 配置应用程序访问权限 32 使用 Access Management Console ...
  • excel的使用

    2012-11-25 17:06:01
    这时先不要忙着把B列和C列删除,先要把D列的结果复制一下,再用“选择性粘贴”命令,将数据粘贴到一个空列上。这时再删掉B、C、D列的数据。下面是一个“&”实际应用的例子。用AutoCAD绘图时,有人喜欢在EXCEL中存储...
  • 有,只有几十KB,把这个文件复制到软盘下,启动系统后直接运行这个程序( 可以不加参数,该程序会自动根据内存大小分配适当的内存空间作为高速缓 存),再安装Windows XP即可。另外提醒大家,这个程序在安装完...
  • 通用对话框为用户提供了一个统一的用户界面,使用户在不同的应用程序中完成通用任务时的操作都相同,不必每次都学习不同的操作过程。 光标函数(Cursor) 光标是显示屏幕上的一个小图形,其所在的位置由指点设备...
  • 面试题13:在O(1)时间删除链表结点:当要删除的结点不是尾结点而且不是仅有一个结点的头结点,可以把该结点i的下一个结点j的内容复制到结点i,同时把i结点的next指向j结点的next,然后再删除结点j。如果要删除的链表...
  • 8-10将根域的DNS区域复制到子域的DNS服务器09:42 8-11将计算机加入子域12:30 8-12验证跨域登录和跨域访问资源09:41 8-13为域用户添加登录主名后缀06:30 8-14目录林中两个特殊的组Enterprise Admins和Schema Admins08...
  • 31、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?  SessionBean: Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建...
  • PowerPoint.2007宝典 8/10

    2012-04-01 18:39:23
    12.5.14 同时更改多个剪辑的关键词 247 12.5.15 浏览更多Office网上剪辑 248 12.6 修改剪贴画 250 12.6.1 重新着色剪辑 250 12.6.2 设置透明色 251 12.6.3 解构和编辑剪辑 251 12.7 小结 252 第13章 ...
  • flash shiti

    2014-03-14 10:32:41
    13. 如果要让Flash 同时对若干个对象产生渐变动画,则必须将这些对象放置在不同的层中。 □ A. 正确 □ B. 错误 14. 矢量图形用来描述图像的是: □ A. 直线 □ B. 曲线 □ C. 色块 □ D. A 和B 都正确 15. 下列那几...
  • 不扫描驱动器看是否有坏区域,因此只应对以前格式化过的驱动器使用该参数。  /fs:file-system  指定要使用的文件系统:FAT、FAT32 或 NTFS 。如果未指定文件系统,将使用现有的文件系统格式。  Map  显示...

空空如也

空空如也

1 2 3 4
收藏数 66
精华内容 26
关键字:

如何同时复制不同区域