Ignore:
Timestamp:
Aug 3, 2008, 3:58:05 AM (16 years ago)
Author:
イグトランス (egtra)
Message:

ウィンドウ作成関数を親用のCreateFormと子用のCreateに分離。

File:
1 edited

Legend:

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

    r559 r575  
    11'Classes/ActiveBasic/Windows/UI/Application.ab
     2
     3#require <Classes/ActiveBasic/Windows/UI/Form.ab>
    24
    35Namespace ActiveBasic
    46Namespace Windows
    57Namespace UI
     8
     9Delegate Function MessageFilter(m As *MSG) As Boolean
    610
    711/*!
     
    2327            form.Show(SW_SHOW)
    2428            form.Update()
    25             form.AddMessageEvent(WM_DESTROY, AddressOf(Application.OnMainFormClosed))
     29            form.AddMessageEvent(WM_DESTROY, AddressOf(OnMainFormClosed))
    2630        End If
    2731
     
    3236                Exit Do
    3337            End If
    34             TranslateMessage(m)
    35             DispatchMessage(m)
     38            dispatchMessage(m)
    3639        Loop
    3740
     
    7073                    PostQuitMessage(0) 'Run()で捕まえてくれるようPostしなおす。
    7174                Case Else
    72                     TranslateMessage(msg)
    73                     DispatchMessage(msg)
     75                    dispatchMessage(msg)
    7476            End Select
    7577        Wend
    7678    End Sub
     79/*
     80    Static Sub AddMessageFilter(mf As MessageFilter)
     81        If IsNothing(filter) Then
     82            filter = New System.Collections.Generic.List<MessageFilter>
     83        End If
     84        filter.Add(mf)
     85    End Sub
    7786
     87    Static Sub RemoveMessageFilter(mf As MessageFilter)
     88        filter.Remove(mf)
     89    End Sub
     90*/
    7891#include "ApplicationEvent.sbp"
    7992
     
    8396        ExitThread()
    8497    End Sub
     98
     99    Static Sub dispatchMessage(ByRef m As MSG)
     100/*      If IsNothing(filter) = False Then
     101            For Each f In filter
     102            Next
     103        End If
     104*/      TranslateMessage(m)
     105        DispatchMessage(m)
     106    End Sub
     107
     108'   Static filter As System.Collections.Generic.List<MessageFilter>
    85109End Class
    86110
Note: See TracChangeset for help on using the changeset viewer.