Einzelnen Beitrag anzeigen

Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Graphischer Hint mit eigenen Bitmap

  Alt 18. Sep 2008, 00:59
Zitat von toms:
    property Picture: TPicture read FPicture write SetPicture;
Ich meine, es verstanden zu haben.

Zitat von toms:
Ich musste den Code zuerst mal du DelForEx jagen, da der Code äussert ungewöhlich formatiert ist.
Habe auch ein paar Änderungen vorgenommen. (ist jedoch noch nicht fertig und könnten noch Fehler vorhanden sein!)
Das tut mir wirklich leid. Bei mir ist alles mit Tabulatoren eingerückt. Möglicherweise verzerrt es das Bild, wenn andere Editoren das nicht eingestellt haben. Sieht hier im Forum aber Top aus

Ich habe jetzt NEU angefangen. Ich konnte mich erinnern, dass ich mir vor Jahren mal den kurzen aber sehr wirkungsvollen Quellcode für mehrzeilige Hints besorgt hatte.
Darauf aufbauen haben ich zwei weitere Properties definiert. Allerdings habe ich nun Probleme mit dem Lesen und Schreiben der von mir definierten HGraphic vom Typ Bitmap. Ich habe das absichtlich genommen, weil man im Grunde alles nach Bitmap konvertieren kann. Wenn ich z.B. auf dem Formular ein TImage anlege, bestücke und mit Assign hin-und-herkopiere, dann bekomme ich nur eine leeres Formular.

Was mache ich falsch?

Delphi-Quellcode:
Constructor THHint.Create(AOwner:TComponent);
Begin
   Inherited Create(AOwner);
   FActive:=True;
   FSeparator:='@';
   FGraphicTag:='@Graphic@';
   FHGraphic:=nil;
   Application.OnShowHint:=NewHintInfo;
   ScreenSize:=GetSystemMetrics(Sm_CyScreen);
End;

...

// Grafik
Function THHint.GetHGraphic:TBitmap;
Begin
   Result:=TBitmap.Create;
   Result.Assign(FHGraphic);
   Result.Free;
End;

Procedure THHint.SetHGraphic(IsGraphic: TBitmap);
Begin
   FHGraphic.Assign(IsGraphic);
End;
Den Aufruf mache ich (vorerst bis zur Installation in der IDE) so:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
   HH:=THHint.Create(Form1);
   HH.HGraphic.Assign(Image1.Picture.Bitmap);
   Image1.Picture.Bitmap.Assign(HH.HGraphic);
end;
Für alle die mehr wollen, habe ich den Code nebst Beispiel angefügt...

Gute Nacht wünscht Alex
Angehängte Dateien
Dateityp: zip mischhint_153.zip (52,3 KB, 22x aufgerufen)
Alex Winzer
  Mit Zitat antworten Zitat