随笔分类 - Delphi-Editor1
摘要:第一步:定义全局变量用于状态改变时的对比 var Form1: TForm1; OldCI:HICON; 第二步:添加Timer组件,Interval设置随意一般50就可以了. 增加Memo组件用于记录状态改变 procedure TForm1.Timer1Timer(Sender: TObject
阅读全文
摘要:各种文本编辑器的” 查找” 功能(Ctrl+F),大多采用 Boyer-Moore 算法。 下面,我根据 Moore 教授自己的例子来解释这种算法。。 假定字符串为”HERE IS A SIMPLE EXAMPLE”,搜索词为”EXAMPLE”。 首先,” 字符串” 与” 搜索词” 头部对齐,从尾部
阅读全文
摘要:也是看别人写的,但是不容易找到,就转发一篇delphi版本的 function GetLine(X, Y: integer): TPoint;var OldFont : HFont; Hand : THandle; TM : TTextMetric; Rect : TRect;begin Hand
阅读全文
摘要:procedure TForm1.RichEdit1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var vPoint: TPoint; begin if Button <>
阅读全文
摘要:阅读目录 一、花絮 二、安装 三、使用 四、小结 阅读目录 一、花絮 二、安装 三、使用 四、小结 回到顶部 一、花絮 delphi自带的memo显示sql语句看的太累人了,今天决定美化一下。最起码要有“语法着色”、“显示行号”这2个功能。 意外发现了 SynEdit 控件。 下载地址: http:
阅读全文
摘要:编辑框(Edit)控件实际上是一个简易的文本编辑器,用户可以在编辑框中输入可添加或插入文本。还有复制、粘贴、剪切、删除等编辑功能。 应用程序用CreateWindowEx创建编辑框控件时,可根据控件的用途在下表中选择部份常数来设定其风格属性(style)。 常数 说明 ES_MULTILINE 多行
阅读全文
摘要:实在是厌烦了notepad的utf8模式了,于是决定修改之,方案如下: 使用任何支持hex模式的编辑器打开%SystemRoot%/system32/notepad.exe查找二进制串56 8D 45 FC 50 6A 03把最后的03改成00(本来的03是指bom的utf8编码长度,改成0就等于不
阅读全文
摘要:看着Edit的光标,是不是觉得了无生趣,想不想换个形状来玩玩,其实很简单,且听我道来。 Edit是Windows的标准控件,它是一个系统范围窗口类,所以任何应用程序都能创建它。其实Edit本质上也是一个窗口,MS实现了它却不开放源代码,只暴露出一些接口给我们操作。Edit的光标(Caret)没有意外
阅读全文
摘要:使用delphi的消息机制可以方便操作后台,其中重要的就是sendmessage()函数。下面讲解一下这个函数 [delphi] view plain copy function SendMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: L
阅读全文
摘要:这一篇将继续讨论在使用delphi进行普通应用程序开发的时候,WebBrowser的具体应用,主要是针对使用其进行HTML界面开发的,这也是一篇我在网上找到的资料,大家如要转载,请尊重原作者的知识产权,务必著名出处.什么应用需要HTML的界面HTML的界面有以下特点:图文混排,格式灵活,可以包含Fl...
阅读全文
摘要:平时很少使用大文件的内存映射,碰巧遇到了这样的要求,所以把过程记录下来,当给各位一个引子吧,因为应用不算复杂,可能有考虑不到的地方,欢迎交流。对于一些小文件,用普通的文件流就可以很好的解决,可是对于超大文件,比如2G或者更多,文件流就不行了,所以要使用API的内存映射的相关方法,即使是内存映射,也不...
阅读全文
摘要:uses RichEdit;function TextToRtf( // 将文本处理为RTF格式 mText: WideString // 输入文本): WideString; // 返回处理后的RTF文本var I: Integer;begin Result := StringReplace...
阅读全文
摘要:例如对windows发消息让文本选中。 SendMessage(Text1.hwnd,EM_GETSEL,0,-1 );EC_LEFTMARGIN(&H1) EC_USEFONTINF //设置左边距时使用EC_RIGHTMARGIN EC_USEFONTINF //设置右边距时使用EC_USEFO...
阅读全文
摘要:Canvas.TextOut真是好用,Printer也实在好用:procedure PrintTStrings(Lst : TStrings) ;var I, Line : Integer;begin I := 0; Line := 0 ; Printer.BeginDoc ; // T...
阅读全文
摘要:平时很少使用大文件的内存映射,碰巧遇到了这样的要求,所以把过程记录下来,当给各位一个引子吧,因为应用不算复杂,可能有考虑不到的地方,欢迎交流。对于一些小文件,用普通的文件流就可以很好的解决,可是对于超大文件,比如2G或者更多,文件流就不行了,所以要使用API的内存映射的相关方法,即使是内存映射,也不...
阅读全文
摘要:这里只针对Edit的内容做一个简单的undo,redo功能;原理就是,将新增字符和相关信息添加到undo列表,在undo动作时,取记录信息,并在edit中删除新增的字符,然后将此动作添加到redo列表,以便恢复。本程序只对文本框文字的顺序增加做了处理,对于任意位置的删除,复制粘贴等没有进行处理,大家...
阅读全文
摘要:我们知道在文本框等可以接收输入的组件中,我们可以看到闪烁的光标,并可以输入文字,如果我们在,比如窗体上时,因为不支持输入,也无法显示闪烁的光标,那我们 有办法做自己的输入吗?当然可以,下面我们演示在Form上来输入文字。用到的API函数如下GetTextMetrics:获取程序当前的字体信息,存放到...
阅读全文
摘要:unit Unit1;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, V...
阅读全文