Click here to Skip to main content
15,895,774 members

Pattern or Framework for Complex Diagramm Application

neyerMat asked:

Open original thread
Hi,

we have a Software which is developed in MFC. We are drawing documents with GDI+. The output is primary on screen but EMF, Printing and export as several image formats are supported as well. As it's all done with GDI+ that's no big deal in MFC. Just generate a Device for Printer, EMF, Image or whatever and draw the documents with the device....

But now there is the idea to redesign the whole application. We have several years of experience with C# so we wanna use the .NET technology. there's still the question to use WPF or Windows Forms. Anyway at the moment we are using WinForms.

We've already made a small framework where UserControls take place. A page is a UserControl and contains diagrams(also UserControls) or other elements like TextBoxes, ImageBoxes, etc. For Printing we just use the .ToBitmap() method of the UserControls.

|----------------|
|.....page.......|
|.|----|.........|
|.|diag|.........|
|.|----|.........|
|................|
|----------------|

With this approach we are not able to create accurate graphics (Draw directly on the Printer or create EMF). The outputs of this applicaton is also used in Print Media --> so it has to be very accurate. Using the .NET Framework built in Printing classes would mean to code the "Drawing" method of each Control. That's a lot of work and the implemenation of the GUI would be different from the Printing. I also found out that WMF/EMF is not supported in WPF. Also the support in WinForms is quite bad.
As the layout of the document is designed by the user at runtime, Reporting Frameworks are not an option.

So here are my question(s):
Is there any guide line, design pattern, framework or any other information to build such an application? (Dynamic layout at runtime, output as EMF (or similar), Printing.
WMF/EMF is very old, but it's still the only way to get accurate graphics from applications into office, InDesign, etc. Is that correct?

Thanks in advance for any suggestions!
Tags: C#, C++/CLI, MFC, WPF, Windows Forms, Graphics

Plain Text
ASM
ASP
ASP.NET
BASIC
BAT
C#
C++
COBOL
CoffeeScript
CSS
Dart
dbase
F#
FORTRAN
HTML
Java
Javascript
Kotlin
Lua
MIDL
MSIL
ObjectiveC
Pascal
PERL
PHP
PowerShell
Python
Razor
Ruby
Scala
Shell
SLN
SQL
Swift
T4
Terminal
TypeScript
VB
VBScript
XML
YAML

Preview



When answering a question please:
  1. Read the question carefully.
  2. Understand that English isn't everyone's first language so be lenient of bad spelling and grammar.
  3. If a question is poorly phrased then either ask for clarification, ignore it, or edit the question and fix the problem. Insults are not welcome.
  4. Don't tell someone to read the manual. Chances are they have and don't get it. Provide an answer or move on to the next question.
Let's work to help developers, not make them feel stupid.
Please note that all posts will be submitted under the http://www.codeproject.com/info/cpol10.aspx.



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900