Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

mfc: CDHtmlDialog question

Posted on 2011-02-14
8
Medium Priority
?
867 Views
Last Modified: 2012-05-11
Dear expert,

I am working on an application that needs a functionality to compare two files content. I found code for an application that does it. That application renders the results in html format. But I need to be able to select random lines and process the content. So I was going to just redo the application to render the results in e.g. multiline Edit control. But I bumped into CDHtmlDialog. I have never used it, but it seems that it could allow me to render my html in it. Could you please tell me if that dialog will allow me to select lines and get the selected content etc.? Maybe you could give me even an exampe?
Thanks.
0
Comment
Question by:tantormedia
[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
  • 4
8 Comments
 
LVL 35

Expert Comment

by:sarabande
ID: 34895524
what is the connection between files to compare and html dialog? are the files html code? are the lines to compare lines of the (text) files or visible text of a web page or web control?

Sara
0
 

Author Comment

by:tantormedia
ID: 34896479
I wrote about comparing texts only to give the general context of my work. The files are not html code, but the result is rendered as html in a browser. Instead, it should be rendered somehow in a dialog box so that the user could select lines and accept or reject changes of random lines.
I guess I would have to use just two listboxes...
0
 
LVL 35

Accepted Solution

by:
sarabande earned 2000 total points
ID: 34896654
there is not much to 'render' when displaying lines in a listbox. read the lines from textfile by calling

     getline(file, strline);

where file is an opened std::ifstream and strline is a std::string. then you can add the strings to a listbox by

   m_listbox1.AddString(strline.c_str());

you also could think of a list control what would allow to add line numbers or a checkbox for each row.

Sara
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 

Author Comment

by:tantormedia
ID: 34897319
Sara, I was thinking about CListCtrl, but not sure if it could handle very long lines. With CListBox, I know how to add horizontal scroll.
0
 

Author Comment

by:tantormedia
ID: 34897334
Also, I need to have lines of either text or backrgound of different colors based of kind of change detected, if any, e.g. Green for added, Red for deleted, Yellow for modified.
0
 
LVL 35

Expert Comment

by:sarabande
ID: 34898101
you can resize the list control column widths by mouse  and have a horizontal scroll as well. however that is only practical if you not really need to see all text in most cases.

another thought is to have two static text controls with horizontal scrollbar  and no verical scrollbar on them. then add a separate vertical scrollbar as an own control where you would do the vertical scrolling for both textboxes yourself.

Sara
0
 

Author Comment

by:tantormedia
ID: 34898132
Two static text controls will not let me select randorm records... Or add line numbers, as you said...
0
 
LVL 35

Expert Comment

by:sarabande
ID: 34898855
i once made a own tree control and base class was owner-draw CListBox if i remember correctly. i mean to remember that i added ON_WM_VSCROLL to message map of the control which would need an override of the

   afx_msg void OnVScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar );

you might try whether you get this message handler being called.

Sara
0

Featured Post

Independent Software Vendors: 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!

Question has a verified solution.

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

When writing generic code, using template meta-programming techniques, it is sometimes useful to know if a type is convertible to another type. A good example of when this might be is if you are writing diagnostic instrumentation for code to generat…
Introduction This article is the first in a series of articles about the C/C++ Visual Studio Express debugger.  It provides a quick start guide in using the debugger. Part 2 focuses on additional topics in breakpoints.  Lastly, Part 3 focuses on th…
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.

722 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