Ignore:
Timestamp:
Jul 13, 2008, 2:29:17 AM (16 years ago)
Author:
イグトランス (egtra)
Message:

Controlをデリゲートベースにした。DictionaryのContainsKeyとTryGetValueを実装。デリゲートの追加・削除の右辺にNothingを指定可能にした。

File:
1 edited

Legend:

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

    r473 r542  
    2222    Dim argsType = argBase & "Args"
    2323    out.WriteLine("Public")
    24     out.WriteLine(Ex"\t/*!")
    25     out.WriteLine(Ex"\t@brief " & eventName & "イベントハンドラを追加する")
    26     out.WriteLine(Ex"\t*/")
     24'   out.WriteLine(Ex"\t/*!")
     25'   out.WriteLine(Ex"\t@brief " & eventName & "イベントハンドラを追加する")
     26'   out.WriteLine(Ex"\t*/")
    2727    out.WriteLine(Ex"\tSub Add" & eventName & "(h As " & handlerType & ")")
    2828    out.WriteLine(Ex"\t\tIf IsNothing(" & eventMember & ") Then")
    29     out.WriteLine(Ex"\t\t\t" & eventMember & " = New " & handlerType)
     29    out.WriteLine(Ex"\t\t\t" & eventMember & " = h")
     30    out.WriteLine(Ex"\t\tElse")
     31    out.WriteLine(Ex"\t\t\t" & eventMember & " += h")
    3032    out.WriteLine(Ex"\t\tEnd If")
    31     out.WriteLine(Ex"\t\t" & eventMember & " += h")
    3233    out.WriteLine(Ex"\tEnd Sub")
    33     out.WriteLine(Ex"\t/*!")
    34     out.WriteLine(Ex"\t@brief " & eventName & "イベントハンドラを削除する")
    35     out.WriteLine(Ex"\t*/")
     34'   out.WriteLine(Ex"\t/*!")
     35'   out.WriteLine(Ex"\t@brief " & eventName & "イベントハンドラを削除する")
     36'   out.WriteLine(Ex"\t*/")
    3637    out.WriteLine(Ex"\tSub Remove" & eventName & "(h As " & handlerType & ")")
    3738    out.WriteLine(Ex"\t\tIf Not IsNothing(" & eventMember & ") Then")
     
    3940    out.WriteLine(Ex"\t\tEnd If")
    4041    out.WriteLine(Ex"\tEnd Sub")
    41     out.WriteLine("Protected")
    42     out.WriteLine(Ex"\t/*!")
    43     out.WriteLine(Ex"\t@brief " & comment)
    44     out.WriteLine(Ex"\t*/")
    45     out.WriteLine(Ex"\tVirtual Sub On" & eventName & "(e As " & argsType & ")")
     42    out.WriteLine("Private")
     43'   out.WriteLine(Ex"\t/*!")
     44'   out.WriteLine(Ex"\t@brief " & comment)
     45'   out.WriteLine(Ex"\t*/")
     46    out.WriteLine(Ex"\tSub On" & eventName & "(e As " & argsType & ")")
    4647    out.WriteLine(Ex"\t\tIf Not IsNothing(" & eventMember & ") Then")
    4748    out.WriteLine(Ex"\t\t\t" & eventMember & "(This, e)")
     
    5354End Sub
    5455
    55 'OutputEventHandlerCode("PaintDC", "PaintDCEventHandler", 
     56'OutputEventHandlerCode("PaintDC", "PaintDCEventHandler",
    5657'   "ウィンドウの描画が必要なときに呼び出されます。")
    5758
Note: See TracChangeset for help on using the changeset viewer.