Hello mates,
i am pretty new to this forum.. i am a midrange c++ programmer.
if i have to create an IDE in c++ that involves basic drawing tools, what should i learn and where should i start??
is it a big task?
can anyone explain me or direct me to a concept that explains this?
thank you :)

Recommended Answers

All 16 Replies

>>is it a big task?
Yes -- Microsoft has been developing theirs for some 20 years now.

>>can anyone explain me or direct me to a concept that explains this?
Just buy the educational version (I assume you are a student, so you are eligible for huge discounts), install, and learn to use VC++ 2008. This will give you all the features you are looking for -- plus a lot you don't need for your project.

I don't know of a free IDE that contains drawing tools.

hi ancient dragon.. thanks:)
so it is a big task after all..:-O
but my stupid professors wont accept it :D
you know, they want us to complete a project within a week..
here's what they say, ;)
1. You have to develop an IDE (Very simple) with drawing tools to create a pattern.
2. IDE should allow you to specify the dimension of brick. (i.e in the form of rectangular) For example: 400 height * 400 width
3. IDE should allow you to use all possible tools to draw shapes (Bezier curves, Line, and arcs) on rectangular base to get a desired pattern piece.
4. Finally, the created piece should be stored with accurate dimension in a file and later if we want then it must be reconstructed and displayed in the IDE.

is there a way that i could atleast get a grip of the basics..
like how to create an ide in c++.. what are the things that i need and what part of functions should i know??
is there anything that you recommend me to learn (for the basics in creating ide)?? just the basic part??
thanks for the reply :)

hi ancient dragon.. thanks:)
so it is a big task after all..:-O
but my stupid professors wont accept it :D
you know, they want us to complete a project within a week..
here's what they say, ;)
1. You have to develop an IDE (Very simple) with drawing tools to create a pattern.
2. IDE should allow you to specify the dimension of brick. (i.e in the form of rectangular) For example: 400 height * 400 width
3. IDE should allow you to use all possible tools to draw shapes (Bezier curves, Line, and arcs) on rectangular base to get a desired pattern piece.
4. Finally, the created piece should be stored with accurate dimension in a file and later if we want then it must be reconstructed and displayed in the IDE.

is there a way that i could atleast get a grip of the basics..
like how to create an ide in c++.. what are the things that i need and what part of functions should i know??
is there anything that you recommend me to learn (for the basics in creating ide)?? just the basic part??
thanks for the reply :)

How is that an IDE? Sounds more like a basic Paint/CAD program. IDEs have text editors, debuggers, and stuff like that. If the question is how to draw/paint shapes in a GUI project, that's a different question. Is that the question?

In this case, perhaps IDE means Interactive Drawing Environment!
IDE usually means "Integrated Development Environment," such as Visual-C++.

basically, i know nothing abt c++ graphics..
they issued the papers and asked us to call them on after hours, if we have a doubt.. but they wont be available in the after hours.
if i assume that you can understand the problem statement..
in that case, can you direct me to a place/book where i can learn how to arrive at the solution.
thanks

hey, if i understand correctly from you guys,

# i have to write a program that draws different shapes based on user inputs.
# store it in a file
# restore and display it when the file was specified..

is that it??

Hello mates,
i am pretty new to this forum.. i am a midrange c++ programmer.
if i have to create an IDE in c++ that involves basic drawing tools, what should i learn and where should i start??
is it a big task?
can anyone explain me or direct me to a concept that explains this?
thank you :)

If you are on Windows, drawing is handled in the GDI+ library (for most 2D tasks); it is both simple and fairly powerful for drawing in 2D in a Window, and it supports printing also. If you are trying to be platform independent, a cross-platform drawing library such as OpenGL is supported on most platforms, though it is a bit more complex (but there are libraries that sit on top of OpenGL such as GLUT that make the job easier).
The difficulty is more a matter of the feature set you are required to implement. Basic drawing tools ca be done on these libraries relatively simply.

Thanx...
Sean

What operating system and compiler are you using ? *nix, MS-Windows, and MAC have very different drawing api functions.

If you are using Microsoft compilers on MS-Windows then you could probably write such a program using MFC, which is a c++ class that is like a wrapper for win32 api functions.

yes, i use ms-windows (vista)
can you pls tell me what should i learn for this?
like mfc.. what other things are there?
and one more thing.. i know nothing about vc++. so for now, i need to go with c++
thanks

MFC has about a year's learning curve to learn it well, but you can get a basic program going in just a day or so. I assume OpenGL and wxWidgets is several months too. In all cases you need a pretty firm grasp of c++ fundamentals.

You could use pure win32 api functions -- here's a tutorial.

MFC has about a year's learning curve to learn it well, but you can get a basic program going in just a day or so. I assume OpenGL and wxWidgets is several months too. In all cases you need a pretty firm grasp of c++ fundamentals.

You could use pure win32 api functions -- here's a tutorial.

Yes agree ! I still learning the MFC. and win32 learning gets even more time.

Anyway I got a new idea , what about using SDL ?
http://www.libsdl.org/

one of my friend make a CAD program in months using that library.
unlike win32 or MFC or OpenGL that SDL is easy and cross compatiable across many OSes.

Just an idea , just take a look at SDL too.

This is a straightforward program to write with basic WinAPI functions. No MFC (that would be a waste of time unless you know it already) and certainly no OpenGL!
You can either use GDI or the newerGDI+.

commented: GDI and GDI+ now I just reading some tutorial about it. Just started ! +1

OpenGL is supported on almost all platforms as well, and there is a utility library (GLUT) which is built on top of OpenGL that is pretty easy to use, and handles windows and messaging, etc. in a cross-platform library. OpenGL is nice in that it is a standard that is already built into most platforms, so it is stable and you probably won't have to deal with a 3rd party library.
That being said, it really depends on what the requirements are for the project. Depending on a 3rd party library may be fine for what you are planning.

Thanx,
Sean

Ah, I just noticed a bit on the SDL site; the video portion is implemented via OpenGL ;P

The GLUT (openGL Utility Toolkit) library simplifies window management, and drawing within the window, mouse input, etc. One of the other things about SDL is that it looks like it contains you don't need, such as audio.

commented: GLUT ! hmm looks like a new thing ! never heard it before thanks ! now I'm reading some tutorials , may be that's easiear than the SDL. However I just post my experience my friend finished a complete CAD circuit simulator in three months for project +1

It sounds like GLUT may be easier than GDI(+).

different ppl knows different types of graphics libraries and how to use them.
>>
For the windows GUI professional's they can see it's easy to slove this problem using win32 API or MFC.

>>
For the game programmers , they can think this is easy easy with OpenGL.

>>
for a open source person , they can think this is easy with the SDL.

This is the way those Greek ppl looking at a problem. Let's english please.
hmm , so I cannot say this will be easy for you. Just take a look at all and select your choice. But my advice is learning win32 , MFC or OpenGL got around at least 3 months ( assuming that you're very smart). So use a simple library. No matter it's third party or not.
finally it's up to you to choose.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.