ChinaNet

标题: Visual Fortran 高级编程技术5 [打印本页]

作者: Doublen    时间: 2015-4-8 10:47
标题: Visual Fortran 高级编程技术5
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






欢迎光临 ChinaNet (http://www.nuclear.net.cn/) Powered by Discuz! X3.1