社区
Delphi
帖子详情
如何确定Tmemo的行距
zxfsdbj
2003-05-05 01:09:26
如题
...全文
61
3
打赏
收藏
如何确定Tmemo的行距
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sysu
2003-05-05
打赏
举报
回复
中文字似乎可以用tm.tmExternalLeading来取得,
所以可以取两者的最大值,不过好象有个别字体得到的都是0,比如Fixedsys。
至于这是什么道理我也说不上来。:-)
RowSpace:=Max(tm.tmInternalLeading, tm.tmExternalLeading);
zxfsdbj
2003-05-05
打赏
举报
回复
我查了一下资料,这样写好象可以,但对字体设为中文时不准确
procedure TForm1.Button1Click(Sender: TObject);
var
TM:TextMetric;
Hand:THandle;
OldFont:HFont;
DC:HDC;
RowSpace,tempint:Integer; //tempint为可以显示的行数
Rect:TRect;
begin
DC:=GetDC(memo1.Handle); //获取设备上下文句柄
Try
OldFont:=SelectObject(DC,Memo1.Font.Handle); //设置当前对象
Try
GetTextMetrics(DC,TM);
Memo.Perform(EM_GETRECT, 0, longint(@Rect));
tempint := (Rect.Bottom - Rect.Top) div (TM.tmHeight +
TM.tmExternalLeading);
RowSpace:=tm.tmInternalLeading;
Finally
SelectObject(DC,OldFont); //还原当前对象
end;
finally
ReleaseDC(Memo1.Handle,DC); //释放HDC
end;
showmessage(inttostr(RowSpace));
end;
pdcdiy163
2003-05-05
打赏
举报
回复
kao 这么小气~~谁愿帮你~
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中输入的是数字
[Delphi] 标准控件(Memo组件)
Edit和MaskEdit组件都只能编辑单行文本,Delphi的Memo组件提供了多行文本的编辑功能。下面解释Memo组件常用的属性。属性说明 Lines这是Memo组件最常用,也是最有用的属性,它用来显示和保存Memo组件中的内容。 Scrollbar很多组件都有这个属性。用于设定组件有否滚动条。它有四个值:
Direct2D (36) : RenderTarget.DrawText() 与 IDWriteTextFormat
TDirect2DCanvas 提供了两种输出文本的方法:TextOut()、TextRect(),因太过高级,基本没有实用价值。 TDirect2DCanvas.RenderTarget 有三种输出文本的方法:DrawText()、DrawTextLayout()、DrawGlyphRun()。 DrawText() 对文本格式的控制能力类似
TMemo
; DrawTextLayo...
示例:Windows Live Writer内容转换工具
示例:Windows Live Writer内容转换工具 说明: 最近使用Windows Live Writer写博客时,发觉
行距
过大、字体不好看。而手动修改博客的Html内容又很麻烦,所以随手写了这个工具。 界面: object Form1: TForm1 Left = 192 Top = 114 Width = 682 Height = 388 Cap
把指定文本输出到图片 - 回复 "徐一凡" 的问题
问题来源: http://www.cnblogs.com/del/archive/2008/08/10/1071357.html#1282779 本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,...
Delphi
5,392
社区成员
262,732
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章