Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 347
  • Last Modified:

How to insert a thick Line into RichEditCtrl??

Hi,

I am inserting a line into RichEditCtrl using AppendToLog() function(The defination of this function is attached as Code Snippet).......I am Calling this function as AppendToLog("______________________________________________________",RGB(24,233,170));
This call will insert a line into RichEditctrl(Which is not Thick),But i need this line to be inserted as a Very Thick Line..How can i solve this problem???
int CEncopyDlg::AppendToLog(CString str,COLORREF linecolor)
{
  int nOldLines = 0, nNewLines = 0, nScroll = 0;
  long nInsertionPoint = 0;
  CHARFORMAT cf;
  // Save number of lines before insertion of new text
  nOldLines = m_ctrlLog.GetLineCount();
  // Initialize character format structure
  cf.cbSize = sizeof(CHARFORMAT);
  cf.dwMask = CFM_COLOR;
  cf.dwEffects = 0; // To disable CFE_AUTOCOLOR
  cf.crTextColor = linecolor;
  // Set insertion point to end of text
  nInsertionPoint = m_ctrlLog.GetWindowTextLength();
  m_ctrlLog.SetSel(nInsertionPoint, -1);
  // Set the character format
  m_ctrlLog.SetSelectionCharFormat(cf);
  // Replace selection. Because we have nothing 
  // selected, this will simply insert
  // the string at the current caret position.
  m_ctrlLog.ReplaceSel(str);
  // Get new line count
  nNewLines = m_ctrlLog.GetLineCount();
  // Scroll by the number of lines just inserted
  nScroll = nNewLines - nOldLines;
  m_ctrlLog.LineScroll(nScroll);
  return 0;
}

Open in new window

0
Rajeshm8484
Asked:
Rajeshm8484
  • 4
  • 2
1 Solution
 
Jaime OlivaresSoftware ArchitectCommented:
you have to insert a formatted paragraph with border like:

\par \brdrb\brdrs\brdrw50
0
 
Rajeshm8484Author Commented:
I did not understand,what ur trying to convey?So please explain briefly.
0
 
Jaime OlivaresSoftware ArchitectCommented:
it can be easier, the trick is the border. you don't have to add hyphens, just format a paragraph with a bottom border. It can be done by manipulating the PARAFORMAT2 structure, the following members:
    wBorderSpace
    wBorderWidth
    wBorders

More info at:
http://msdn.microsoft.com/en-us/library/bb787942(VS.85).aspx
0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
Rajeshm8484Author Commented:
Hi Jaime,

I have tried using PARAFORMAT2 structure for inserting a Thick line into Rich Edit Control......But i did not find any differences.

The code is :

  PARAFORMAT2 format;
  format.cbSize=sizeof(PARAFORMAT2);
  format.dwMask=PFM_BORDER;
  format.wBorderWidth=9000;
  format.wBorders=0x08 | 0x900 | 0x8000;
  m_ctrlLog.SetParaFormat(format);

0
 
Rajeshm8484Author Commented:
Hi,

PARAFORMAT2 structure with the above mentioned parameters is inserting a thick line into my RichRditControl.

ALso we can use CHARFORMAT2 structure in my Appendlog function(which is attached as code snippet) and change the parameters cf.dwMask = CFM_COLOR to cf.dwMask = CFM_COLOR|CFM_SIZE; and include cf.yheight=1000;
which also will insert a thick line ....

Thanks and Regards,
Rajesh.M
0
 
Rajeshm8484Author Commented:
Thanks a lot jaime,it helped me a lot....Please try to give suggestions whenever i post a questions..
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

  • 4
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now