| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2852 人关注过本帖, 3 人收藏
标题:发个字形结构的图
取消只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
结帖率:100%
收藏(3)
已结贴  问题点数:20 回复次数:18 
发个字形结构的图


程序代码:
#INCLUDE "C:\My Documents\Visual FoxPro Projects\my_tools\Const.h"

CLEAR ALL
oForm = CREATEOBJECT("_Form")
oForm.Show
READ EVENTS
RETURN 

DEFINE CLASS _Form AS Form
    Caption = "HZK16 Demo"
    Width = 240
    Height = 240
    ControlBox = .F.
    BorderStyle = 1
    AutoCenter = .T.
   
    zk = 0
   
    ADD OBJECT lblChar AS Label WITH Caption = "汉字:", Width = 60, Height = 25, Alignment = 1
    ADD OBJECT txtChar AS TextBox WITH Width = 40, Height = 25
   
    ADD OBJECT cntHZ AS _HZ
   
    ADD OBJECT cmdExit AS CommandButton WITH Caption = "结束[\<E]", Width = 60, Height = 25
   
    PROCEDURE Arrange
        WITH ThisForm.lblChar
            .Top = 10
            .Left = 10
        ENDWITH
        WITH ThisForm.txtChar
            .Top = ThisForm.lblChar.Top
            .Left = ThisForm.lblChar.Left + ThisForm.lblChar.Width
        ENDWITH
        WITH Top = ThisForm.lblChar.Top + ThisForm.lblChar.Height + 5
            .Left = ThisForm.lblChar.Left
        ENDWITH
        WITH ThisForm.cmdExit
            .Top = ThisForm.Height - .Height - 5
            .Left = 5
        ENDWITH
    ENDPROC
   
    PROCEDURE Load
        ThisForm.zk = FOPEN("HZK16V")
    ENDPROC
   
    PROCEDURE Unload
        FCLOSE(ThisForm.zk)
    ENDPROC
   
    PROCEDURE Activate
        ThisForm.Arrange
    ENDPROC
   
    PROCEDURE Destroy
        CLEAR EVENTS
    ENDPROC
   
    PROCEDURE txtChar.KeyPress(tnKeyCode, tnShiftAltCtrl)
        LOCAL lnQu, lnWei
       
        IF (tnKeyCode == K_ENTER) .AND. !EMPTY(This.Value)
            This.Value = LEFTC(ALLTRIM(This.Value), 1)
            lnQu = ASC(LEFT(This.Value, 1)) - 0xA0
            lnWei = ASC(RIGHT(This.Value, 1)) - 0xA0
            FSEEK(ThisForm.zk, ((lnQu - 1) * 94 + (lnWei - 1)) * 32, 0)
            (FREAD(ThisForm.zk, 32))
        ENDIF
       
    ENDPROC
   
    PROCEDURE cmdExit.Click
        ThisForm.Release
    ENDPROC
   
ENDDEFINE 

DEFINE CLASS _HZ AS Container
   
    PROCEDURE Init
        LOCAL lnRow, lnCol, lnWidth, lnHeight, lcName
       
        lnWidth = 10
        lnHeight = 10
        WITH This
            .Width = lnWidth * 16
            .Height = lnHeight * 16
            FOR lnRow = 1 TO 16
                FOR lnCol = 1 TO 16
                    lcName = "Dot" + PADL(lnRow, 2, '0') + PADL(lnCol, 2, '0')
                    .AddObject(lcName, "Label")
                    WITH .&lcName
                        *.Caption = SUBSTR(.Name,4)
                        .Caption = ""
                        .BorderStyle = 1
                        .Width = lnWidth
                        .Height = lnHeight
                        .Top = (lnRow - 1) * lnHeight
                        .Left = (lnCol - 1) * lnWidth
                        .Visible = .T.
                    ENDWITH
                NEXT
            NEXT
        ENDWITH
       
    ENDPROC
   
    PROCEDURE Show_HZ(tcData)
        LOCAL lnIndex, lnRow, lnCol, lnCompare, lnName, lcByte, lnBit
       
        lnRow = 1
        lnCol = 1
        FOR lnIndex = 1 TO LEN(tcData)
            lcByte = SUBSTR(tcData, lnIndex, 1)
            FOR lnBit = 7 TO 0 STEP -1
                lcName = "This.Dot" + PADL(lnRow, 2, '0') + PADL(lnCol, 2, '0')
                lnCompare = INT(2^lnBit)
                &lcName..BackColor = IIF(BITAND(ASC(lcByte), lnCompare) == lnCompare, BLUE, This.BackColor)
                lnCol = lnCol + 1
            NEXT
            IF MOD(lnIndex, 2) == 0
                lnRow = lnRow + 1
                lnCol = 1
            ENDIF
        NEXT
       
    ENDPROC
   
