Ignore:
Timestamp:
Mar 31, 2009, 2:09:07 PM (15 years ago)
Author:
イグトランス (egtra)
Message:

GDI+をコンパイルできるように修正。FontFamily, Penの追加。サンプルとして、Step 32のGDI+版を制作。
(#56)

Location:
trunk/ab5.0/ablib/src/Classes/ActiveBasic/Windows/UI
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/ablib/src/Classes/ActiveBasic/Windows/UI/Control.ab

    r679 r698  
    5757    End Function
    5858
     59    Function AddRef() As DWord
     60        AddRef = comImpl.AddRef()
     61    End Function
     62
     63    Function Release() As DWord
     64        Release = comImpl.Release()
     65    End Function
     66
     67    Function QueryInterface(ByRef riid As IID, ByRef pv As Any) As HRESULT
     68        QueryInterface = comImpl.QueryInterface(riid, pv)
     69    End Function
     70
    5971Private
    6072    Static Function FromHWndCore(hwnd As HWND) As Control
     
    7082    @date 2008/08/02
    7183    通常はCreateやCreateFormその他を使ってください。
     84    ここで渡された引数は、GetCreateStructへ渡して修正の機会を与えた後に、
     85    CreateWindowExへ渡される。
    7286    */
    7387    Sub CreateEx(parent As Control, style As DWord, exStyle As DWord, hmenu As HMENU)
     
    115129
    116130Protected
     131    /*!
     132    @brief ウィンドウ作成前の初期設定確認
     133    派生クラスでオーバーライドして、csを書き換えてよい。
     134    書き換えられたcsを基にCreateWindowExが呼ばれる。
     135    */
    117136    Virtual Sub GetCreateStruct(ByRef cs As CREATESTRUCT)
    118137    End Sub
    119138
     139Private
    120140    Sub createImpl(ByRef cs As CREATESTRUCT, parent As Control)
    121141        throwIfAlreadyCreated()
     
    153173    End Sub
    154174*/
     175
    155176    Sub BeginSubclass()
    156177        throwIfNotCreated()
     
    207228Private
    208229    Static Function makeKeysFormMsg(e As MessageArgs) As Keys
    209         Dim t As DWord
    210         t = e.WParam And Keys.KeyCode
     230        Dim t = (e.WParam As DWord) And Keys.KeyCode
    211231        t Or= (GetKeyState(VK_SHIFT) As Word And &h8000) << 1
    212232        t Or= (GetKeyState(VK_CONTROL) As Word And &h8000) << 2
     
    354374
    355375    Sub OnCreateBase(sender As Object, e As MessageArgs)
    356         e.Handled = e.Handled And OnCreate(New CreateArgs(e.LParam As *CREATESTRUCT))
     376        Dim c = New CreateArgs(e.LParam As *CREATESTRUCT)
     377        If e.LResult = -1 Then
     378            c.Cancel = True
     379        End If
     380        e.Handled = e.Handled And OnCreate(c)
     381        If c.Cancel Then
     382            e.LResult = -1
     383        Else
     384            e.LResult = 0
     385        End If
    357386    End Sub
    358387
     
    579608            .hIcon = 0
    580609            .hCursor = LoadImage(0, MAKEINTRESOURCE(IDC_ARROW), IMAGE_CURSOR, 0, 0, LR_DEFAULTSIZE Or LR_SHARED) As HCURSOR
    581             .hbrBackground = 0
     610            .hbrBackground = (COLOR_3DFACE + 1) As HBRUSH
    582611            .lpszMenuName = 0
    583612            .lpszClassName = ToTCStr(WindowClassName)
  • trunk/ab5.0/ablib/src/Classes/ActiveBasic/Windows/UI/EventArgs.ab

    r615 r698  
    128128        This.button = button
    129129        This.clicks = clicks
    130         This.pt = New System.Drawing.Point(x, y)
     130        This.pt.X = x
     131        This.pt.Y = y
    131132        This.delta = delta
    132133    End Sub
     
    145146
    146147    Const Function Locale() As System.Drawing.Point
    147         Locale = New System.Drawing.Point(pt.X, pt.Y)
     148        Locale = pt
    148149    End Function
    149150
     
    495496        CreateStruct = pcs
    496497    End Function
     498
     499    Const Function Cancel() As Boolean
     500        Cancel = cancel
     501    End Function
     502
     503    Sub Cancel(c As Boolean)
     504        cancel = c
     505    End Sub
    497506Private
    498507    pcs As *CREATESTRUCT
     508    cancel As Boolean
    499509End Class
    500510
  • trunk/ab5.0/ablib/src/Classes/ActiveBasic/Windows/UI/Form.ab

    r637 r698  
    1919    Sub Form()
    2020        AddMessageEvent(WM_COMMAND, AddressOf(OnCommand))
    21         AddPaintBackground(AddressOf(OnPaintBackground))
    2221    End Sub
    2322
     
    3130            .cy = CW_USEDEFAULT
    3231        End With
    33     End Sub
    34 
    35     Sub OnPaintBackground(sender As Object, e As PaintBackgroundArgs)
    36         Dim rc = ClientRect
    37         FillRect(e.Handle, rc, (COLOR_3DFACE + 1) As HBRUSH)
    3832    End Sub
    3933
Note: See TracChangeset for help on using the changeset viewer.