TRECT的使用】的更多相关文章

作为一张画布,在上面绘制各种图形或显示图像,但在CANVAS的使用过程中少不了一个特殊对象,那就是矩形RECT,灵活使用它会完成很多特殊的功能,为Delphi编制的Windows程序增加活力. RECT的特点----RECT既是一个特殊的数据结构,又是一个函数,它的作用就是定义一个矩形区域对象,而作为函数使用时它可以用两个属性(Tpiont型)指明区域范围,同时也可分解成四个单一的变量类型(Integer型),即: topleft:左上角坐标(Tpiont型变量):bottomright:右下角…
{   在网上看到个这个例子感觉还不错,将它移到自己的博客里没事的时候看看:   TRect    作用:保存一个矩形的左上角和右下角的坐标值:      声明:       type TRect = packed record     case integer of         0:(Left, Top, Right, Botton:Integer);       1:(TopLeft, BottonRight:TPoint);     end;       由上面的TRect可知,TRe…
它们都是结构, TPointF.TRectF 属新增, 其它也都有升级; 现在都拥有丰富的方法和方便的运算符重载; 且有一组相关的公共函数. 这组内容重要的是它们都来自 System.Types 单元, 也就是不仅仅在 FM 中可用. TPoint: Create();      // {运算符重载} Equal;        // = NotEqual;      // <> Add;          // + Subtract;      // - Implicit;      //…
http://blog.163.com/zhangzhifeng688@126/blog/static/165262758201131211341460/ Delphi Canvas的FillRect(const Rect: TRect) 函数的作用 2011-04-12 11:34:14|  分类: Delphi|举报|字号 订阅     下载LOFTER我的照片书  |     FillRect 函数功能:该函数用指定的画刷填充矩形. 用法://Delphi自带的帮助 var  Bitmap…
最近在做一个TStringGrid的自绘处理,在画文字处理上遇到了高度的计算问题.后来经过一段时间还是找到了一些方法: 1.使用TLabel 这个方法是有点绕路的,方法倒是简单,就是使用AutoSize属于来完成.. 2.使用DrawText DrawText的函数定义: 函数原型int DrawText( HDC hDC, // 设备描述表句柄 LPCTSTR lpString, // 将要绘制的字符串 int nCount, // 字符串的长度 LPRECT lpRect, // 指向矩形结…
1.说明 最近加入了一个项目组,使用的开发工具是delphi6,想想又要开始搞这个工具有点小忧伤,但没办法谁让咱就是个打杂的尼... 的需求是显示一个类似于Word/excel的那种表格,可以合并列等..本来想用DBGridEh去解决,只是试了半天发现不能合并列,我了个去..然后想到了网页来处理,但是尝试了一下马上就放弃,最后各种搜索后没得办法哦..想了想就用TStringGrid来试试,毕竟也是个表格,可定制性也大的多,好吧.就用它试试. 2.技术点 最核心的功能还是由TStringGrid提…
再说:TAQSkinScrollBar 类美化滚动条,http://www.138soft.com/?p=156  里面有人提到不可以滚动 滚动的改善方法: unit AQSkinScrollBar; (* 说明:本单元提取自TdsaSkinAdapter控件,版权归原作者所有. 提取:www.138soft.com *) {$R Scroll.RES} interface uses ComCtrls, Windows, Messages, SysUtils, Classes, Graphics…
http://www.cnblogs.com/Jekhn/archive/2012/08/25/2656656.html 线程,消息函数,SetWindowPos设置窗体位置 if WaitForSingleObject(FEvent,FInterval)=WAIT_OBJECT_0 then用法 //Main Form http://www.cnblogs.com/Jekhn/archive/2012/08/25/2656656.html unit unitMain; interface us…
八.使用结构体而不是结构体指针: 很重要 一.指定 Owner 后, 随 Owner 连带释放: //uses Vcl.StdCtrls, Vcl.ExtCtrls; var panel: TPanel; procedure TForm1.Button1Click(Sender: TObject); begin panel := TPanel.Create(Self); panel.Parent := Self; with TButton.Create(panel) do //AOwner =…
来自: daocaoren0824, 时间: -- ::, ID: 再给你一份 程序员实用函数 {▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎} {▎ ▎} {▎ 大家都是程序员 没有必要重复一些无聊的事情 我的这些函数能给大家带来方便 ▎} {▎ 如果觉得还一般 请关注 WWW.cdsunco.com/www.ccemove.com QQ:35013354 ▎} {▎ 系统公用函数及过程 ▎} {▎ ▎} {▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎…
输入IP用的.....支持windows风格显示 unit HSIPEdit; // *************************************************************************** // // IPEdit // // 版本: 1.1 // 作者: 刘志林 // 修改日期: 2016-07-12 // QQ: 17948876 // E-mail: lzl_17948876@hotmail.com // 博客: http://www.cnb…
按钮功能使用TButton也可以解决, 但是TButton是会获得焦点的, 很多时候我们要求按钮不获得焦点, 而Speedbutton又不支持PNG图片 所以按照TSpeedbutton的代码, 重新封装了一个: unit HSImageButton; // *************************************************************************** // // 支持PNG的Graphicbutton // // 版本: 1.0 // 作…
因为工作要求, 需要对EMF文件文字内容做分析.....SO, 如下代码出现了 懒得加注释了, 反正对外接口属性就那么几个, 根据英文猜吧, 很容易的 说明一下: 这个东西结果会对所有文字内容按照左上到右下的顺序排序(EMF内数据顺序是根据画图顺序来的, 所以不一定是什么顺序, 但是数据分析就要得到行列关系) 但是图片没有行列概念, 所以我简单借鉴了一下纯粹横排版模式, 认为2个文字元素, 只要显示范围的中线在对方范围内, 就会被认为是同一行 2015-10-19: 1.修改了几个排序时的BUG…
欢迎到  ① FireMonkey[DELPHI XE5]  165232328 交流开发技术. (****************************************************)(* *)(* 编写:爱吃猪头肉 & Flying Wang *)(* 上面的版权声明请不要移除. *)(* 2014-03-15 *)(* *)(****************************************************) 找到 XE5 安装的 FMX.Virt…
procedure OnDrawColumnCell( Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumnEh; State: TGridDrawState);var d : TDBGridEh;begin inherited;if adoWorkStatioin.FieldByName('FGROUP_ID').AsString <> '' then //进行判断那些数据需要变色 begin if ado…
1.owerDraw 设置为true 2.实现事件 DrawColumnHeader DrawItem DrawSubItem private void listView1_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e) { int tColumnCount; Rectangle tRect = new Rectangle(); Point tPoint = new Point(); Font tFont…
向ImageList中动态加入Png图片有些失真,经过多方查询,发现需要将Bitmap的AlphaFormat指定一下. //向ImageList中加入png类型的资源图片 procedure AddPngToImageList(AImageList: TImagelist; AResName: string); var   LResStream: TStream;   LPng: TPngImage;   LBitMap: TBitmap; begin   AImageList.ColorDe…
//--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include &…
;  Canvas.Font.Style := [fsBold];  Canvas.Font.Color := clRed;  Canvas.Brush.Color := clWhite;..] of Char;  rect: TRect;  str: string;begin  {获取}  GetKeyNameText(msg.KeyData, buf, Length(buf));  {画出来}  str := buf;  rect := ClientRect;  Canvas.FillRec…
说明:XE5 在 Android 平台上存在这一些键盘操作的问题,目前发现有下列几种: 按键盘上的隐藏键后,无法按上一页(需要修改 XE5 源码「FMX.VirtualKeyboard.Android.pas」). 按键盘上的隐藏键后,无法触发 OnVirtualKeyboardHidden 事件. 关闭键盘后,再点一次无法显示键盘(大部份机子都有这个问题,实测 Nexus 7 II 没有这个问题). 适用:Delphi XE5 update 2 参考:此修正方法是参考「完美解决 XE5 安卓下…
TWindowState = (wsNormal, wsMinimized, wsMaximized); TScrollingWinControl = class(TWinControl) private FHorzScrollBar: TControlScrollBar; FVertScrollBar: TControlScrollBar; FAutoScroll: Boolean; FAutoRangeCount: Integer; FUpdatingScrollBars: Boolean;…
近来笔者在一个项目中需要实现一个功能:模仿弹出菜单的隐藏方式,即鼠标在窗口的非PanelA区域点击时,使得PanelA隐藏.   经过思考,笔者想到通过处理鼠标的点击事件来实现相应功能.但是,究竟由谁来处理这个点击事件呢?如果窗口中包含多个句柄控件,则不能确定谁能获取到这个鼠标的点击事件,故而无法做出处理.   通过热心网友的帮忙,笔者了解到了window消息截获的实现方式,更棒的是:消息截获并不影响消息的正常处理.最终实现的效果非常完美.在此分享给有需要的朋友.下面是消息截获的实现代码.1.对…
http://www.okbase.net/doc/details/931  还没有亲自验证过,仅收藏 当你完成一个应用软件的开发后,那么你还需要为该软件做一个规范化的安装程序,这是程序设计的最后一步,同时也是很重要的一步,因为运行安装程序往往是用户做的第一步操作.很多报刊文章介绍了许多如何利用installshield等工具软件来制作安装程序的方法,这种办法可以很快建立起较常见的安装模式,但用这种办法也有一些不足,如做成的安装程序一般较大:风格较单一:不能灵活的控制启动方式和快捷方式.其实安装…
VirtualTreeview的强大,毋庸置疑,不过,你能给演示演示,也不错,就是刚下来,只有一个可执行程序,感觉像病毒. 最近比较忙,没有上网,现在把我研究的结果和大家通报下,方便新手学习,避免走弯路和浪费时间. 我用到的功能粗略的研究了下,以下是我测试的结果,可能和高手的结果不同,请不要鄙视. 首先说一下速度问题,只有一列数字分组或者不分组,都很快,但是,我用的是十几个字段,并且好几个字段是很多汉字的,一共有 5 万多条记录.如果用 OnIniNode 事件,不分组大约 5 秒左右加载完成,…
{*******************************************************} { } { Delphi公用函数单元 } { } { 版权所有 (C) 2008 勇者工作室 } { } {*******************************************************} unit UMyPubFuncFroc; interface uses ComCtrls, Forms, Windows, Classes, SysUtils,…
我的回忆和有趣的故事 --- C/C++圣战篇 李维 (声明以下的这篇文章内容是我个人的回忆以及看法,没有任何特别的偏见,许多的事情是根据我的记忆以及从许多人的诉说中得知的,也许内容不是百分之百的正确,不过我想这些内容有一定的可信度到是可以保证的.). 一直想写一篇我个人在过去10多年来工作中经历的一些事情,以及看着一些我认为是伟大的工程师在这些日子中对于资讯界的贡献. 和Borland 的缘由 记得我在大学时第一个在PC上使用的软体便是SideKick,至今我仍然无法忘记这个让我津津乐道的软体…
剪切bmp:效果为指定的rect大小,若图片比rect小,则会放大. 都要uses Vcl.Imaging.jpeg; 需要注意的是FMX里也需要jpeg的支持,虽然没引用编译器不会报错,但用到jpg时会报内存错误. procedure TForm1.Button1Click(Sender: TObject); var Bitmap: TBitmap; MyRect1, MyOther: TRect; begin if self.OpenDialog1.Execute then begin My…
ffdshow神奇的功能:视频播放时显示运动矢量和QP FFDShow可以称得上是全能的解码.编码器.最初FFDShow只是mpeg视频解码器,不过现在他能做到的远不止于此.它能够解码的视频格式已经远远超出了mpeg4的范围,包括indeo video,WMV,mpeg2等等.同时,它也提供了丰富的加工处理选项,可以锐化画面,调节画面的亮度等等.不止是视频,FFDShow现在同样可以解码音频,AC3.MP3等音频格式都可支持.并且可以外挂winamp 的DSP插件,来改善听觉效果.可以说现在的F…
中午,有个货随手买的2块钱的彩票,尼玛中了540块,这是啥子狗屎气运.稍微吐槽一下,现在开始正规的笔记录入.经常有朋友说为毛我的博客不更新了或者说更新的少了,为啥呢!一来自己懒了,没学习什么新的东西,二来平常琐事多,于是这个博客更新就少了.FMX目前已经更新了好几个版本,甚至连属性方法都改过了,从以前刚出来时候的拼音输入法支持都有Bug,到现在基本上比较流畅运行,说明了进步还是挺大的,那么学习这个东西也应该可以是提上日程了,或许不久的将来会用到. FMX是一套UI类库,就相当于以前的VCL,但是…
上一次我们实现了把我们要的图片添加到CTreeCtrl控件里去,并显示图片的缩略图,现在开始我们要讲比较重要的部分--绘图区.为了实现能编辑图片的功能,绘图区应该具有如下功能. 1.  添加删除图片. 2.  放大缩小绘图区. 3.  选中一张图片,移动一张图片. 4.  绘制图片 5.  给图片添加点击事件 为了更好的实现这些功能,我模仿了cocos2d的内存管理机制以及节点结构,写了一个静态库VALib,它使用GID+渲染图片,以及实现观察者模式来监听鼠标事件.源码可一从这里下载.当然,你也…