Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Create(self) bei ausgelagerter Funktion, Methodenzeiger und reguläre Prozedur

  Alt 21. Okt 2016, 15:06
Vieleicht so:
Delphi-Quellcode:
TGridCheckBoxHelp = class(TComponent)
protected
  procedure CheckBoxMouseDown({...});
public
  procedure CreateCheckBox({...});
end;

procedure TGridCheckBoxHelp.CreateCheckBox({...});
var
  lChkBox: TGridCheckBox;

begin
  if (pColumn <> 0) AND (pRow = 0) then
    Exit;

  lChkBox := TGridCheckbox.Create(Grid); // Freigabe übernimmt das Grid oder Self

  with lChkBox do
  begin
    Column := pColumn;
    Row := pRow;
    parent := Grid;

    Checked := True;
    Caption := '';
    Width := ChkboxWidth;
    Height := ChkboxHeight;
    OnMouseDown := CheckboxMouseDown;
    Visible := false;
    Invalidate; // Invalidate für ein unsichtbares Steuerelement?
  end;

  Grid.Objects[pColumn, pRow] := lChkBox;
  Result := lChkBox;
end;

{z.B. im Show des Formulars}
FGridCheckBoxHelp := TGridCheckBoxHelp.Create(Self); // Freigabe übernimmt Self (das Formular)
FGridCheckBoxHelp.CreateCheckBox({...});
  Mit Zitat antworten Zitat