Visual Fortran 高级编程技术5 - 核能革新 ChinaNet
热图推荐
    查看: 6485|回复: 0
    打印 上一主题 下一主题

    Visual Fortran 高级编程技术5

    [复制链接]

    31

    主题

    31

    帖子

    95

    积分

    注册会员

    Rank: 2

    积分
    95
    跳转到指定楼层
    楼主
    发表于 2015-4-8 10:47:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    3.3 菜单
    例子程序8
    3.4 对话框

    例子程序9
    INTEGER*4FUNCTION FILE_INPUT(HWND, MESSAGE, WPARAM, LPARAM)
    !DEC$IF DEFINED(_X86_)
    !DEC$ATTRIBUTES STDCALL, ALIAS : '_FILE_INPUT@16' ::FILE_INPUT
    !DEC$ELSE
    !DEC$ATTRIBUTES STDCALL, ALIAS : 'FILE_INPUT' ::FILE_INPUT
    !DEC$ENDIF
    USEDFWINA
    USEMYDATA
    INTEGER*4HWND, MESSAGE, WPARAM, LPARAM,H
    LOGICALBRET
    CHARACTER*30STR

        SELECTCASE (MESSAGE)
    CASE(WM_INITDIALOG)
    STR='对话框实例'  

        H=GETDLGITEM(HWND,1201)
                        I=SENDMESSAGE(H,CB_ADDSTRING,0,LOC(STR(1:10)))
            RETURN
    CASE(WM_COMMAND)
    SELECTCASE (LOWORD(WPARAM))
    CASE(IDCANCEL)  
    I =ENDDIALOG (HWND, 1)
                FILE_INPUT=TRUE
    RETURN
    CASE(IDOK)  
                    I= ENDDIALOG (HWND, 1)
                FILE_INPUT=TRUE
    RETURN
    END SELECT
    ENDSELECT
    FILE_INPUT=FALSE
    RETURN
    END
    3.5 GDI绘图
    例子程序10
    SUBROUTINE PLOT(HDC)
    USEDFWINA
    USE MYDATA
    USE DFWIN
    INTEGER HDC,HFONT
    LOGICAL BRET
    ID_PLOT=1
    IF(PLOT_TYPE==1) THEN
    BRET=SELECTOBJECT(HDC, HPEN(1))
    BRET=ARC(HDC,300,200,700,600,300,200,300,200)
    BRET=SETTEXTCOLOR(HDC,RGB(0,0,0))
    BRET=SETBKCOLOR(HDC,RGB(255,255,255))
    H=65
    LINE_W=50
    CALLFONT(H,LINE_W,HFONT)
    BRET=SELECTOBJECT(HDC,HFONT)
    BRET=TEXTOUT(HDC,320,400,'GDI画图例子1',12)
    BRET=DELETEOBJECT(HFONT)
    ELSE
    BRET=SELECTOBJECT(HDC, HPEN(2))
    BRET=ARC(HDC,300,200,700,600,300,200,300,200)
    BRET=SETTEXTCOLOR(HDC,RGB(255,100,0))
    BRET=SETBKCOLOR(HDC,RGB(255,255,255))
    H=65
    LINE_W=50
    CALLFONT(H,LINE_W,HFONT)
    BRET=SELECTOBJECT(HDC,HFONT)
    BRET=TEXTOUT(HDC,320,400,'GDI画图例子2',12)
    BRET=DELETEOBJECT(HFONT)
    END IF
    ENDSUBROUTINE
         
    SUBROUTINEFONT(H,LINE_W,HFONT)
    USEDFWINA
    INTEGERHFONT
    HFONT=CREATEFONT(H,0,0,0,LINE_W,0,0,0,ANSI_CHARSET,&
    OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,&
    DEFAULT_PITCHIFF_DONTCARE,"大号字")
    END

    SUBROUTINEPEN()
    USEDFWINA
        USEMYDATA
        HPEN(1)=CREATEPEN(PS_SOLID,7,RGB(255,0,0))
        HPEN(2)=CREATEPEN(PS_SOLOD,7,RGB(0,255,0))
         
    END

    本帖转自52MC

    回复

    使用道具 举报

      关注我们
    • 微信公众号:
    • NuclearNet
    • 扫描二维码加关注

    Powered by Discuz! X3.2 © 2001-2013 Comsenz Inc.

    联系我们|网站声明|中国核网-核能领域第一垂直门户网站

    快速回复 返回顶部 返回列表