When "Picture Background" checkbox in the program is checked, CLGEN will generate classes using JPICT DLL. This DLL extends MFC's GUI functionality, making MFC application colorful.

When CLGEN notices using JPICT DLL, it automatically copies the header file, library, and dll (both debug and release versions) and adds them into your working project.

By using the DLL, you can set bitmap, change font and color for each GUI object. The DLL provides a default background which can be overwritten. All GUI objects supported by the DLL are transparent to the background unless they are individually set by you. The background picture covers whole screen. If background bitmap is smaller, it will repeat itself, making it look like a pattern.

### Convert Project

CLGEN can convert a MFC application to using JPICT DLL. After running convert function, the application's menu, toolbar, dialog bar, and status bar will be displayed with picture background instead of the standard gray background.

### Global Functions

The DLL supports a few global functions so that programmers can globally customize their application's user interface:
SetBackgroundBitmap - set background for the whole application.
DeleteBackgroundBitmap - delete the background bitmap.
PaintBackgroundBitmap - paint a window's background using the background bitmap.
SetDialogBitmap - set background for all the dialogs. The default dialog background will be the same as the global background if this function is not called.
DeleteDialogBitmap - delete dialogs' background bitmap. Only calling this function when SetDialogBitmap() is used.
PaintDialogBitmap - paint a window's background using the dialog bitmap.
SetDialogModifyColor - modify the dialog background color. This is useful when dialog backgound is the same as the global backgound but you want to distinguish both.
DispMessageBox - this function is like AfxMessageBox() but displays message with the background bitmap.

### Classes

Currently, JPICT DLL supports following classes:
CPictDialog - derived from CDialog.
CPictFormView - derived from CFormView.
CPictPage - derived from CPropertyPage.
CPictSheet - derived from CPropertySheet.
CPictMenuBar - derived from CToolBar.
CPictDialogBar - derived from CDialogBar.
CPictToolBar - derived from CToolBar.
CPictStatusBar - derived from CStatusBar.
CPictStatic - derived from CStatic.
CPictButton - derived from CButton.
CPictCheckBox - derived from CButton.
CPictGroup - derived from CButton.
CPictRadioButton - derived from CButton.
CPictListBox - derived from CListBox.
CPictComboBox - derived from CComboBox.
CPictTabCtrl - derived from CTabCtrl.

### Dialog Options

In the beginning of CLGEN code generation process, you can click on an "Options" button located in the first data input dialog to set options for the to be generated dialog class (including CPictDialog, CPictFormView, CPictPage, and CPictDialogBar). The Options dialog looks like:
Select Bitmap ID - select a bitmap from the working project to be set as the new dialog's background bitmap. If nothing is selected, the to be generated dialog will use default dialog bitmap as the background.
Select Dialog Colors - click on the button next to each item will bring up a color dialog.
Static Color - text color for the static control.
Required Static Color - text color for the static control. This color will display if this field is set as required, that is, application users have to enter something into the associated edit control before leaving the dialog.
Group Text Color - text color for group box control.
Checkbox Text Color - text color for check box control.
Radiobox Text Color - text color for radio button control.
Button Text Color - text color for button control.
Disable Text Color - text color for all disabled controls.
If nothing is selected, control's default text color (normally black color) will be used.
Select Dialog Fonts - click on the button next to each item will bring up a font dialog.
Static Font - font for static control.
Group Text Font - font for group box control.
Checkbox Text Font - font for check box control.
Radiobox Text Font - font for radio button control.
Button Text Font - font for button control.
If nothing is selected, control's default font will be used.