VB.net调整richtextbox行间距

问题描述

我在网上搜了vb这个方面的程序,如下,但是,我现在只能把行间距,缩小为原来的一半,也就是上面的那部分的间距去掉了,下面的还在。bLineSpacingRule,dyLineSpacing这两个参数设置成什么,才能去掉全部的行间距啊。我现在是各种大小的字体的行间距全都不要。随着vb6几个补丁的退出,事实上richtextbox正悄悄发生变化,它已经支持richedit2.0了,所以我们可以设置结构体PARAFORMAT2的dyLineSpacing成员,然后将PARAFORMAT2结构体作为lparam参数,对richtextbox发送EM_SETPARAFORMAT消息,即可实现我们的要求,具体代码如下:OptionExplicitPrivateDeclareFunctionSendMessage&Lib"user32"Alias"SendMessageA"_(ByValhwndAsLong,ByValwMsgAsLong,_ByValwParamAsLong,lParamAsAny)PrivateConstWM_USER&=&H400PrivateConstEM_GETPARAFORMAT=(WM_USER+61)PrivateConstEM_SETPARAFORMAT=(WM_USER+71)PrivateConstMAX_TAB_STOPS=32&PrivateTypePARAFORMAT2'LosprimeroscamposcoincidenconPARAFORMATyseusanigualcbSizeAsIntegerwPad1AsIntegerdwMaskAsLongwNumberingAsIntegerwEffectsAsInteger'NousadoenPARAFORMATdxStartIndentAsLongdxRightIndentAsLongdxOffsetAsLongwAlignmentAsIntegercTabCountAsIntegerlTabStops(0ToMAX_TAB_STOPS-1)AsLong'Desdeaquíloa?adidoporPARAFORMAT2dySpaceBeforeAsLong'/*Verticalspacingbeforepara*/dySpaceAfterAsLong'/*Verticalspacingafterpara*/dyLineSpacingAsLong'/*LinespacingdependingonRule*/sStyleAsInteger'/*Stylehandle*/bLineSpacingRuleAsByte'/*Ruleforlinespacing(seetom.doc)*/bOutlineLevelAsByte'/*OutlineLevel*/'antesbCRCAsBytewShadingWeightAsInteger'/*Shadinginhundredthsofapercent*/wShadingStyleAsInteger'/*Byte0:style,nib2:cfpat,3:cbpat*/wNumberingStartAsInteger'/*Startingvaluefornumbering*/wNumberingStyleAsInteger'/*Alignment,Roman/Arabic,(),),.,etc.*/wNumberingTabAsInteger'/*Spacebet1stindentand1st-linetext*/wBorderSpaceAsInteger'/*Border-textspaces(nbl/bdrinpts)*/wBorderWidthAsInteger'/*Penwidths(nbl/bdrinhalftwips)*/wBordersAsInteger'/*Borderstyles(nibble/border)*/EndType'/*PARAFORMATmaskvalues*/PrivateConstPFM_STARTINDENT=&H1&PrivateConstPFM_RIGHTINDENT=&H2&PrivateConstPFM_OFFSET=&H4&PrivateConstPFM_ALIGNMENT=&H8&PrivateConstPFM_TABSTOPS=&H10&PrivateConstPFM_NUMBERING=&H20&PrivateConstPFM_OFFSETINDENT=&H80000000'/*PARAFORMATnumberingoptions*/PrivateConstPFN_BULLET=&H1&'/*PARAFORMATalignmentoptions*/PrivateConstPFA_LEFT=&H1&PrivateConstPFA_RIGHT=&H2&PrivateConstPFA_CENTER=&H3&'/*PARAFORMAT2.0masks*/PrivateConstPFM_SPACEBEFORE=&H40&PrivateConstPFM_SPACEAFTER=&H80&PrivateConstPFM_LINESPACING=&H100&PrivateConstPFM_STYLE=&H400&PrivateConstPFM_NUMBERINGSTYLE=&H2000&'/*RE3.0*/PrivateConstPFM_NUMBERINGTAB=&H4000&'/*RE3.0*/PrivateConstPFM_NUMBERINGSTART=&H8000&'/*RE3.0*/PrivateConstPFM_TABLE=&HC0000000'/*RE3.0*/'//ThefollowingthreepropertiesarereadonlyPrivateConstPFM_COLLAPSED=&H1000000'/*RE3.0*/PrivateConstPFM_OUTLINELEVEL=&H2000000'/*RE3.0*/PrivateConstPFM_BOX=&H4000000'/*RE3.0*/'/*PARAFORMAT2wNumberingoptions(seealsoPFN_BULLET)*/PrivateConstPFN_ARABIC=2'/*tomListNumberAsArabic:0,1,2,...*/PrivateConstPFN_LCLETTER=3'/*tomListNumberAsLCLetter:a,b,c,...*/PrivateConstPFN_UCLETTER=4'/*tomListNumberAsUCLetter:A,B,C,...*/PrivateConstPFN_LCROMAN=5'/*tomListNumberAsLCRoman:i,ii,iii,...*/PrivateConstPFN_UCROMAN=6'/*tomListNumberAsUCRoman:I,II,III,...*/'/*PARAFORMAT2wNumberingStyleoptions*/PrivateConstPFNS_PAREN=&H0'/*default,e.g.,1)*/PrivateConstPFNS_PARENS=&H100'/*tomListParentheses/256,e.g.,(1)*/PrivateConstPFNS_PERIOD=&H200'/*tomListPeriod/256,e.g.,1.*/PrivateConstPFNS_PLAIN=&H300'/*tomListPlain/256,e.g.,1*/PrivateConstPFNS_NONUMBER=&H400'/*Usedforcontinuationw/onumberPrivateSubForm_Load()DimpfAsPARAFORMAT2Withpf.cbSize=LenB(pf)pf.dwMask=PFM_LINESPACING.bLineSpacingRule=4.dyLineSpacing=me.richtextbox1.font.size*22EndWithDimiAsLongi=SendMessage(RichTextBox1.hwnd,EM_SETPARAFORMAT,0,ByValVarPtr(pf))EndSub

解决方案

解决方案二:
help

时间: 2024-10-04 14:41:15

VB.net调整richtextbox行间距的相关文章

vb.net中richtextbox控件字体颜色的设置

问题描述 两个本地记事本的内容进行比较,不同的用颜色进行标记While(Notfs.EndOfStream)str=fs.ReadLine()str1=ft.ReadLine()RichTextBox1.Text+=str+Chr(13)+Chr(10)RichTextBox2.Text+=str1+Chr(13)+Chr(10)Ifstr.Length<=str1.LengthThenFori=0Tostr.Length-1Ifstr.Substring(i,1)<>str1.Subs

VB.NET调整图片大小(所占空间)

问题描述 需要一段代码,实现自动判断一张图片所占空间,如果超过260K,就自动调整到260K以下,哪位大大可以帮忙解决! 解决方案 解决方案二:ProtectedSubLinkButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesLinkButton1.ClickIfimg.Height<>300Andimg.Width<>300Thenimg.Height=300img.Width=300EndIfEn

调整软件行间距时显示下面条目

问题描述 有关调用实时(JIT)调试而不是此对话框的详细信息,请参见此消息的结尾.**************异常文本**************System.FormatException:输入字符串的格式不正确.在System.Number.StringToNumber(Stringstr,NumberStylesoptions,NumberBuffer&number,NumberFormatInfoinfo,BooleanparseDecimal)在System.Number.ParseI

控件-大神求解! 表情显示怎么实现啊!

问题描述 大神求解! 表情显示怎么实现啊! 大神求解! 表情显示怎么实现啊!需要什么控件???求方法!谢谢了 解决方案 什么语言也没说.如果是C# VB,用richtextbox,如果是web,用各种编辑器,比如fkcedit等. 解决方案二: 类似http://blog.csdn.net/xianfajushi/article/details/4763800 解决方案三: http://blog.csdn.net/baidu_33396702/article/details/50349861

在WPS Office 2005中实现多行合一

在编辑政府公文中多行合一是经常要用到的一种格式,但不知为何在WPS 2005 政府版的金山文字中却没有提供多行合一的功能.笔者经过几番试验找到了两种解决方法. 合并字符 在金山文字中合并字符可以对输入字符进行双行合一,但是只能处理6个字.我们只要能突破6个字的限制就可以了. 打开金山文字,单击菜单"格式→中文版式→合并字符",在弹出窗口中随意输入几个字如:中国电脑教育报,设置字体为宋体.字号五号,确定插入合并字符.右击插入的合并字符选择"切换域代码",就可以看到一串

轻松调整VB.NET控件

控件 轻松调整VB.NET控件 作者: BUILDER.COMWednesday, March 5 2003 10:48 AM Visual Basic .NET使得放置和调整控件的工作比在Visual Basic 6中要容易得多.大多数System.Windows.Forms命名空间里的可视控件是由Control类继承下来的,它可以实现两种属性:Anchor和Dock. Anchor属性可以被设定为Top,Bottom,Left和Right的任何组合.默认设置是Top,Left.这可以保持控件

VB图像处理,(六)图像的亮度对比度调整

在图像处理中,恐怕大家最熟悉的就是对于图像的亮度和对比度调整了.前面一定也有很多人写过这样的文章了,但是想把我的这个系列作一个完整的小结,我就再罗嗦一番了.还是以24位色图像为例子,每种色彩都可以用0-255,一共256种深度来表示.如果我们把它画在一个二维坐标上,正好是一条直线.比如我们将像素的色深作为横坐标,输出色深作为纵坐标的画,正好是一条经过原点(0,0)的45度斜线. 如图中直线A所表示的,角T为45度,表示它的对比度正好为1.那么很容易就可以写出它的直线方程:Out = In * 1

MathType公式行间距如何调整

  MathType公式行间距如何调整 1.按照自己的使用习惯打开MathType公式编辑器,进入到公式编辑界面. 打开软件进入编辑状态 2.进入到编辑界面后,点击MathType菜单中的"格式"--"行距". 点击MathType菜单中的"格式"--"行距" 3.这时会弹出一个定义间距的对话框,在对话框中更改行距的数值就可以了. 修改行间距的数值 提示:除了上面这个操作步骤外,还有另外一个操作步骤,即用鼠标点击"格

word2010中怎么调整行间距

  在使用Word 文档保存文字时,有时候某个段落太长,影响了美观,这时我们可以通过调整行间距来将此段落的距离调整短一点. 步骤/方法 打开Word 文档,选中要调整行间距的文字 鼠标右键,弹出的菜单单击"段落"命令 出来的界面单击"缩进和间距"选项卡 在间距下单击段前和段后的三角按钮来调整行间距 我们也可以通过行距中的1.5 倍行距.2倍行距.最小值.固定值.多倍行距数值来调整行间距 最后让我们来看一下效果