打印本文 打印本文 关闭窗口 关闭窗口
DX: Full Screen GUI Development 2
作者:武汉SEO闵涛  文章来源:敏韬网  点击数4138  更新时间:2009/4/23 16:39:24  文章录入:mintao  责任编辑:mintao
by the Frame control:

 

    With frmMain.Radio1

        .ObjectType = RadioBtn

        .ObjectState = iUnchecked

        .ParentHeight = frmMain.Frame1.Height

        .ParentWidth = frmMain.Frame1.Width

        .ParentX = frmMain.Frame1.X

        .ParentY = frmMain.Frame1.Y

        .X = 100 + .ParentX

        .Y = 100 + .ParentY

        .ObjectSurface = objDD.CreateSurfaceFromFile(App.Path & "\radio.bmp", ddsdSurf6)

        .WindowName = "Radio1"

        .Caption = "Radio 1"

    End With

    ''''Add to frame not base window

    frmMain.Frame1.AddChild frmMain.Radio1

 

    With frmMain.Radio2

        .ObjectType = RadioBtn

        .ObjectState = iUnchecked

        .ParentHeight = frmMain.Frame1.Height

        .ParentWidth = frmMain.Frame1.Width

        .ParentX = frmMain.Frame1.X

        .ParentY = frmMain.Frame1.Y

        .X = 100 + .ParentX

        .Y = 115 + .ParentY

        .ObjectSurface = objDD.CreateSurfaceFromFile(App.Path & "\Radio.bmp", ddsdSurf6)

        .WindowName = "Radio2"

        .Caption = "Radio 2"

    End With

    ''''Add to frame not base window

    frmMain.Frame1.AddChild frmMain.Radio2

 

    With frmMain.Radio3

        .ObjectType = RadioBtn

        .ObjectState = iUnchecked

        .ParentHeight = frmMain.Frame1.Height

        .ParentWidth = frmMain.Frame1.Width

        .ParentX = frmMain.Frame1.X

        .ParentY = frmMain.Frame1.Y

        .X = 100 + .ParentX

        .Y = 130 + .ParentY

        .ObjectSurface = objDD.CreateSurfaceFromFile(App.Path & "\Radio.bmp", ddsdSurf6)

        .WindowName = "Radio3"

        .Caption = "Radio 3"

    End With

    ''''Add to frame not base window

    frmMain.Frame1.AddChild frmMain.Radio3

   

Notice that we抮e calling AddChild for the Frame1 control, not the Window control.

 

The clsWindow class has changed a bit as you probably expected. We抳e exposed the Width and Height members of the clsWindow class in order to set up the Frame control:

 

    With frmMain.Frame1

        .ObjectType = FrameWnd

        .ObjectState = iEnabled

        .ParentHeight = frmMain.Window.Height

        .ParentWidth = frmMain.Window.Width

        .ParentX = frmMain.Window.X

        .ParentY = frmMain.Window.Y

        .X = 75

        .Y = 75

        .Width = 200

        .Height = 200

        .WindowName = "Frame1"

        .Caption = "Test Frame"

    End With

    frmMain.Window.AddChild frmMain.Frame1

 

The Property Let ObjectSurface and MouseDown function have had the RadioBtn added to the cases for the ChkBox:

 

Public Property Let ObjectSurface(ByVal objSurface As DirectDrawSurface7)

 

?/SPAN>

 

        Case ChkBox, RadioBtn

            iHeight = ddsd.lHeight / 4

 

?/SPAN>

 

End Property

 

Public Function DrawObject(objSurface As DirectDrawSurface7)

   

    Dim clsWindow As clsWindow

    Dim iLp As Integer

    Dim ddsd As DDSURFACEDESC2

    Dim rectBitmap As RECT

    Dim rectObject As RECT

    Dim lRet As Long

    Dim bDrawCaption As Boolean

    Dim lOldColor As Long

    Dim lBltFlags As Long

   

    On Error GoTo DrawObjectErr

   

    rectBitmap.Left = iX

    rectBitmap.Right = iX + iWidth

    rectBitmap.Top = iY

    rectBitmap.Bottom = iY + iHeight

   

    Select Case iObjectType

        Case Btn

           

            rectObject.Left = 0

            rectObject.Right = iWidth

           

            Select Case iObjectState

                Case iEnabled

                    rectObject.Top = 0

                    rectObject.Bottom = iHeight

                Case iDisabled

                    rectObject.Top = iHeight * 2

                    rectObject.Bottom = iHeight * 3

                Case iPressed

                    rectObject.Top = iHeight

                    rectObject.Bottom = iHeight * 2

            End Select

           

  &nbs

上一页  [1] [2] [3] [4] [5]  下一页

打印本文 打印本文 关闭窗口 关闭窗口