打赏
随笔 - 111,  文章 - 0,  评论 - 36,  阅读 - 29万

随笔分类 -  Delphi

再去亲近曾经陪伴十数年的伙伴
获取MessageBox按钮本地字符串(OK、Cancel、Yes、No等)
摘要:问题仍然由定制MessageBox引发。 定制MessageBox,虽加入自定义些东西,但仍然希望,最大限度接近系统原生框。碰到的问题,就是其钮文本。 即如MessageBox.Show()之MessageBoxButtons(c#)或MessageBox()之MB_OKCANCEL之类。 遍找网络 阅读全文
posted @ 2018-12-10 19:18 楚人无衣 阅读(2331) 评论(0) 推荐(0) 编辑
Delphi异步编程:匿名线程与匿名方法
摘要:异步编程,是项目中非常有用的而且常用的一种方法,大多以线程实现。 而Delphi传统方法使用线程略为烦琐,好在其后续版本中,提供一些方法,简化一些操作。 几个概念: 匿名线程:TAnonymousThread,Delphi XE始支持。 匿名方法:reference to procedure|fun 阅读全文
posted @ 2018-08-21 11:31 楚人无衣 阅读(2050) 评论(0) 推荐(0) 编辑
Delphi: TMemo垂直滚动条自动显示
摘要:项目中碰到此问题,之前一直没留意,研究一番用上,以做备忘。参考其它解决方法,不尽完美,自试之,达到效果。 直上代码: 效果如图示: 阅读全文
posted @ 2018-08-20 12:42 楚人无衣 阅读(2613) 评论(1) 推荐(1) 编辑
Delphi: Class Static Methods
摘要:在Delphi中,自Delphi 2007之后,支持static形式的class方法,样式比如: 即在方法后面加入static关键字,区别于传统的class方法。 一直不明白它与不加static关键字的方法有什么区别,而其官文档又语焉不详,看了又不够透彻,于是写代码验之,大致有点感悟。 结合其官方说 阅读全文
posted @ 2018-08-09 19:24 楚人无衣 阅读(813) 评论(0) 推荐(0) 编辑
Delphi: RTTI与ini配置文件
摘要:项目以Rtti特性做文件参数配置,简化每项读写ini操作,记录以做备忘,代码如下: 使用方法: 比单个字段读写ini字段,省事 阅读全文
posted @ 2018-07-27 16:48 楚人无衣 阅读(300) 评论(0) 推荐(0) 编辑
Delphi: TMethod转普通方法为对象方法
摘要:回看旧时代码,以往清楚之记忆渐渐模糊,事隔多年,遗忘正在发生。 TMethod方法,当初熟练再看已陌生,再做复习以作备忘。 简言之,它做为一相桥接,将普通事件或方法转换为类方法,其多用于事件动态设置中。 它定义如此: 以代码示之,如下: 测试一下,事件完美挂接: 阅读全文
posted @ 2018-07-20 09:54 楚人无衣 阅读(520) 评论(0) 推荐(0) 编辑
ListView鼠标框选实现蓝色蒙板
摘要:此问题留心已久,今日方悉心求之,记录心得。 ListView控件,不论Delphi中的TListView还是c#中的ListView,在开启其MultiSelect属性时,鼠标框选只是显示框张,如下图示: 相信如系统资源管理器那样,框选以蓝色蒙板显示,视觉效果要好上许多。里外翻阅,发现与LVS_EX 阅读全文
posted @ 2018-07-18 19:51 楚人无衣 阅读(430) 评论(0) 推荐(0) 编辑
Delphi: 模态窗体最小化
摘要:源起: 近期所介入的几个项目中,最后视频生成窗体,为一模态对话框。因生成时间可能较长,所以其窗体可以最小化,它最小化时同时最小化主程序,唤醒时主程序再复原。 代码亦是8年前本人所写,一直那样用了,也没什么不妥,但总感觉显示效果有优化空间,回头看看当初代码少了些简练。于是用些时间做些验证,寻得相对好点 阅读全文
posted @ 2018-07-17 20:13 楚人无衣 阅读(460) 评论(1) 推荐(0) 编辑
Delphi: TGraphicControl支持PaintTo方法
摘要:Delphi之TWinControl支持PaintTo方法,可以方便的Paint有句柄控件,而此方法,TGraphicControl没有。 这使得有时需要Paint无句柄控件诸如TLabel时颇为费事,能否扩充它? 可以。使用class helper for技术,通过其Parent,仍然调用TWin 阅读全文
posted @ 2018-06-27 11:50 楚人无衣 阅读(327) 评论(0) 推荐(0) 编辑
Delphi: 圆形进度(环形进度)
摘要:起源: 重回DC5项目,资源下载美工提供圆形进度条,复习Delphi,为实现其颇觉有趣,遂研究其。 最终效果图如下: 实现: 制作TCircleProgress控件,实现方法参照系统之TGauge控件,CSDN上tp机器猫一个源码,结合GDI+绘制技术实现以消除锯齿,以Bitmap Copy技术以避 阅读全文
posted @ 2018-05-27 20:42 楚人无衣 阅读(2318) 评论(0) 推荐(0) 编辑
Delphi: TLabel设置EllipsisPosition属性用...显示过长文本时,以Hint显示其全文本
摘要:仍然是处理多语言中碰到问题。 Delphi自2006版以后,TLabel有了EllipsisPosition属性,当长文本超过其大小时,显示以...,如下图: 这样虽然解决显示问题,但很显然,不知道...究竟省略了什么。 于是就想:此类情况,能不能鼠标移上去,以Hint显示完全文本? 追踪其源代码, 阅读全文
posted @ 2018-05-03 09:29 楚人无衣 阅读(506) 评论(0) 推荐(0) 编辑
Delphi: 获取控件文本宽度(像素)
摘要:为适应多语言,需要对界面控件大小、位置多动态改变,因此需要根据其Caption计算实际像素大小。 找资料未有易用现成的,遂参数其它方法,写以函数处之,代码如下: 界面可根据控件文本长度动态做修正了。比如: 根据上面结论,可封装动态修改控件宽度及位置代码,函数如下: 如此,多语言显未可无忧矣! 阅读全文
posted @ 2018-04-28 15:19 楚人无衣 阅读(830) 评论(0) 推荐(0) 编辑
Delphi:MSBuild编译dproj工程
摘要:Delphi之命令行编译工程,传统是用dcc32来编译的,它需要设置一大堆参数。 自Delphi 2007以后,支持MSBuild编译,它直接编译.dproj工程文件,所有编译需要的东西,都已在其中设置好,省事。 直写bat脚本上: 结果出错,其信息为: 没理由错。百度之,所获模糊,上stackov 阅读全文
posted @ 2018-03-18 20:10 楚人无衣 阅读(604) 评论(0) 推荐(0) 编辑
Delphi:基于jcl的Bugsplat Crash收集单元
摘要:调用方法: 以做备忘 阅读全文
posted @ 2018-03-14 13:49 楚人无衣 阅读(470) 评论(0) 推荐(0) 编辑
Delphi:Exception输出堆栈信息
摘要:起源: 用习惯了c#之Exception的StackTrace,在程序出异常crash时候能够以其定位出问题的模块及行号,用回Delphi 2009,发现没有这东西。 显然,在编译环境日新月异的今天,是不科学的。分析Delphi的Exception,发现些线索:StackTrace。 应该有戏! 继 阅读全文
posted @ 2018-03-13 19:55 楚人无衣 阅读(958) 评论(0) 推荐(0) 编辑
Delphi中记录体做为属性的赋值方法
摘要:1. 起源 此问题源于[秋风人事档案管理系统]用Delphi XE重编译中所发现。 快十年了,当初Delphi 7所编写项目,想用Delphi XE重新编译,并打算做为Free软件发布,编译错误中发现此问题,感觉颇有些意思,遂记录下来,以做备忘。 自Delphi 2009之后我转做c#之WinFor 阅读全文
posted @ 2017-03-24 00:05 楚人无衣 阅读(2478) 评论(0) 推荐(1) 编辑


< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示