BOOL WINPROC EXPORT DlgGalleryProc( /***********************************************************************/ HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) { FNAME szTitleSave; BOOL bUntitledSave; switch (msg) { case WM_INITDIALOG: SetControlFont (hDlg, IDC_GALLERY_T1); SetControlFont (hDlg, IDC_GALLERY_T2); SetControlFont (hDlg, IDC_GALLERY_T3); SetControlFont (hDlg, IDC_GALLERY_T4); RibbonInit( hDlg ); // fall thru... case WM_CONTROLENABLE: case WM_DOCACTIVATED: break; case WM_SETCURSOR: return( SetupCursor( wParam, lParam, IDD_FILL ) ); case WM_ERASEBKGND: break; // handle ERASEBKGND and do nothing; PAINT covers everything case WM_PAINT: LayoutPaint( hDlg ); break; case WM_CLOSE: AstralDlgEnd( hDlg, NO|2); break; case WM_MEASUREITEM: case WM_DRAWITEM: return( OwnerDraw( hDlg, msg, lParam, NO ) ); case WM_CTLCOLOR: return( (BOOL)SetControlColors( (HDC)wParam, hDlg, (HWND)LOWORD(lParam), HIWORD(lParam) ) ); case WM_COMMAND: switch (wParam) { case IDC_GALLERY_T1: // Save to Disk SendMessage( hWndAstral, WM_COMMAND, IDM_SAVESPECIAL, 0L ); break; case IDC_GALLERY_T2: // Print SendMessage( hWndAstral, WM_COMMAND, IDM_PRINT, 0L ); break; case IDC_GALLERY_T3: // To Floppy bSaving = TRUE; AstralDlg (NO|2, hInstAstral, hDlg, IDD_SAVEFLOPPY, (DLGPROC)DlgFloppyProc); if (szFileSpec[0] != 0) { bUntitledSave = lpImage->fUntitled; lpImage->fUntitled = FALSE; lstrcpy (szTitleSave, lpImage->CurFile); lstrcpy (lpImage->CurFile, szFileSpec); SendMessage (hWndAstral, WM_COMMAND, IDM_SAVESPECIAL, 0L); lstrcpy (lpImage->CurFile, szTitleSave); lpImage->fUntitled = bUntitledSave; } break; case IDC_GALLERY_T4: // From Floppy bSaving = FALSE; AstralDlg (NO|2, hInstAstral, hDlg, IDD_LOADFLOPPY, (DLGPROC)DlgFloppyProc); if (szFileSpec[0] != 0) { AstralImageLoad (IDN_ART, szFileSpec, MAYBE, NO); } break; default: return( FALSE ); } default: return( FALSE ); } return( TRUE ); }
BOOL WINPROC EXPORT DlgLinesProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) /***********************************************************************/ { STRING szOptions; LPFRAME lpFrame; switch (msg) { case WM_INITDIALOG: SetControlFont (hDlg, IDC_LINES_CATEGORY); RibbonInit( hDlg ); ColorInit( hDlg ); iTotalCategories = GetExtNameCount( IDN_CUSTOM ); hOptions = OptionLoadLibrary( hDlg, IDC_LINES_CATEGORY, 11/*iCount*/, IDN_CUSTOM, iCategory, iTotalCategories ); OptionGetString( hOptions, 0, szOptions ); SetWindowText( GetDlgItem( hDlg, IDC_LINES_CATEGORY ), szOptions ); CheckRadioButton( hDlg, IDC_LINES_T1, IDC_LINES_T10, iTool+IDC_LINES_T1 ); // Fall thru... case WM_CONTROLENABLE: case WM_DOCACTIVATED: Retouch.hBrush = CreateSimpleBrush( Retouch.hBrush ); SetSimpleBrushStrokeMethod( Retouch.hBrush, SM_SIMPLE_DDA ); SetSimpleBrushSpacing( Retouch.hBrush, 100 ); OptionGetString( hOptions, iTool+1, szOptions ); lpFrame = TiffResource2Frame( hOptions, (LPSTR)MAKEINTRESOURCE(iTool+1) ); SetSimpleBrushSource( Retouch.hBrush, lpFrame, szOptions ); break; case WM_SETCURSOR: return( SetupCursor( wParam, lParam, Tool.idRibbon ) ); case WM_ERASEBKGND: break; // handle ERASEBKGND and do nothing; PAINT covers everything case WM_PAINT: LayoutPaint( hDlg ); break; case WM_DESTROY: if ( hOptions != hInstAstral ) FreeLibrary( hOptions ); return( FALSE ); case WM_CLOSE: AstralDlgEnd( hDlg, FALSE ); break; case WM_CTLCOLOR: return( (BOOL)SetControlColors( (HDC)wParam, hDlg, (HWND)LOWORD(lParam), HIWORD(lParam) ) ); case WM_COMMAND: switch (wParam) { case IDC_ACTIVECOLOR: case IDC_COLORS_LINES: ColorCommand( hDlg, wParam, lParam ); break; case IDC_LINES_CATEGORY: if ( hOptions != hInstAstral ) FreeLibrary( hOptions ); iCategory++; hOptions = OptionLoadLibrary( hDlg, IDC_LINES_CATEGORY, 11/*iCount*/, IDN_CUSTOM, iCategory, iTotalCategories ); OptionGetString( hOptions, 0, szOptions ); SetWindowText( GetDlgItem( hDlg, IDC_LINES_CATEGORY ), szOptions ); OptionGetString( hOptions, iTool+1, szOptions ); lpFrame = TiffResource2Frame( hOptions, (LPSTR)MAKEINTRESOURCE(iTool+1) ); SetSimpleBrushSource( Retouch.hBrush, lpFrame, szOptions ); break; case IDC_LINES_T1: case IDC_LINES_T2: case IDC_LINES_T3: case IDC_LINES_T4: case IDC_LINES_T5: case IDC_LINES_T6: case IDC_LINES_T7: case IDC_LINES_T8: case IDC_LINES_T9: case IDC_LINES_T10: CheckRadioButton( hDlg, IDC_LINES_T1, IDC_LINES_T10, wParam ); iTool = wParam - IDC_LINES_T1; OptionGetString( hOptions, iTool+1, szOptions ); lpFrame = TiffResource2Frame( hOptions, (LPSTR)MAKEINTRESOURCE(iTool+1) ); SetSimpleBrushSource( Retouch.hBrush, lpFrame, szOptions ); break; default: return( FALSE ); } break; default: return( FALSE ); } return( TRUE ); }