Browse Source

BCButton assign from resource

lainz 5 years ago
parent
commit
fd450921a9
1 changed files with 18 additions and 0 deletions
  1. 18 0
      bcbutton.pas

+ 18 - 0
bcbutton.pas

@@ -277,6 +277,7 @@ type
     procedure LoadFromJSON(AJSON: string);
     procedure LoadFromJSON(AJSON: string);
     { Assign the properties from AFileName to this instance }
     { Assign the properties from AFileName to this instance }
     procedure AssignFromFile(AFileName: string); override;
     procedure AssignFromFile(AFileName: string); override;
+    procedure AssignFromResource(AResourceName: string);
     { Used by SaveToFile/LoadFromFile }
     { Used by SaveToFile/LoadFromFile }
     {$ENDIF}
     {$ENDIF}
     procedure OnFindClass({%H-}Reader: TReader; const AClassName: string;
     procedure OnFindClass({%H-}Reader: TReader; const AClassName: string;
@@ -1748,6 +1749,23 @@ begin
     AButton.Free;
     AButton.Free;
   end;
   end;
 end;
 end;
+
+procedure TCustomBCButton.AssignFromResource(AResourceName: string);
+var
+  AStream : TResourceStream;
+  AButton : TBCButton;
+begin
+  AButton := TBCButton.Create(nil);
+  try
+    AStream := TResourceStream.Create(HINSTANCE, AResourceName, RT_RCDATA);
+    ReadComponentFromTextStream(AStream, TComponent(AButton), OnFindClass);
+    Assign(AButton);
+  finally
+    AStream.Free;
+    AButton.Free;
+  end;
+end;
+
 {$ENDIF}
 {$ENDIF}
 
 
 procedure TCustomBCButton.OnFindClass(Reader: TReader; const AClassName: string;
 procedure TCustomBCButton.OnFindClass(Reader: TReader; const AClassName: string;