Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
Delphi XE3 Enterprise
|
AW: Checkbox in StringGrid -> Klicken klappt nicht
9. Feb 2013, 01:04
@Volker Z.
Danke WMCommand war die Ecke die mir fehlte, jetzt könnt man das ganz doch noch runder bekommen ... ohne den ganzen ein/ausblende und Ereignisbehandlungscode drumherum ...
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TStringGrid = Class(Grids.TStringGrid)
procedure WMCommand( var Message: TWMCommand); message WM_COMMAND;
private
FCheckBox: TCheckBox;
procedure SetCheckBox( const Value: TCheckBox);
published
property CheckBox: TCheckBox read FCheckBox Write SetCheckBox;
End;
TForm1 = class(TForm)
StringGrid1: TStringGrid;
CheckBox1: TCheckBox;
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.CheckBox := CheckBox1;
end;
{ TStringGrid }
procedure TStringGrid.SetCheckBox( const Value: TCheckBox);
begin
FCheckBox := Value;
FCheckBox.Parent := Self;
end;
procedure TStringGrid.WMCommand( var Message: TWMCommand);
begin
if Assigned(FCheckBox) then
if Message.NotifyCode = 0 then
FCheckBox.Checked := not FCheckBox.Checked;
inherited;
end;
end.
Thomas Wassermann H₂♂ Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂♂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
|
|
Zitat
|