Solved

How to draw a line just below to the main line in VC++

Posted on 2004-04-21
17
180 Views
Last Modified: 2013-11-20
I want to draw a line in the MDI application of the MFC(VC++).
On each OnLButtonDown(UINT nFlags, CPoint point), i'll get the point & those points i'll save it in the CArray<CPoint,CPoint> member variable.
OnLButtonDblClk(UINT nFlags, CPoint point) by using for loop i'll draw the line based on the CArray<CPoint,CPoint> member variable.
As soon as line will be visible on the view. I want  another line just below to the main line. I've to calculate the points for this another line based on the Main line stored point. How should i do that.
If you have any solution for this please let me know.
With Regards
Kapil
0
Comment
Question by:kdtyagi
  • 7
  • 5
17 Comments
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 10886258
Main line - x1y1, x2y2, x3y3 ...
To draw
MoveTo(x1, y1);  LineTo(x2, y2); LineTo(x3, y3); ...

Now for your second line. set an offset variable to the offset required
int Offset = 5;

MoveTo(x1, y1+Offset); LineTo(x2, y2+Offset); LineTo(x3, y3+Offset); ...
0
 

Author Comment

by:kdtyagi
ID: 10925766
For Digital waveform it doesn't work.
With Regards
Kapil
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 10925815
How can it NOT work?
Maybe you should rephrase your question
0
 

Author Comment

by:kdtyagi
ID: 10935600
Sorry may be my question is not correct. I want to draw a line just replication of the original one. In this scenario the replicate of digital waveform (just below) to the original one, horizontal line won't be having any problem but the vertical will have the problem.

According to the your code it gives the shadow look, instead of shadow look i want a line just beside to the main line. The same shape should appear.
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 10935744
try
int Offset = 10;   //or 20 instead of 5
0
 

Author Comment

by:kdtyagi
ID: 10935991
If you will give me your email id i can send you the bitmap so that you will get the clear picture.
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 44

Expert Comment

by:AndyAinscow
ID: 10936450
info@ainscow.ch
0
 
LVL 44

Accepted Solution

by:
AndyAinscow earned 150 total points
ID: 10937687
Oh dear.
The line isn't just below the original.  In places it is also offset horizontally.

Roughly you need to do the following.
Find the joints (horizontal to vertical direction change or vice versa)
Based on the joints create a second array where the points are moved by both a horizontal AND vertical offset.  The direction of the horizontal offset is dependant on the direction of the line change.
Then draw the line defined by these second points.

I don't have any code for this.  It sounds complex but in reality it's just messy to code.
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 11125410
I believe I have told him what he needs to do o accomplish the task.
0
 

Author Comment

by:kdtyagi
ID: 11158588
No one gave me the answer so please close this answer i'll solve myself.
With Regards
Kapil
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 11159147
The logic he requires is what my final comment supplies.
0
 

Author Comment

by:kdtyagi
ID: 12235031
To Administrative,
How to delete the question.
0

Featured Post

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

Introduction: Displaying information on the statusbar.   Continuing from the third article about sudoku.   Open the project in visual studio. Status bar – let’s display the timestamp there.  We need to get the timestamp from the document s…
Introduction: Database storage, where is the exe actually on the disc? Playing a game selected randomly (how to generate random numbers).  Error trapping with try..catch to help the code run even if something goes wrong. Continuing from the seve…
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.
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

759 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

Need Help in Real-Time?

Connect with top rated Experts

24 Experts available now in Live!

Get 1:1 Help Now