AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Verschiedenes Verhalten zw. DesignTime und Runtime
Thema durchsuchen
Ansicht
Themen-Optionen

Verschiedenes Verhalten zw. DesignTime und Runtime

Ein Thema von TheMiller · begonnen am 1. Okt 2006 · letzter Beitrag vom 1. Okt 2006
Antwort Antwort
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

Verschiedenes Verhalten zw. DesignTime und Runtime

  Alt 1. Okt 2006, 14:21
Hey...

Ich habe meine Komponente mit eurer Hilfe jetzt fertig und habe sie bisher immer dynamisch erstellt (zur Laufzeit). Das klappt wunderbar und es wird alles richtig angezeigt. Doch wenn ich die Komponente zur Designtime auf das Formular ziehe und dann das Programm starte, dann wird die Komponente erst angezeigt, wenn ich einmal mit der Maus drüber gefahren bin...

Hier der QuellCode der Komponente

Delphi-Quellcode:
constructor TImageButton.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  Bitmap:=TBitmap.Create;
  Width:=150;
  Height:=25;
  Glyph.LoadFromFile('C:\Button.bmp');
end;

procedure TImageButton.Paint;
var
  TextWidth, Textheight: Integer;
  PosX, PosY: Integer;
begin
  Canvas.Draw(0,0, Glyph);
  Canvas.Brush.Style:=bsClear;
  TextWidth:=Canvas.TextWidth(Caption);
  Textheight:=Canvas.TextHeight(Caption);
  PosX:=((Width div 2) - (TextWidth div 2));
  PosY:=((Height div 2) - (TextHeight div 2));
  Canvas.TextOut(PosX, PosY, Caption);
end;
Konnte selbst leider nicht rausfnden, woran das liegt.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Verschiedenes Verhalten zw. DesignTime und Runtime

  Alt 1. Okt 2006, 14:33
Versuch mal im Konstruktor den Redraw deiner Komponente zu erzwingen.

BTW. Ich würde den Pfad auf das Bild nicht fest im Code verankern sondern das Bild fest in der Ressource veranker. Du könntest ja als nächstes den Benutzer das Bild selber auswählen lassen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#3

Re: Verschiedenes Verhalten zw. DesignTime und Runtime

  Alt 1. Okt 2006, 19:54
Redraw ist gut... Habe versucht, die Prozedur RePaint aufzurufen, aber das bringt nichts. Paint kann ich nicht aufrufen, da dies eine AV bringt und Redraw gibt es direkt nicht.

Achso, und den Link habe ich doch nur als Test fest verankert. Resourcen wird es nicht geben, aber der User soll dann selbst Bilder wählen können.
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#4

Re: Verschiedenes Verhalten zw. DesignTime und Runtime

  Alt 1. Okt 2006, 23:11
... oder muss ich selbst eine funktion schreiben, die meinen Button "redrawed" ?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz