Click to See Complete Forum and Search --> : Features I'd like to see in MFC


Zafir Anjum
May 17th, 1998, 03:10 AM
Let your wishlist items be known.
Please restrict your comments to MFC items in this thread.

As for myself, I would like the thin wrapper classes for
various controls to remain but I would love to see subclasses
that provide for simpler interfaces to these controls.



Doesn't it make sense to have a CTreeList object manage
its data, serialize it, print it, read / write from database etc.

Claude Turner
May 19th, 1998, 10:38 AM
Fix CTime so it can also convert from COleDateTime, TIMESTAMP_STRUCT, tm

Fix CTime so it will _never_ cause a GPF.

Fix CTime os it can be used with any date/time.

Allow CTime to have only parts of it valid so you can represent

times: 12:00 every day

dates: December 25

Day of the month: 1 of every month

or combinations

12:00 of the first of every month.


Add MFC support for RDO and ADO

Hans Wedemeyer
May 19th, 1998, 06:40 PM
Make CTime do Juilian dates

Industry uses it.


Hans Wedemeyer

Rob Manderson
May 20th, 1998, 04:30 AM
I'd like to see complete email and news group classes.

Hans Wedemeyer
May 24th, 1998, 10:25 AM
To manage more than just MFC classes.

Once a project uses the wizard, it's handy to add variables, and handlers to resources.


It's a pain when my own classes don't get handled that way.


Why can't it make a CObject class ! sure I can to it myself!


Hans Wedemeyer

Petr Novotny
May 26th, 1998, 06:34 AM
Hi,



1. Split MFC in two parts:

a. kind of STL replacement - objects for which I don't have to have CWinApp based application and stuff (CString, CSocket, ...)

b. the rest

2. Support for the new comctl32

3. CWinApp-based support for console applications

4. Usable support for making COM objects (MFC-based COM-object programming is such a jungle!)

Bert Moorthaemer
May 27th, 1998, 01:21 PM
I just hate the fact that you have to know all about GDI to be able to print the text 'HELLO @#$#$^$%^& WORLD' on the printer. So, I would like to see that anyone (mostly Microsoft) implemented a class to do true hierarchical reporting e.g.:


Pageheader

Header

Subheader 1 - n

Body

Subtotal 1 - n

Footer

Pagefooter

matt brown
June 1st, 1998, 01:03 AM
It would be nice to have an Outlook control like the one being used in Office 97. Maybe derived from CToolbar?

Ken Hahn
June 1st, 1998, 12:39 PM
how about a X/Linux/Unix port of the MFC classes?

*GRIN*

Ray Auchterlounie
June 2nd, 1998, 06:37 AM
Motif/X/Unix port has been on the market for sometime, see eg. http://www.bristol.com


No sign of Linux support from them though, in fact no sign of support for any Intel based Unix, maybe something in their MFC license...


On Linux, MFC is rumoured to compile under TWin32 (haven't tried it myself),

of course getting a licence to distribute the result might be tricky...


ray

Herbie Smith
June 2nd, 1998, 01:54 PM
I'd love to see a system to reconcile the logical/device coordinate systems to make it easier to code user interaction with elements drawn in a CScrollView (it's a pain to do all the LPtoDP and DPtoLP conversions)


Also a way to easily make an enhanced metafile (for OLE) which looks _EXACTLY_ like the GDI contents of a CScrollView. Major pain in the bum. I've written proportional versions of CPoint, CSize and CRect (which I intend to post to the sourcebook when they're finished) to try to make this easier, but it's still fiddly.

danny_pav
June 12th, 1998, 03:47 PM
I'd like to see:

-A return of the button that opens the corresponding header in the IDE

-support for adding file extensions to the open/save dialog boxes so I can use .hpp files.

PJ Naughter
June 15th, 1998, 05:43 PM
There's a number of shareware classes on my web site called DTime which fixes most of these problems . The URL is http://indigo.ie/~pjn

PJ Naughter
June 15th, 1998, 05:44 PM
There's some classes on my web site which include this functionality


PJ Naughter's Home Page

a b
June 16th, 1998, 07:49 PM
1.) Web-enabled VCS - like Starbase. So we can store our files on a web server over the net - great for collaborative projects.


2.) A good class-browser/editor, perhaps even graphical. Would be nice for documenting designs and free us from having to search for the files in the project browser.


3.) Better profiling tools -- Tracepoint was discontinued by Digital, maybe they'd sell the code to Microsoft.


4.) The ability to save named breakpoint configurations for debugging different scenarios.


VC is an excellent product and I am very happy to have it. There is however, always room for improvement, even if there is no more real competition for Microsoft in the PC C++ compiler market. They don't have to improve VC to sell it. However since VC is the premier tool used for creating the breadth of apps that make using non-Windows platforms look like a really bad idea, I hope the VC/Devstudio team can get the resources they need to make it better. I get the sinking feeling sometimes that all development dollars at MSFT are being consumed by Win98 and IE4,5,6,7....

Hurng-Dar Wur
June 24th, 1998, 10:35 PM
I have been looking for simple classes which can be used to displayed GIF image with only a couple lines of codes. Someone has posted a CDialog with bitmap preview feature. It's very nice. However, as the web applications grow, the developers might have/collect many GIF/JPEG images which can be included and published through the Web server. If a simple CDialog-derived class which supports GIF image file is available, the developers can use the same GIF image in different applications. I hope that the class does not depend on MS IE3/IE4 because it, to some extent, brings trouble to the end users and even the developers and thus incur extra support effort.

Ed Halley
June 25th, 1998, 02:38 PM
There are legal issues with the use of the GIF image encoding scheme.

The owners of the patent require a license fee for everyone who writes programs that encode or decode GIF images.


Because MFC is 100% source-code included, I doubt we'll see any MFC GIF code that does not rely on an already established DLL, such as the MSIE40 library. Giving source code out that operates on GIF compression algorythms is inviting a massive lawsuit.


Instead, more support for PNG format would help. This is a format that does not have any patent and license issues, and also supports nearly all of the benefits of GIF and JPG combined. Loss-less compression of heavy color images, fewer visual artifacts, support for transparency, etc.

Hurng-Dar Wur
June 25th, 1998, 11:29 PM
The MFC CView related classes are easy to use. The CScrollView class further allows the developer to draw in a broad canvas. However, it is tightly bound to the frame classes. CDialog is easy to use too. However, it has very limited space. If some guru can develop a CScrollView like custom control which can be easily embedded in a CDialog-derived class and allow the developer to draw whatever they would like to without being limited by the space because of the provided scroll bars, the CDialog-derived class will be much more powerful class than it is now.

Langis
June 27th, 1998, 01:10 AM
class CCoffee : public CDrug

{

public:

CCoffee( const CoffeeType &type, double strength );

~CCoffee(){ CleanCup(); }


virtual void Sip();

virtual void Gulp();

virtual void HeatUp();

virtual void CoolItDamnIt() const;


void OpenCDRomDriveAndInsertCup();


protected:

UINT m_CupSize;

LONG m_Content;

BOOL m_AdrenalinBoost;


// NOTE: the ClassWizard will NOT add any data members here

DECLARE_COFFEE_DRINKING_MESSAGE_MAP()

};

Zafir Anjum
July 2nd, 1998, 06:13 PM
struct SoftwareProfessional {

double salary;

long lunches;

float jobs;

char unstable;

void work;

};

Ed Halley
July 2nd, 1998, 09:46 PM
I think that if you look at CFormView, you'll see that you can make dialog templates of any size, and they'll sport scrollbars if the template's area is bigger than the available client area of the frame.


Mind you, the dialog template is still of fixed layout.


class CWnd : public CCmdTarget;

class CView : public CWnd;

class CScrollView : public CView;

class CFormView : public CScrollView;

Rob Manderson
July 2nd, 1998, 10:34 PM
Zafir,

Surely this is a description of the people who write software requirements :-)

Hurng-Dar Wur
July 3rd, 1998, 02:52 AM
Can we replace a dialog control with a CFormView? The need arises when I need to draw a chart within an confined canvas area inside a dialog. There are some other controls within the dialog too. I originally thought that a custom control is needed for providing a drawing canvas with scrollbars. In other words, I was think that it would be very useful to have a CScrollView like control which can be used in a CDialog as a custom control. I was not considering to use CFormView instead of CDialog.

Humble Programmer
July 12th, 1998, 10:16 AM
For what it's worth, I have seen open source publications of the GIF algorithm that would allow you to write your own image class. Unfortunately, I do so little graphics work that I did not save any of them. But be heartened by the fact that they ARE out there...I'll vouch for that, at least.


Cheers!

Humble Programmer

,,,^..^,,,

Ben Summers
July 12th, 1998, 10:31 AM
One of the image type libraries on this site has GIF importing code, which you might find useful. I forget where exactly it is, but it's in one of the general purpose ones.


ben

Jerry Coffin
July 12th, 1998, 01:50 PM
The fact that the code is available freely does NOT mean that the GIF algorithm (or more specifically the LZW compression algortithm) is in the public domain.


The LZW compression algorithm is patented, at least in the US. This means that you have to pay its owners a royalty if you use it. Source code implementing LZW compression has been easily available almost since the patent was written, but it makes no real difference in the legality of actually using the code (other than perhaps helping prove that the patent is valid.)

Antony
July 13th, 1998, 07:01 AM
You forgot 'short temper'

Michael
August 18th, 1998, 04:11 PM
COOProgrammer

{

long Inheretence;

short Switch...Case;

void Pointers;

char Polymorphism;

float Crash;

double encapusulation;

};




CNonOOProgrammer

{

long Procedures;

short MemberProtection;

void Maintainence;

char Spagehtti;

float MemoryLeak;

double GlobalVariables;

};




struct CEngineer

{

long WorkingHour;

short  Sleep;

void PayCheck;

char Cheap;

float Cubicles;

double WorkLoad;

};




strcut CConsultant

{

long ProjectList;

short loyalty; 

void FreeTime;

char Unstable;

float Jobs;

double Salary;

};




CManager

{

long Lunchs;

short Temper;

void Work;

char Polymorphism;

float Projects;

double Stockoption;

}

Michael
August 18th, 1998, 04:11 PM
COOProgrammer

{

long Inheretence;

short Switch...Case;

void Pointers;

char Polymorphism;

float Crash;

double encapusulation;

};




CNonOOProgrammer

{

long Procedures;

short MemberProtection;

void Maintainence;

char Spagehtti;

float MemoryLeak;

double GlobalVariables;

};




struct CEngineer

{

long WorkingHour;

short  Sleep;

void PayCheck;

char Cheap;

float Cubicles;

double WorkLoad;

};




strcut CConsultant

{

long ProjectList;

short loyalty; 

void FreeTime;

char Unstable;

float Jobs;

double Salary;

};




CManager

{

long Lunchs;

short Temper;

void Work;

char Polymorphism;

float Projects;

double Stockoption;

}

Andrei Korobkov
August 31st, 1998, 03:41 PM
VC++ compiler is very clever!


You are going to get: "error C2182: 'work' : illegal use of type 'void'" message

trying to compile file with your SoftwareProfessional structure!


May be, it should be even not work but just a pointer to work: void* work;

Than it is OK for compiler.

Jeevan Sunkersett
September 3rd, 1998, 06:39 AM
HI,


There is freebie on www.visualc.com MFCdownloads page.

It is an MFC program to manipulate Jpeg/Png/GIF/BMP files

Perhaps it helps.


regards


Jeevan

Rob Fullington
September 9th, 1998, 12:19 AM
I'd like to see the directX API wrapped up in MFC classes

Wenfei Wu
September 16th, 1998, 03:08 PM
I'd like to see a OpenGL-MFC view class. Curently MFC does not support printing and print preview for OpenGL.


Wenfei Wu

Jon S. Kyle
September 24th, 1998, 01:26 PM
CDIBSection -- I'd like to see a CDIBSection wrapper class for DIBSection, with some useful member functions. I'm tired of messing with BITMAPINFOHEADER structures and such, and find that getting to the bitmap bytes is always a hassle. The wrapper should be able to return the address and length of a scan line. Also, the wrapper function ought to be able to read and write a BMP or DIB file directly. GetObject() on the HBITMAP of a DIBSection returns a BITMAP structure. That's all the deeper we should have to go!

Jon S. Kyle
September 25th, 1998, 02:34 PM
I work alone. If I worked at Microsoft I could go up and down the aisle and find somebody to tell be how do do something. But I don't and can't.

Is a Help file with Examples too much to ask?

nahur
October 29th, 1998, 12:11 PM
does any body know how to compile the source code supplied with inside ole2

by kraig Brooksmith

Nahur
October 29th, 1998, 12:11 PM
does any body know how to compile the source code supplied with inside ole2

by kraig Brooksmith

Tomer Petel
October 31st, 1998, 12:46 PM
I see these problems:

1.You need to have a group of developers who will convert all the Win32 api calls to Xlib calls - not a straight forward task.

2.Today's MFC apps are very depdendent on external windows features like COM, shell APIs etc. If you want to cross compile an MFC app to Linux, the X client will also have to implement all these protocols.

Runar Oli Bjarnason
November 5th, 1998, 12:06 PM
I would like to see MS Visual Studio support CORBA directly.


It would also be nice to be able to visually assign MFC/C++ objects to a three-tier model.


And how about some UML?

Xiaolong Wu
November 11th, 1998, 07:21 PM
Putting a port in MFC for Linux is suicidal for Microsoft Windows.


Xiaolong Wu

Neil Weber
November 13th, 1998, 03:38 PM
TWIN has addressed your item 1. Supposedly they have limited success with

running/compiling MFC programs. You are absolutely right about item 2 though.

Stephen Clapham
November 16th, 1998, 09:26 PM
How many words did you say?

One acronym, five words.

Jürgen Kraus
November 20th, 1998, 03:20 PM
Well, there actually is an implementation of DCOm for UN*X (and also Linux) by SOFTWARE AG 'http://www.sagus.com/prod-i~1/net-comp/dcom/index.htm'...


Regards,


Jürgen

Long John
January 18th, 1999, 05:48 AM
It should be something like CRichEditCtrl...

M PATIL
January 21st, 1999, 07:10 AM
I felt very hard working with my graphic programing using VC++.

which are all indirect. When I studied and worked on JAVA, I felt

very easy and simple and less time to do the same.

(I felt microsoft makes it hard to do the simple things !!!)


Here are the following things (microsoft or some other) can be improved on CBitmap


There sould have been facility to


1. Get device context of bitmap.


2. Draw onto bitmap using standard GDI drawing tools.


3. Get and Set Pixel information using CBitmap class(not device context).


4. Serialization of CBitmap with any stndard picture formats(bmp, gif, jpg, pcx, tga).


5. Generally to treat CBitmap class as device context.


6. may be anymation facilities

Christopher Guest
February 12th, 1999, 12:40 PM
I do sympathize with the time taken to get used to the way that the Windows API

works, however most of this stuff can be achieved by deriving the CBitmap class

and putting you own routines in....


There are also a vast variety of classes available that already do these

things....


Most people complain that there is too much functionality, leading to

bloated libraries. I think it is fine how it is... Sorry..

Tomaz Stih
February 13th, 1999, 07:15 AM
Not really. I agree with you that there are libraries that handle some of this problems very well. But some of these problems are so common that I feel stupid buying 500$ library that is not even MFC native. Some of these libraries are a mixture of unix libs ported to NT using concepts not apropriate with NT and are if nothing else - slow.


What I would like to see with the bitmap class are things that are not that easy to develop:

- Quality color dithering (some of it already implemented in Windows

but so-so...)

- Possibility of easy and fast access to the RGB mode for every kind of

bitmap (GetPixel() is lame slow and doing it by yourself requires a lot of code to recognize bitmap, handle palletes if necessary...)

- Well connected to DC so that I might use GDI routines instead of writing my own

Martin Hoppe
March 10th, 1999, 02:02 PM
Thanks! Know I´m able to create the CBeer class, I was working more than two years without achieving any result but with your eyample I socceeded!

Mat J.
March 30th, 1999, 10:09 AM
Where can i get DHTML control?? please help me.

A.Woitsch
April 9th, 1999, 05:51 AM
Time to implement the extended properties, like
'Default', 'Name', etc. in the VC-container.

A.Woitsch
April 9th, 1999, 05:57 AM
The wrapper class implementation for imported
ActiveX-controls is not very good. It's limited
to primitive variable types.
But I want structures, enums as possible variable
types, of course for methods and properties too.

mdwilliams
April 22nd, 1999, 04:15 PM
Why do you need CORBA when you have COM?

gatkinso
June 17th, 1999, 08:11 AM
nuff said


Linux, Windows, Mac's...they are All Cool