|
web
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
length of stringHi,
From a C# application am I writing some text in a Word.Table, in a Cell of the Table to be more precise. The cell has a certain width and any string written in the cell will cover one or more lines in the cell depending on its length. In other words, it will use wordwrapping Now, I have to determine the amount of lines that the text will take when written in the cell. How can I do this ? thnx Chris where is your string coming from before you insert it into the table?
StringBuilder? String array? need some more info/code snippet to help Hi,
it is just a string. some code : m_table1.Cell(3, 4).Width = 200; m_table1.Cell(3, 4).Range.Text = "This is my test string. It's length can vary..." Show quoteHide quote "dkode" <dko***@gmail.com> wrote in message news:1142361785.950597.211720@j52g2000cwj.googlegroups.com... > where is your string coming from before you insert it into the table? > StringBuilder? String array? > > need some more info/code snippet to help > you can do the following:
string myString = "This is my test string. It's length can vary."; m_table1.Cell(3, 4).Width = 200; if (myString.Length > 200) { // do processing or break apart the string into seperate lines I.E. string stringPart = myString.Substring(0, 200); string stringPart2 = myString.Substring(200, 200); } is this what your looking for? Hi,
I don't think this is what the OP wants, he wants to know how many rows were used to display the string when it was drawn in the screen. The cell width is a pixel value, where the string length is in char, of course one char does not fit in one pixel , so there is where the thing gets nasty :) OP: See my other post to how to measure a string's representation in the screen -- Show quoteHide quoteIgnacio Machin, ignacio.machin AT dot.state.fl.us Florida Department Of Transportation "dkode" <dko***@gmail.com> wrote in message news:1142363492.766309.37610@p10g2000cwp.googlegroups.com... > you can do the following: > > string myString = "This is my test string. It's length can vary."; > > m_table1.Cell(3, 4).Width = 200; > if (myString.Length > 200) { > // do processing or break apart the string into seperate lines I.E. > string stringPart = myString.Substring(0, 200); > string stringPart2 = myString.Substring(200, 200); > } > > is this what your looking for? > Hi,
You can use Graphics.MeasureString but you need to know the font, another problem is the wordwrapping , I bet you would have to build your own wrapping algorith and see how many lines you get -- Show quoteHide quoteIgnacio Machin, ignacio.machin AT dot.state.fl.us Florida Department Of Transportation "cc" <cmr***@yahoo.com> wrote in message news:44170a6e$0$15359$ba620e4c@news.skynet.be... > Hi, > > From a C# application am I writing some text in a Word.Table, in a Cell of > the Table to be more precise. > > The cell has a certain width and any string written in the cell will cover > one or more lines in the cell depending on its length. In other words, it > will use wordwrapping > > Now, I have to determine the amount of lines that the text will take when > written in the cell. > How can I do this ? > > thnx > Chris > >
Show quote
Hide quote
> "cc" <cmr***@yahoo.com> wrote in message Ignacio Machin ( .NET/ C# MVP ) wrote:> news:44170a6e$0$15359$ba620e4c@news.skynet.be... >> Hi, >> >> From a C# application am I writing some text in a Word.Table, in a >> Cell of the Table to be more precise. >> >> The cell has a certain width and any string written in the cell will >> cover one or more lines in the cell depending on its length. In >> other words, it will use wordwrapping >> >> Now, I have to determine the amount of lines that the text will take >> when written in the cell. >> How can I do this ? >> >> thnx >> Chris > Hi, Or give it the dimensions of the cell..> > You can use Graphics.MeasureString but you need to know the font, > another problem is the wordwrapping , I bet you would have to build > your own wrapping algorith and see how many lines you get Overloads Public Function MeasureString( _ ByVal text As String, _ ByVal font As Font, _ ByVal layoutArea As SizeF _ ) As SizeF Show quoteHide quote :-) There is an overloaded .measurestring method that allows passing it the width
and returning the size which will give you the height. Divide this by the font height and you will get the no. of lines. -- Show quoteHide quoteDennis in Houston "dotNuttah" wrote: > > "cc" <cmr***@yahoo.com> wrote in message > > news:44170a6e$0$15359$ba620e4c@news.skynet.be... > >> Hi, > >> > >> From a C# application am I writing some text in a Word.Table, in a > >> Cell of the Table to be more precise. > >> > >> The cell has a certain width and any string written in the cell will > >> cover one or more lines in the cell depending on its length. In > >> other words, it will use wordwrapping > >> > >> Now, I have to determine the amount of lines that the text will take > >> when written in the cell. > >> How can I do this ? > >> > >> thnx > >> Chris > > > Ignacio Machin ( .NET/ C# MVP ) wrote: > > Hi, > > > > You can use Graphics.MeasureString but you need to know the font, > > another problem is the wordwrapping , I bet you would have to build > > your own wrapping algorith and see how many lines you get > > > Or give it the dimensions of the cell.. > > Overloads Public Function MeasureString( _ > ByVal text As String, _ > ByVal font As Font, _ > ByVal layoutArea As SizeF _ > ) As SizeF > > :-) > > > "Dennis" <Den***@discussions.microsoft.com> wrote in message Sure, that will work.news:F73678C0-C761-4569-A22D-8ADE6F786CF5@microsoft.com... > There is an overloaded .measurestring method that allows passing it the width > and returning the size which will give you the height. Divide this by the > font height and you will get the no. of lines. > -- As long as you don't mind silly little things like line breaks in mid character. You really need a more involved algorithm to do proper word wrapping. Bill It's really a pretty simple algorthim to break the string into multiple
strings at the line breaks then use measurestring on each substring and add in lines for each line break. The user should be able to extrapolate from measurestring method to this algorthim. -- Show quoteHide quoteDennis in Houston "Bill Butler" wrote: > "Dennis" <Den***@discussions.microsoft.com> wrote in message > news:F73678C0-C761-4569-A22D-8ADE6F786CF5@microsoft.com... > > There is an overloaded .measurestring method that allows passing it the width > > and returning the size which will give you the height. Divide this by the > > font height and you will get the no. of lines. > > -- > > Sure, that will work. > As long as you don't mind silly little things like line breaks in mid character. > > You really need a more involved algorithm to do proper word wrapping. > > Bill > > > Hello, Chris,
Just a thought... Do you really need to know the number of lines before you write to the cell? Or could you write to the cell, and then ask: "How many lines are in the cell?" Cheers, Randy cc wrote: Show quoteHide quote > Hi, > > From a C# application am I writing some text in a Word.Table, in a Cell of > the Table to be more precise. > > The cell has a certain width and any string written in the cell will cover > one or more lines in the cell depending on its length. In other words, it > will use wordwrapping > > Now, I have to determine the amount of lines that the text will take when > written in the cell. > How can I do this ? > > thnx > Chris > > That might be an option...
But I'll probably have a look at the Graphics.Measuestring() thanks to all of you ! Chris Show quoteHide quote "R. MacDonald" <sci***@NO-SP-AMcips.ca> wrote in message news:4417d165$0$88191$dbd45001@news.wanadoo.nl... > Hello, Chris, > > Just a thought... > > Do you really need to know the number of lines before you write to the > cell? Or could you write to the cell, and then ask: "How many lines are > in the cell?" > > Cheers, > Randy > > > cc wrote: > > Hi, > > > > From a C# application am I writing some text in a Word.Table, in a Cell of > > the Table to be more precise. > > > > The cell has a certain width and any string written in the cell will cover > > one or more lines in the cell depending on its length. In other words, it > > will use wordwrapping > > > > Now, I have to determine the amount of lines that the text will take when > > written in the cell. > > How can I do this ? > > > > thnx > > Chris > > > >
Adding Button Programatically - have an answer???
XML to ODBC DataView Multiple Change Sub Main is not waiting!!!?? Visual Studio 2003 Menu on form.vb Adding data to database including resource files Sending web email Enabling / Disabling Tab Pages XmlDocument object to string - plase help with unusual character! |
|||||||||||||||||||||||