Examples of the event 'assignment':
Type
TSEvent = procedure (statusbar: tstatusbar; panel: tstatuspanel;
CONST RECT: TRECT OF OBJECT;
.........
Private
Sevent: tsevent;
PROCEDURE MYSDRAWPANEL (STATUSBAR: TSTATUSBAR; Panel: TSTATUSPANEL
Const Rect: TRECT);
END;
Procedure TFRM_MAIN.ACTLYJHEXECUTE (Sender: TOBJECT);
Begin ....
Sevent: = mysdrawpanel; // See the annotations below
Form1.ShowModal;
Form1.statusbar1.ondrawpanel: = sevent;
Finally
...
END;
END;
// Custom Process Procedure TFRM_MAIN.MYSDRAWPANEL (STATUSBAR: TSTATUSBAR;
Panel: TSTATUSPANEL; Const Rect: TRECT);
Begin
Statusbar.canvas.brush.color: = $ 00737157;
Statusbar.canvas.font.color: = $ 00eeee;
Statusbar.canvas.FillRect (Rect);
Statusbar.canvas.textRect (Rect, Rect.left, Rect.top, Panel.Text);
END;
Note: It is worth noting that if it is in a Unit, it is not possible.
TYPE TFORMCLOSE = Procedure (Sender: TcloseAction) of object; .... procedure showform (Schoolname: string; parenthandle: hwnd; frm: tform); Var ProfrmClose: TFormClose; Begin
TMETHOD (ProfrmClose) .code: = @formclose; TMETHOD (ProfrmClose) .data: = nil; // ------- Description: If it is in a FORM unit, don't need this, directly ProfrmClose: = formClose can. The specific principles remain to be studied.