Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Grafik in eigene Komponente einbinden (https://www.delphipraxis.net/104499-grafik-eigene-komponente-einbinden.html)

Ares 5. Dez 2007 12:49


Grafik in eigene Komponente einbinden
 
Hallo!

Ich will eine Klasse von TSpeedButton ableiten, bei der die Glyph-Proptery schon meine gesetzt ist. Hierbei gelingt es mir nicht, dass zugehörige Bild direkt in die Komponente einzubinden:

Delphi-Quellcode:
unit TestButton;

{$R 'Icon.res'}

interface

uses StdCtrls, Buttons, Messages, Classes, Controls, SysUtils, Types;

type
  TTestButton = class(TSpeedButton)
  public
    constructor Create(AOwner: TComponent); override;
  end;


procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('MyComponents', [TTestButton]);
end;

{ TTestButton }

constructor TTestButton.Create(AOwner: TComponent);
begin
  inherited;
  Glyph.LoadFromResourceName(HInstance, 'Icon');
end;

end.
Die RES-Datei habe ich folgendem Code erstellt:

Delphi-Quellcode:
Icon RCDATA DISCARDABLE "Folder.bmp"
Die Komponente und das Package in die ich diese eingefügt haben lassen sich problemlos compilieren. Wenn ich dann aber einen TTestButton auf einem Form platzieren will erhalte ich die Meldung "Ressource Icon wurde nicht gefunden.". Was mache ich hier falsch?

Gruß
Ares

Jelly 5. Dez 2007 13:06

Re: Grafik in eigene Komponente einbinden
 
Zitat:

Zitat von Ares
Die RES-Datei habe ich folgendem Code erstellt:

Delphi-Quellcode:
Icon RCDATA DISCARDABLE "Folder.bmp"

Ist das deine .res oder .rc Datei ?

Du musst jedenfalls die .rc Datei mit dem Inhalt erstellen, und diese dann mit brc32.exe kompilieren.

Muetze1 5. Dez 2007 13:08

Re: Grafik in eigene Komponente einbinden
 
Zitat:

Zitat von Jelly
..., und diese dann mit brc32.exe kompilieren.

brcc32 - da fehlte ein c..

Ares 5. Dez 2007 13:22

Re: Grafik in eigene Komponente einbinden
 
Zitat:

Zitat von Jelly
Zitat:

Zitat von Ares
Die RES-Datei habe ich folgendem Code erstellt:

Delphi-Quellcode:
Icon RCDATA DISCARDABLE "Folder.bmp"

Ist das deine .res oder .rc Datei ?

Du musst jedenfalls die .rc Datei mit dem Inhalt erstellen, und diese dann mit brc32.exe kompilieren.

Ja, genau das habe ich gemacht. Ich habe eine die Datei Icon.rc mit obigen Inhalt erstellt und diese mit brcc32 compiliert. Dies hat dann die Icon.res ausgespuckt, die ich in die Komponente eingebunden habe.

Muetze1 5. Dez 2007 13:37

Re: Grafik in eigene Komponente einbinden
 
Glyph lädt als Resourcentyp BITMAP und nicht RC_DATA. Somit findet er die Resource nicht.

Ares 5. Dez 2007 13:50

Re: Grafik in eigene Komponente einbinden
 
Genau das war der Fehler, besten Dank!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz