Auto C - A SuperEdi Add-In
Links:
WoLoSoft International
SuperEdi Home
SuperEdi Downloads

Requirements:
ActiveX Control Pad
VB6 Runtime Files


Download:

Auto C 2.8.9 - 940KB

Compilers:
Borland C/C++ Compiler
LCC-Win32 Compiler
Pelles C for Windows
Open Watcom C/C++

Additional:
Auto C Version History
 


Copyright © 2008
by Wade Schuette
WadeSchu@gmail.com
Updated 5/7/08

Auto C is a way to create Windows applications in C visually. Drawing controls on a form using a mouse is all you need to do to create a working Windows program in C. Use a toolbox, properties box and property pages to design and edit your program's user interface. Use the same sort of WYSIWYG (what you see is what you get) design environment that the Visual Basic IDE provides.

Minimum Requirements:
Microsoft ActiveX Control Pad
WoLoSoft International's SuperEdi
VB6 Runtime Files

Auto C combines free programs from different sources. All are free to use indefinitely, but there is no master setup program that will install everything at once. You must have VB6 runtime files installed in order to install and run Auto C, and you must have SuperEdi and ActiveX Control Pad installed in order to run Auto C. You will also need to install one or more supported compiler. If you don't have the MSDN Library then you should download the recommended help files. See Auto C's help file for more information.

Auto C has great built-in support for using bitmap and icon resources. Also, using custom colors for many controls is supported. These features help make your user interfaces colorful and attractive.

Although it has many of the same features found with a typical C IDE, Auto C is a special-purpose C IDE, not a general purpose IDE. It can be used to make Windows GUI mode Applications and Dynamic Link Libraries only. Auto C projects are of one specific form. A project will contain a C source code file and header file that are completely auto-generated.

Alternatively, you can use Auto C as a project file generator and then use the files it creates in the IDE of your choice. You can even use the files in another IDE, reopen them in Auto C so that the project's user interface can be re-edited, and then go back to your favorite IDE.


About Microsoft ActiveX Control Pad

ActiveX Control Pad is a free program from Microsoft that uses the MS Forms 2.0 form layout designer. When ActiveX Control Pad is run under Auto C everything except the MS Forms 2.0 form layout designer is disabled or suppressed. The fact that ActiveX Control Pad uses an older form of html-vbscript is irrelevant as far as Auto C is concerned. Auto C only uses ActiveX and Automation to create C source code from the form being edited in ActiveX Control Pad. It doesn't read from those older style object tags. Auto C provides a replacement toolbox, which means that ActiveX Control Pad will run without error under all versions of Windows.

The MS Forms 2.0 form layout designer is not obsolete. Microsoft includes it in products such as Microsoft Office XP 2002 and Microsoft Office 2003, and other newer products. To see this, run Word or FrontPage and press Alt & F11 to start the Visual Basic Editor, then use the Insert menu to insert a UserForm. This will demonstrate that the same form layout designer that ActiveX Control Pad uses (contained in Fm20.dll) is still used with modern Microsoft products.

Also, after Fm20.dll is registered on your system the MS Forms 2.0 designer can be used under Visual Basic 5 or 6. To try this run VB, right-click the Toolbox and select "Components...". The Components dialog box will appear. Click the "Designers" tab and make sure that Microsoft Forms 2.0 is checked and click OK. Then, use the Project menu to add an MS Forms 2.0 form to the project.

Auto C could have been designed to use one of the commercial Microsoft applications described above. However, users would have to own Microsoft Office or Visual Basic in order to use Auto C. ActiveX Control Pad is used so that all users can use Auto C.

An instance of the MS Forms 2.0 form layout designer can't be created using just the Fm20.dll. Here is what Microsoft says about using Fm20.dll:

"The Fm20.dll is not redistributable. You must have an application such as Microsoft Office ... on the target system that installs Fm20.dll as part of its setup."

"As an alternative to having your end users install Microsoft Office, you can have them freely download and install the Microsoft ActiveX Control Pad, which also installs the Fm20.dll."

-from the MSDN Library - April 2003 edition: Office Solutions Development\Microsoft Office\Knowledge Base\Office Developer\INFO: Usage and Redistribution of FM20.DLL

