Index Software

Windows Bashing Page

Sometimes I have to write programs for that monstrosity, Microsoft Windows 3.1 for DOS. The more I do it, the more I hate it. Here are some of the things that make me laugh the most.

Useless API call award

Arc

What the MFC book says.

Draws an elliptical arc. The arc drawn by using the function is a segment
of the ellipse defined by the specified bounding rectangle. The actual
starting point of the arc is the point at which a ray drawn from the centre
of the bounding rectangle through the specified starting point intersects
the ellipse. The actual ending point of the arc is the point at which a ray
drawn from the centre of the bounding rectangle through the specified
ending point intersects the ellipse. The arc is drawn in a counterclockwise
direction. Since the arc is not a closed figure, it is not filled.

Being so this is based on the braindead Microsoft ellipse (which can only have a vertical or horizontal axis) it never really has a hope of drawing an ellipse that anyone would want to use. The real sidesplitter is the way the start and end points of the arc never seem to match the start and end points you specify.

Just write a program that draws Arc()s under mouse control, you'll wet yourself laughing as you see the ridiculous shapes flop about all over the screen, no matter how carefully you choose your anchor points, you will never be able to control the thing and it simply never goes where you want it.

Well I exaggerate. If you are careful you can just about get it to do what you want. As long as you don't want it to do too much.

A classic example of this useless Arc function is M$ PowerPoint 4.0 [I think that is the right version number]. Here is a picture.


arc from circle, cut with vertical chord
That was drawn with PmDraw!, a free 16bit OS/2 application, developed by a single IBMer. I defy anyone to simply draw the same with PowerPoint, produced by hosts of Microserfs. Another thing to note is the above arc has squared off ends. Want that in Windows? Well, tough, the Wind 3.1 API only allows rounded ends. PowerPoint, on the other hand, has lots of nice pretty button toolbars, true to the M$ adage "If you can't make it good, make it look good".

Some time later, Feb 2006 more precisely. I still try to avoid PPT like the plague, but it does seem that some time since the start of the 21st. century, it has acquired the ability to draw an arc properly.

"Where's the API to do what I want?"

Where's the spinbutton API?
There is a way to create spinbuttons with Visual C++ 1.5, but when I looked at it I could have sworn I was looking at something colossally cheesy. And I was.

Where's the Value Set API? Visual C++ doesn't even have an abomination kludging this.

Microsoft's Latest: Chicago, erm, Windows 4.0, uhh Windows 94, umm Windows 95

"A PC should be like an appliance. Using one should be as easy as toasting a bagel"
Brad Silverberg, Fortune, quote seen in Jan 95 Dr Dobbs Journal.


As you can see, the above comments were written around 1994/5. Since then Microsoft has given us Windows 98 (much the same as Windows 95, but since MS was "evangelized" by the Internet, W98 has a strong web feel. There's also the legal aspect, Microsoft wanted to weave Internet Explorer into the OS so that they couldn't be accused of illegal tying of two products. They've also given us Windows Me, which as far as I can see is indistinguishable from W98.

The bigger brothers, NT and Windows 2000 aren't so bad. NT is getting a bit long in the tooth, but it isn't rubbish like Windows 9x.

The latest in the family, Windows XP, has a UI that looks like it was designed by the folks from Fischer-Price.

Copyright © Paul John Floyd 1994, 2006

Valid HTML 4.01!