ENDDEFINE

字库下载:https://down.bccn.net/2086.html

" border="0" />

[ 本帖最后由 TonyDeng 于 2012-3-3 23:05 编辑 ]
搜索更多相关主题的帖子: Documents color 
2012-03-03 21:23
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 2楼 软件服务
啥表情哟

授人以渔,不授人以鱼。
2012-03-03 21:43
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
呵呵,我把源代码补上去了。

授人以渔,不授人以鱼。
2012-03-03 22:43
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
我咋害人啦?

授人以渔,不授人以鱼。
2012-03-03 22:56
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
哦,那个hzk16字库,网上到处都有下载啦。我上传到下载资源那里去,大家共享一下,反正也是人家给我的。

授人以渔,不授人以鱼。
2012-03-03 22:59
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
上传好了,在1楼有连接。

授人以渔,不授人以鱼。
2012-03-03 23:06
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
怎样又不能运行了啦?

授人以渔,不授人以鱼。
2012-03-03 23:16
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
哦,连头文件也想要,也贪心了吧。
我不玩QQ的,嘻嘻~

授人以渔,不授人以鱼。
2012-03-03 23:29
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
头文件(const.h)

程序代码:
*--------------------
* 顔色常量
*--------------------
#DEFINE WHITE        RGB(255,255,255)        && 白色
#DEFINE BLACK        RGB(0,0,0)                && 黑色
#DEFINE GRAY        RGB(192,192,192)        && 灰色
#DEFINE DARKGRAY    RGB(128,128,128)        && 深灰色
#DEFINE RED            RGB(255,0,0)            && 红色
#DEFINE DARKRED        RGB(128,0,0)            && 深红色
#DEFINE YELLOW        RGB(255,255,0)            && 黄色
#DEFINE DARKYELLOW    RGB(128,128,0)            && 深黄色
#DEFINE GREEN        RGB(0,255,0)            && 绿色
#DEFINE DARKGREEN    RGB(0,128,0)            && 深绿色
#DEFINE CYAN        RGB(0,255,255)            && 青绿色
#DEFINE    DARKCYAN    RGB(0,128,128)            && 深青绿色
#DEFINE BLUE        RGB(0,0,255)            && 蓝色
#DEFINE DARKBLUE    RGB(0,0,128)            && 深蓝色
#DEFINE MAGENTA        RGB(255,0,255)            && 洋红色
#DEFINE DARKMAGENTA    RGB(128,0,128)            && 深洋红色

*---------------------
* 回車換行符
*---------------------
#DEFINE CR_LF        CHR(13) + CHR(10)