ActiveX Control Pad is described by Microsoft as being a Beta Release, For Developers. This is a very accurate description. It is not the sort of program that a non-developer would use. It is recommended that you only use it with Auto C and that you manually remove the Start Menu shortcuts it creates when it is installed.

If you have version 6 of the MSDN Library (the version that comes with Microsoft Visual Studio 6) then you already have ActiveX Control Pad. Refer to Auto C's help file for more information about installing ActiveX Control Pad from the MSDN Library 6 CD, and for information about using the MSDN Library for keyword help in SuperEdi.


Auto C Version History

Version 2.8.9 - May 7, 2008

  • The Manifest files created by Auto C now have a simpler form.
  • For Windows VIsta users, message boxes have been added to Auto C's setup program and to Auto c.exe that inform users of the need to start by right-clicking Auto C's icon and selecting "Run as administrator".

Version 2.8.8 - April 24, 2008

  • If the name of the target EXE contained a period (.) then it could not be run from within Auto C. This is now fixed.
  • The way in which filenames are validated has been updated. Now, any valid folder name may be used and any valid filename may be used, except if the file title contains an ampersand (&) or apostrophe (').

Version 2.8.7 - April 17, 2008

  • If you tried to compile a DLL project file individually when you had selected Borland C++ as the DLL compiler, the file would be compiled in C, not C++. This is now fixed.
  • Sometimes Auto C would incorrectly report that a file hadn't been successfully compiled when it actually had been. This should now be fixed.
  • A minor change was made to the way a DLL is linked with Watcom C.

Version 2.8.6 - March 18, 2008

  • If you had no compilers installed and you tried to search header files an error would occur. This is now fixed.
  • A registry key created by Auto C was not deleted when uninstalling.

Version 2.8.5 - February 18, 2008

  • When browsing for a help file there was a problem if you tried to select a Windows Help (*.hlp) file. This is now fixed.
  • The directive #define WIN32_LEAN_AND_MEAN has been added to source files. This greatly reduces compile time, especially when using Borland or Pelles C..

Version 2.8.4 - February 5, 2008

  • If a DLL project contained a resource (RC) file, and you were using Watcom C++, then compiling the RC file individually would not work because Auto C used the wrong command. This is now fixed.

Version 2.8.3 - January 28, 2008

  • Sometimes the toolbar control could be moved and resized at design-time in ActiveX Control Pad when it should not have been. Now the toolbar's position and size are always fixed.
  • When closing Auto C sometimes SuperEdi would remain running and it was unclear whether or not Auto C had ended. Both Auto C and SuperEdi should now promptly close when you close Auto C.
  • Some example files have been revised.

Version 2.8.2 - January 16, 2008

  • Problems with the wrong bitmaps being assigned to toolbar buttons and an error occurring are now fixed. (This should only have been a problem with version 2.8.1)
  • The toolbar property page showed the bitmaps associated with a Windows XP theme even if you weren't running Windows XP. This is now fixed.
  • The symbol that represents the Apply Changes command has been changed. Hopefully the new symbol will do a better job of illustrating what the command does because the symbol is now a conventional icon that users are more familiar with.

Version 2.8.1 - January 12, 2008

  • If Watcom was the only supported compiler you had installed, some of the commands under the Compile and Run drop-down menu were disabled when they should not have been. This is now fixed.
  • An extra line of code that had been left in an example file has now been removed.
  • The help file has been updated. An inaccuracy in the Description of Auto-Generated Code was corrected. (A toolbar's tooltip text is now copied to the szText member. Previously tip text was assigned to the lpszText member.)

Version 2.8 - January 8, 2008

  • The Toolbar design-time control is much improved. The TBSTYLE_LIST style is now supported, as well as the BTNS_AUTOSIZE and BTNS_WHOLEDROPDOWN styles. Also, toolbar buttons can now display icons.
  • A scrollbar with a vertical orientation would have the wrong orientation when opened in ActiveX Control Pad. This is now fixed.
  • The name of the target dll could not be changed using the Dll Project Options dialog box. This is now fixed.
  • Under Windows Vista, controls with the default font of 8pt. MS Sans Serif would have a different font at runtime than at design-time. This is now fixed.
  • Line endings are now uniform. Previously some blank lines ended with just a line feed and no carriage return.

Version 2.7.5 - August 23, 2007

  • A Toolbar button can now display any of the stock Windows bitmaps.
  • At design-time in ActiveX Control Pad, the width of a toolbar drop-down arrow will now always be the default size for the Windows version. (Changed with version 2.8) At runtime, the width will vary depending on the actual menu size setting.
  • The ability to select Windows Help (*.hlp) files under Windows Vista has been reinstated. You must have the appropriate Microsoft supplied viewer to use Windows Help files under Windows Vista. Search Microsoft's website for the file Windows6.0-KB917607-x86.msu. It allows you to use old style help files under Vista.
  • Both versions of Win32.hlp (the Borland version and the LCC-Win32 version) are now available as pre-defined choices for help files.
  • Verified that Auto C works OK with Open Watcom C/C++ 1.7.

Version 2.7.4 - August 11, 2007

  • The width of the elements of the Toolbar design-time ActiveX control were incorrect. The width of a toolbar at design-time did not accurately reflect the toolbar's width at runtime. Now, the width of Toolbar buttons, separators and drop-down arrows should be accurate under all Windows versions. This applies only to toolbars with the Windows Classic appearance. A toolbar's width may be different depending on the XP theme or "skin".
  • Auto C's appearance under Windows Vista is improved.

Version 2.7.3 - July 19, 2007

  • Under Windows 2000, when linking a DLL using Watcom C, Auto C did not read the exports from the DLL's library file correctly. Because of this, exported functions were not made visible externally by their undecorated names.

Version 2.7.2 - July 18, 2007

  • Fixed problem with using the Add/Update Declarations command. Previously, only the first Dll function found was processed. This command was always intended to process all exported Dll functions. (This was fixed with version 2.7.1)
  • Under Windows NT4, under some circumstances Auto C would freeze at startup.
  • When using the toolbox, added the capability to right-click the toolbox in order to add a control.
  • In ActiveX Control Pad, the ScrollBar control and the UpDown control always appeared in the Windows Classic form. Now, under Windows XP or later those controls will be drawn at design-time using the selected theme. The ListBox control also did not appear correctly at design-time.
  • Borland cfg files were always overwritten at startup. This is no longer the case; advanced users can modify the cfg files and the modifications will be preserved the next time that project is opened.
  • The commands used to make projects with Open Watcom have been revised.
  • The Check Box you could check to create and use a Manifest file has been moved to the Window Styles dialog box.
  • Auto C's main window and toolbox are now tool windows without icons instead of standard windows.
  • There is no longer an "Open" command available from Auto C's File menu.

Version 2.7.1 - June 29, 2007

  • Added support for Open Watcom C/C++ compiler. Open Watcom version 1.6 from December of 2006 is the only version of Open Watcom that has been tested with Auto C. Previous versions are untested with Auto C.
  • At design-time sometimes a button would not display a bitmap or icon correctly. (For example, a button would display the text "BEANY" instead of displaying the bitmap resource named BEANY.) Hopefully this is now fixed.
  • Auto C no longer moves or re-sizes SuperEdi or ActiveX Control Pad. This was something left over from Instant C and was determined to be not useful.
  • Although use of a module definition file with Pelles C was discontinued, Auto C still created empty .DEF files that were never used. The files are not created anymore.
  • The position of Auto C's main window and Toolbox window are now stored in the registry.
  • Fixed problem with using the Add/Update Declarations command. Only the first Dll function found was processed. This command was always intended to process all exported Dll functions.

Version 2.7 - June 14, 2007

  • Fixed error that would occur if Auto C was used to create two or more files to be added to a project.

Version 2.6 - June 12, 2007

  • In the Play Sound example project, the names of lib files had been inadvertently removed from the linker response files. This was only a problem with version 2.6.

Version 2.5 - June 12, 2007

  • Added the capability to make a Dll in C++ using Borland.
  • Auto C no longer uses a module definition file when creating a Dll with Pelles C.

Version 2.4 - June 5, 2007

  • Fixed problem with the Slider control. At design-time the slider was not created and did not appear. This was only a problem with version 2.3. Previous versions did not have this problem.

Version 2.3 - June 1, 2007

  • Fixed "Invalid Property Value" error at startup. This problem did not appear on the author's machine until recently.
  • Fixed problem where if you altered certain portions of the auto-generated code and then tried to add a menu, an error would occur.
  • Problems with Auto C's height being too short are hopefully fixed. Other window sizing problems are somewhat improved, but there could still be remaining issues when running Auto C on some machines with non-standard displays.
  • Two of the example projects contained unique code that caused the code for added buttons to be put in the wrong place within the function Button_Click. This was only a problem with the examples and should not have been a problem with any other files. Corrections were made to the way code is added so that the potential for this problem no longer exists.
  • The number of recent file slots has been increased from 4 to 8.

Version 2.2 - May 21, 2007

  • Added code that draws controls using the colors specified by the Desktop Appearance settings. Previously, Auto C always used black for text and white for window backgrounds, etc.. Updated the ActiveX Controls as well; previously some controls used the wrong color (COLOR_BTNTEXT was used where COLOR_WINDOWTEXT should have been used and similar issues). Still, not all controls will appear at design time exactly as they will at runtime.
  • Changed the way Auto C positions itself on the screen. The default startup location is now in the upper-left corner. Previously Auto C's default startup position was in the upper-right corner.
  • When closing,  Auto C will now try to restore SuperEdi's original screen position and size. Auto C will also try and restore SuperEdi's toolbar windows to their original show state.

Version 2.1 - May 21, 2007

  • Added the ability to use a manifest file so that Windows XP style visual themes can be applied to the executables created with Auto C.
  • Added a DefaultButton property to the CommandButton control. If you wish, one command button on the form can be the default button and will be created with the BS_DEFPUSHBUTTON style. All the other command buttons will be created with the BS_PUSHBUTTON style.
  • Fixed problem with using the Remove DLL command to remove the auto-generated code that loads a dll and functions. One character too many was removed from the auto-generated header file when the prototype for the function LoadDllFunctions was removed.
  • Fixed problem where if files were added to a project that did not have spaces in their names, and the project's main file did contain spaces, and Borland C++ was used, linking didn't work because some filenames were not enclosed in quotes when needed.
  • Fixed problem with using filenames that contained commas but no spaces. Previously this didn't work because Auto C didn't enclose them in quotes.
  • Fixed problems with using Auto C to create a new file to be added it to the project.
  • Fixed other miscellaneous issues pertaining to adding files to a project. Disallowed the use of filenames that contain the Ampersand character. Disallowed the use of filenames with trailing spaces.
  • Fixed problems with using File Open and Save dialog boxes: Sometimes selecting Cancel wasn't properly handled.

Version 2.0 - May 12, 2007

  • Fixed problem with Toolbar control: Sometimes an invalid or unusable button ID was generated when you added buttons to a toolbar.
  • Fixed problem where entering an invalid URL or HTML filename to display caused an error.
  • Added a Progress Bar as a design-time only ActiveX Control.
  • Added a new auto-generated function to return the Tool Tip window's handle. Use GetToolTipsHwnd() to return the tooltip window's HWND.
  • Auto C now detects if your Taskbar is not bottom aligned. Auto C won't place any windows on top of the taskbar if it is not set to auto-hide.
  • Auto C now remembers which compilers you have selected. When you restart Auto C, the compiler you last used for an EXE project or DLL project will again be the selected compiler for that type of project.
  • Added code to allow for the use of quotation marks (") in tooltips and toolbar button captions. Previously errors would occur if you tried to place a quote in a TabStrip tab's tooltip or a Toolbar button's tooltip or caption (by using \" ).

Version 1.9 - April 27, 2007

  • Improved the way Auto C starts up and opens a project. This process is now faster and smoother, and unnecessary message boxes aren't displayed.
  • Added the option of having Auto C's start-up position be on the left side of the screen instead of always being on the right side. If Auto C is on the left side of the screen when you close it, the next time you start Auto C it will be in the upper left corner.
  • Simplified the way Auto C places SuperEdi's caret on a specific line to further reduce the possibility of an error.
  • Re-worked the Play Sound example project.

Version 1.8 - April 12, 2007

  • Fixed problem where RC file contents could be lost or garbled when updating menus.

Version 1.7 - April 12, 2007

  • Fixed problem where files that had been added to a project were omitted from the project when it was later re-opened.
  • When a Label's font changed, the change wasn't shown immediately in the Properties Box.
  • A minor revision was made to the function MouseOverControl. A statement assigning the HWND of the control the mouse is over to a static variable was moved to a different location. Previously it had been near the end of the function, now it is near the beginning of the function.

Version 1.6 - April 4, 2007

  • There was a problem with one of the example files in the v1.5 distribution. It had been altered and hadn't been restored to it's original state. This is corrected with the 1.6 distribution. 

Version 1.5 - April 4, 2007

  • Version 1.4 had a problem in that the reference to the ActiveX controls wasn't set correctly when it was compiled. This is corrected in version 1.5. Version 1.4 was only posted for a short time, but the version numbers were incremented anyway.
  • Fixed problem with opening the help file from the start menu. The wrong filename was specified.

Version 1.4 - April 4, 2007

  • Updated and tested with latest version of SuperEdi (4.0, 4.0.U)
  • Fixed problem with right-clicking a file or using the drop-down menu to compile an individual file. Sometimes this didn't work because the file's extension was omitted.
  • Enabled using the compile & run button even if no supported compilers were found. Previously, if you had Borland installed but it wasn't in the default location, and had no other compilers installed, it wasn't clear how to specify the Borland compiler's location. Now the project options dialog box can be more easily displayed, making it a little easier to specify the Borland compiler's location. 

Version 1.3 - April 2, 2007

  • The help file is now an HTML Help file. The Property Pages no longer have a button that you can click for help, you must press F1.
  • At startup, if SuperEdi is already running, Auto C will close and restart SuperEdi. This is to ensure that code page and unicode detection are turned off. If they are enabled when not needed, the contents of a file can become garbled unexpectedly.
  • Disallowed use of LCC-Win32 under Windows 98/ME. The latest version of LCC-Win32 requires Windows 5.0 (Windows 2000) or higher.
  • Fixed problem that occurred when overwriting an old project. If you selected a previously existing project name for a new project, intending to overwrite the old project files, some files were not re-written.

Version 1.2 - March 24, 2007

  • Fixed problem with deleting multiple controls and one of them, but not all of them, was a control in the button class. The function Button_Click was not updated correctly.
  • Fixed error that would occur if you added a menu or menus, and then later completely removed all menus.
  • Fixed problem that occurred when linking DLLs with LCC-WIn32 if you also had Pelles C installed. Auto C used the same environment block for both compilers, and LCC's implib.exe wouldn't run correctly if it was run in a process that used an environment block created for use with Pelles C.

Version 1.1 - March 22, 2007

  • Environment variables are no longer used. Previously it was necessary to add the name of a compiler's BIN folder to your PATH environment variable, and using Pelles C required additional environment variables. The need to use environment variables was eliminated in order to make setting up Auto C easier. (June 29, 2007 - The Environment Variables that Open Watcom creates when it is installed are required.)
  • Changed the way Auto C places SuperEdi's caret at a specific line in a file. The SuperEdi application doesn't blink or flash when Auto C does this any more.
  • Made corrections to help file, which in one location referred to an example project by the wrong name and also used incorrect terminology.

Version 1.0 - March 20, 2007

  • Updated for latest versions of SuperEdi, 3.9.2 and 3.9.2.U

Auto C is based on Instant C (by the same author). All know issues with Instant C have been corrected in Auto C. The name was changed because Auto C is fundamentally different from Instant C, and Instant C projects are not compatible with Auto C. Many improvements have also been made. A pre-configured replacement toolbox for use with ActiveX Control Pad is provided. All the design-time ActiveX controls are now custom Auto C controls, except for the Tabstrip. A toolbar design-time ActiveX control has been added. Using ActiveX Control Pad is now improved, and it runs even better now than it did under Instant C.

Top of Page