Solved

How to insert a thick Line into RichEditCtrl??

Posted on 2008-06-22
6
330 Views
Last Modified: 2013-11-20
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
Comment
Question by:Rajeshm8484
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
6 Comments
 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 21841620
you have to insert a formatted paragraph with border like:

\par \brdrb\brdrs\brdrw50
0
 

Author Comment

by:Rajeshm8484
ID: 21841653
I did not understand,what ur trying to convey?So please explain briefly.
0
 
LVL 55

Accepted Solution

by:
Jaime Olivares earned 250 total points
ID: 21841743
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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:Rajeshm8484
ID: 21852653
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
 

Author Comment

by:Rajeshm8484
ID: 21862790
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
 

Author Closing Comment

by:Rajeshm8484
ID: 31469552
Thanks a lot jaime,it helped me a lot....Please try to give suggestions whenever i post a questions..
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The following diagram presents a diamond class hierarchy: As depicted, diamond inheritance denotes when two classes (e.g., CDerived1 and CDerived2), separately extending a common base class (e.g., CBase), are sub classed simultaneously by a fourt…
Introduction: Dialogs (2) modeless dialog and a worker thread.  Handling data shared between threads.  Recursive functions. Continuing from the tenth article about sudoku.   Last article we worked with a modal dialog to help maintain informat…
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…

615 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question