*---------------------
* 按鍵常量
*---------------------
#DEFINE K_SPACE            32
#DEFINE K_ENTER            13
#DEFINE K_TAB            9
#DEFINE K_ESC            27
#DEFINE K_CTRL_ENTER    10
#DEFINE K_CTRL_C        3
#DEFINE K_CTRL_D        4
#DEFINE K_CTRL_U        21
#DEFINE K_CTRL_V        22
#DEFINE K_F1            28
#DEFINE K_F2            -1
#DEFINE K_F3            -2
#DEFINE K_F4            -3
#DEFINE K_F5            -4
#DEFINE K_F6            -5
#DEFINE K_F7            -6
#DEFINE K_F8            -7
#DEFINE K_F9            -8
#DEFINE K_F10            -9
#DEFINE K_F11            133
#DEFINE K_F12            134
#DEFINE K_UP            5
#DEFINE K_DOWN            24
#DEFINE K_RIGHT            4
#DEFINE K_LEFT            19
#DEFINE K_PAGEUP        18
#DEFINE K_PAGEDOWN        3

*---------------------
* 鼠標形狀常量
*---------------------
#DEFINE MOUSE_DEFAULT            0
#DEFINE MOUSE_ARROW                1
#DEFINE MOUSE_CROSS                2
#DEFINE MOUSE_BEAN                3
#DEFINE MOUSE_WHITE_SQUARE        4
#DEFINE MOUSE_FOUR_ARROW        5
#DEFINE MOUSE_NE                6
#DEFINE MOUSE_NS                7
#DEFINE MOUSE_NW                8
#DEFINE MOUSE_WE                9
#DEFINE MOUSE_UP                10
#DEFINE MOUSE_WAIT                11
#DEFINE MOUSE_NO_DROP            12
#DEFINE MOUSE_HIDE                13
#DEFINE MOUSE_ARROW1            14
#DEFINE MOUSE_HAND                15
#DEFINE MOUSE_DOWN                16
#DEFINE MOUSE_CUSTOM            99

*---------------------
* 印刷常量
*---------------------
#DEFINE POINT_CM        0.035                && 磅到厘米的转换,1磅=0.035厘米=1/72英寸
   
*----------------------
* Excel 常量
*----------------------
#DEFINE xlCenter            3
#DEFINE xlRight                2
#DEFINE xlLeft                1
#DEFINE xlDiagonalDown        5
#DEFINE xlDiagonalUp        6
#DEFINE xlEdgeLeft            7
#DEFINE xlEdgeTop            8
#DEFINE xlEdgeBottom        9
#DEFINE xlEdgeRight            10
#DEFINE xlInsideVertical    11
#DEFINE xlInsideHorizontal    12
#DEFINE xlContinuous        1
#DEFINE xlThin                2
#DEFINE xlAutomatic            -4105
#DEFINE xlMedium            -4138
#DEFINE xlNone                -4142
#DEFINE xlSolid                1
#DEFINE xlPaperLetter        1
#DEFINE xlPaperA4            9
#DEFINE xlPortrait            1
#DEFINE xlLandscape            2
#DEFINE xlMaximized            -4137
#DEFINE xlNormal            -4143
#DEFINE xlMinimized            -4140
#DEFINE xlExcel8            56

*----------------------
* 文件屬性常量
*----------------------
#DEFINE FILE_ATTRIBUTE_READONLY                1
#DEFINE FILE_ATTRIBUTE_HIDDEN                2
#DEFINE FILE_ATTRIBUTE_SYSTEM                4
#DEFINE FILE_ATTRIBUTE_DIRECTORY            16
#DEFINE FILE_ATTRIBUTE_ARCHIVE                32
#DEFINE FILE_ATTRIBUTE_ENCRYPTED            64
#DEFINE FILE_ATTRIBUTE_NORMAL                128
#DEFINE FILE_ATTRIBUTE_TEMPORARY            256
#DEFINE FILE_ATTRIBUTE_SPARSE_FILE            1024
#DEFINE FILE_ATTRIBUTE_COMPRESSED            2048

授人以渔,不授人以鱼。
2012-03-03 23:31
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 17楼 sdta
为什么这样猜?

授人以渔,不授人以鱼。
2012-03-03 23:36
快速回复:发个字形结构的图
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035876 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved