コード例 #1
0
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 );
}
コード例 #2
0
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 );
}