社区
VCL组件使用和开发
帖子详情
请问如何获得TMemo控件中光标所处的位置,即当前行和当前列?
AeLord
2003-08-02 08:37:49
如上,万分感谢!!
...全文
76
5
打赏
收藏
请问如何获得TMemo控件中光标所处的位置,即当前行和当前列?
如上,万分感谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qibo999
2003-08-03
打赏
举报
回复
行:int line =SendMessage(Memo1->Handle, EM_LINEFROMCHAR, Memo1->SelStart, 0);
我来看看CB
2003-08-03
打赏
举报
回复
CaretPos
AeLord
2003-08-03
打赏
举报
回复
这方法用在TMemo控件中好像没用,返回值总是为0,0
AeLord
2003-08-03
打赏
举报
回复
问题基本得到解决,使用CaretPos最为简洁,如下代码可以在当前位置插入任意字符串:
int Line, Volume;
Line=memEditor->CaretPos.y ;
Volume=memEditor->CaretPos.x ;
memEditor->Lines->Strings[Line]=memEditor->Lines->Strings[Line].Insert(Content, Volume+1);//其中Content表示字符串
但这时遇到一个新问题,通常改变TMemo中内容时可以使CanUndo属性为True,但上述代码却不能达到这一效果(可能需要用到API帮忙),这也就使得编辑效果不够完善,给位可知如何解决此问题?
zihan
2003-08-02
打赏
举报
回复
行:line =SendMessage(RichEdit1->Handle, EM_EXLINEFROMCHAR,0,RichEdit1->SelStart);
列:lineindex=SendMessage(RichEdit1->Handle,EM_LINEINDEX,line,0);
TMemo
逐行读取数据Demo
Delphi开发过程
中
,往往需要在
TMemo
中
逐行读取数据,本实例是回答网友问题的源码。上传方便实施
TMemo
逐行读取数据的同行下载参考。
Delphi 7.0 得到Memo
中
的可见行数.rar
Delphi 7.0 获取Memo
控件
中
字符的可见行数,没讲 时在Memo
控件
中
随便粘贴入一些字符,单击窗口
中
的“检测可见行数”按钮,即可得到该文本框
控件
中
字符的行数,将这一系列执行命令集成在delphi的按钮监听事件
中
,编写如下代码即可: function LinesVisible(Memo:
TMemo
): integer; Var OldFont : HFont; Hand : THandle; TM : TTextMetric; Rect : TRect; tempint : integer; begin Hand := GetDC(Memo.Handle); try GetTextMetrics(Hand, TM); Memo.Perform(EM_GETRECT, 0, longint(@Rect)); tempint := (Rect.Bottom - Rect.Top) div Memo.Font.Height div -1; finally ReleaseDC(Memo.Handle, Hand); end; Result := tempint; end; procedure TForm1.BitBtn1Click(Sender: TObject); begin bitbtn1.Caption:='可见[' IntToStr(LinesVisible(Memo1)) ']行'; end; 程序运行效果请参见截图所示,完整源码请下载。
Delphi
TMemo
字符串的查找完全实现
这是早上传的发现有问题 不能在Delphi Xe5
中
运行 但能在Delphi7
中
运行 我想删除它也没权限 http://download.csdn.net/detail/teststudio/6404077 所以重传下 Delphi
TMemo
字符串的查找完全实现 已经完全的解决Delphi
TMemo
的查找对话框 和 替换对话框 功能 的所有功能 查看 GIF http://images.cnblogs.com/cnblogs_com/xe2011/524919/o_TFindDialog.gif
Delphi专业 界面
控件
Skin++ For Delphi (一)
大家用惯了BSskin和VCLskin,但是这个跟专业! 支持的开发语言 Borland Delphi 4/5/6 Borland Delphi 7 Borland Delphi 8 Borland Delphi 2005 Borland Delphi 2006 CodeGear Delphi 2007 支持的操作系统 Windows Vista Wndows 2000/XP/2003 Windows NT4.0 Windows Me Windows 98/98SE Windows 95 版本信息
当前
版本:3.0 文件大小:24.9MB 更新日期:2006-12-6 下载次数:22670 软件概述 Skin++ For Delphi目前全面支持Delphi4、Delphi5、Delphi6、Delphi7、Delphi8、Delphi2005、Delphi2006。 迄今为止,Delphi支持4种类型的应用程序: 1、VCL Forms Application – Delphi for Win32 (该类型在Delphi4/5/6/7/2005/2006所有版本包含); 2、VCL Forms Application – Delphi for .Net (该类型在Delphi8/2005/2006
中
包含); 3、Windows Forms Application – C# Builder (该类型在Delphi2005/2006
中
包含); 4、Windows Forms Application – Delphi for .Net (该类型在Delphi8/2005/2006
中
包含)。 Skin++对以上4种Delphi程序类型做了全面的支持。 试用版本描述与运行截图 1.在本安装盘
中
,包含了Delphi的各个版本(D6,D7,D8,D2005,D2006)Skin++测试例子; 2.关于如何使用Skin++,请参考文档《Skin++ For Delphi [All Edition]使用帮助》; 3.要查询Skin++所有的接口,请参考文档《Skin++接口描述》; 4.本安装盘提供一套试用皮肤PixOS.ssk,正式版用户将
获得
网站上更多更精美的皮肤。并可
获得
定期更新; 5.Skin++正式版
中
提供强大的皮肤设计工具Skin++Builder。 该工具完成皮肤所有的设计工作,并可以全自动导入Windows主题、第三方主题; Skin++Builder使用详情请参考《Skin++Builder Help》; 6.案例说明: 我们以Delphi2006 VCL Win32的测试例子为例,描述其组成。 打开\Delphi 2006\VCL Forms Application - Delphi For Win32\目录
中
的MDIAPP.exe 该例子是一个MDI类型的程序。主窗口部分演示Skin++在MDI方面处理的各个细节。 如:主菜单条、主弹出菜单、系统菜单、工具条、状态条、MDI客户区、MDI子窗口、MDI子窗口最大化后等各个部分的换肤细节。 Skin++ 3.0 可以对皮肤进行动态的色调设置 这个功能可以使您的程序可以瞬间拥有N套色调的皮肤。 更改色调样例1: 我们分以下几个页面对Delphi的全部
控件
进行了演示: Buttons、Static、Controls with ScrollBar(带滚动条的
控件
)、Splitter、TabControls、TrackBar & Progress、Misc Controls、Dialog、DataControls 6.1 Buttons 该部分我们演示了Skin++对Delphi的各种类型的按钮进行的换肤支持, 包括BitBtn按钮、SpeedButton、Tbutton、CheckBox、RadioBox 在该部分,还演示了对按钮进行多风格的换肤效果,“Style 2”按钮和其他按钮不同,呈现了其特有样式。 这种效果一般用在网络电话、多媒体软件、网络聊天等需要同时支持多种按钮风格的地方。 每个按钮具有其固定的5
中
状态:正常、按下、高量、禁用、默认。在该窗体
中
演示了每种按钮的5
中
状态。 并且在Skin++ 3.0
中
,支持Focus的效果。通过Tab或方向键可以看到焦点在每个按钮上移动。 6.2 Static 该部分演示了Skin++ 对Label、GroupBox、右键菜单、Panel、FlowPanel、GridPanel等
控件
的支持。 值得一提的是,Skin++对Label的支持是彻底,并且不像其他的换肤软件需要在窗体上放置一个
Delphi开发技巧之-VCL
ListView 排序 Stringgrid内使用回车键代替Tab键 TListBox内显示分栏 TListBox每一行显示交互的颜色
TMemo
内
光标
位置
根据鼠标移动
TMemo
自动卷动 TRichEdit卷到特定
位置
TRxRichEdit内插入图像 TStringGrid
中
插入、删除一行 TStringGrid保存和装载 TTreeview
控件
显示粗体节点 TWebBrowser
中
调用“查找”对话框 为Listview栏添加双击事件 为工具栏的TToolButton设置新的索引 仅通过Classname创建和管理任意窗体 从RichEdit取Rtf格式 从TListBox
中
拖放项目到TRichEdit 从一个TRichedit复制格式Rtf文本到其它 使用CustomSort方法排序TListView 使用DBGrid字段队列同步列标题队列 使用Interfaces和TInterfaceList 使用TRichEdit存储大于64K数据 使用代码移动StringGrid的行和列 使用圆形角显示
控件
使用类名显示窗体 保存 装载TCheckListbox值 保存和装载TListView 保存和装载TTreeView 允许TDBGrid栏调整大小但防止移动 克隆
控件
克隆窗体 列出
控件
的所有属性和事件 创建可编辑ListBox 删除Listbox的所有选定项目 删除stringlist
中
重复项目 删除TStringGrid
中
的列 动画窗体 取ComboBox List句柄 取TListview内所有选定项目 取TShellListView
中
选定文件的路径 取列举值的名称 在combobox
中
实现autocomplete 在DBGrid
中
使用回车键改变到下一个段 在listbox内列出所有目录、文件和驱动器 在Listbox内显示水平滚动条 在memo
中
实现UNDO 在RichEdit内搜索文本并选择它 在StringGrid内使用Combobox作为编辑器 在StringGrid单元
中
画不同颜色 在TComboBox
中
显示栏 在TComboBox内绘制位图 在TDateTimePicker内显示星期几 在TFileListBox内显示多列 在TListBox
中
创建彩色项目 在TListBox内拖拽 在TListbox内绘制位图 在TListview内执行二进制搜索 在TListView内拖拽多个项目 在TListView列
中
创建进度条 在
TMemo
内查看和编辑MS-DOS文本 在TPageControl拖拽Tabs 在TPrintDialog上放置定制
控件
在TRichEdit内使用上标和下标 在TRichEdit内使用超链接 在TRichEdit内文本使用不同的下划线样式 在TRichedit内设置段落行距 在TStringGrid内删除一行 在TStringGrid实现OnColumnClick事件 在自己的
控件
显示信息 复制Listbox项目到剪贴板 失效TTreeview的tooltips 定制TDateTimePicker的格式 居
中
控件
屏蔽在EditBox内按回车键的都都声 强制在TEdit内输入 排序StringGrid 搜索和替换RichEdit
中
文本 搜索和选定TListBox的项目 改变TDBGrid的DefaultRowHeight 改变TRichEdit内选定文本的背景颜色 改变TStringGrid内选定单元的颜色 改变标准对话框 改变状态栏字体样式 改变窗体上所有
控件
的属性 改变进度条颜色 根据StringGrid列内容自动调整大小 根据列排序TStringGrid 检查Stringgrid
中
指定单元示范选定 检查
TMemo
能否取消操作 检查TreeView是否完全展开或折叠 检查TStringGrid是否有滚动条 添加接口对象到list 清空StringGrid的所有单元 移动listbox项目 移动TListView项目 移动TRichEdit内
光标
到指定
位置
聚焦TDBGrid某些单元 自动打开TDateTimePicker 自定义Memo边界 获取TRichEdit
中
鼠标指针下面的字 访问TRadioGroup的
控件
调整TComboBox下拉列表的宽度 转换Editbox的首字符为大写 转换TEdit
中
每个词的首字母为大写 输出TStringGrid到TListView 运行时创建TButtons队列 运行时创建
控件
运行时创建菜单项 运行时替换
控件
返回TTreeView内字符串路径 防止在TEdit内剪贴、复制、粘贴 防止用户调整TListView栏大小 限制TEdit的输入 隐藏TListView滚动条 隐藏最小化MDI子窗口 颜色Combo Box 验证TEdit
中
输入的是数字
VCL组件使用和开发
604
社区成员
13,460
社区内容
发帖
与我相关
我的任务
VCL组件使用和开发
C++ Builder VCL组件使用和开发
复制链接
扫一扫
分享
社区描述
C++ Builder VCL组件使用和开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章