AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Probleme mit Komponentendesign

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

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

Probleme mit Komponentendesign

  Alt 2. Okt 2006, 13:22
Hallo,

ich komme nicht mehr weiter. Habe 2 Probleme mit meiner Button-Komponente. Das erste ist, dass die Komponente im Designmodus und Laufzeitmodus verschieden aussieht und im Laufzeitmodus erst korrekt dargestellt wird, wenn ich mit der Maus über sie fahre. Dies ist aber nur so, wenn ich die Komponente im Designmodus erstelle. Wenn ich sie zur Laufzeit erstelle, wird sie gleich richtig angezeigt.

Das zweite Problem ist, dass die Caption (canvas.Textout) auch nicht sofort richtig dargestellt wird. Die Position wird erst berechnet, wenn ich mit der Maus drüber fahre, obwohl auch diese Berechnung in der Prozedur Paint ist.

Schaut einfach mal drüber. Würde mich freuen, wenn mir deisbezüglich jemand helfen kann!

Danke im Voraus
Angehängte Dateien
Dateityp: pas imagebutton_799.pas (2,3 KB, 13x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Probleme mit Komponentendesign

  Alt 2. Okt 2006, 13:57
Hinter das inherited bei Paint gehört ein Strichpunkt.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.938 Beiträge
 
Delphi 12 Athens
 
#3

Re: Probleme mit Komponentendesign

  Alt 2. Okt 2006, 14:13
Ich glaube das bringt nichts, wenn du im Constructor ein Refresh machst.
Versuch das Refresh (oder ein invalidate) zu einem späteren Zeitpunkt.
Vielleicht hilft das ja.

Ans Ende von SetParent oder ans Ende von Setbounds ,... probiers aus.
Andreas
Monads? Wtf are Monads?
  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: Probleme mit Komponentendesign

  Alt 2. Okt 2006, 14:17
Also, wenn ich den Strichpunkt hinter Inherited setze, wird schonmal die Position der caption richtig berechnet. Zugleich wird aber dieser hässliche Windows-Button gezeichnet, den ich doch mit meinem Bild ersetzen wollte. Sieht wieder Windows-Like aus...
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.938 Beiträge
 
Delphi 12 Athens
 
#5

Re: Probleme mit Komponentendesign

  Alt 2. Okt 2006, 14:22
und ich dachte schon das Draw(0,0,Bla) ein versehen war.

lass inherited einfach weg, dann must du aber alles selbst zeichnen,
aber das scheint ja deine idee zu sein.
Nimm aber keine Bitmap zum zeichnen des button, nutze die Primitive
die das Canvas zur Verfügung stellt.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

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

Re: Probleme mit Komponentendesign

  Alt 2. Okt 2006, 14:30
Zitat von QuickAndDirty:
Nimm aber keine Bitmap zum zeichnen des button, nutze die Primitive
die das Canvas zur Verfügung stellt.
Das verstehe ich nicht so ganz.

Und, wenn ich das Inherited wegnehme, dann tritt wieder der Fehler mit der Berechnung der Position der Caption auf. Sie wird erst dann korrekt positioniert, wenn ich mit der Maus drüber fahre. Deswegen hatte ich erst das Inherited stehen - mit dem es ja auch funzt - halt WindowsLike!
  Mit Zitat antworten Zitat
Benutzerbild von thkerkmann
thkerkmann

Registriert seit: 7. Jan 2006
Ort: Pulheim Brauweiler
464 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Probleme mit Komponentendesign

  Alt 2. Okt 2006, 14:42
Hi,

in der zweiten Zeile von CalcTextPos machst Du ein TextOut ohne PosX, PosY vorher zu berechnen, und weiter unten machst Du wieder ein TextOut.... sollte das so sein, oder ist das doppelt gemoppelt ??

Gruss

Thomas
Thomas Kerkmann
Ich hab noch einen Koffer in Borland.
http://thomaskerkmann.wordpress.com/
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

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

Re: Probleme mit Komponentendesign

  Alt 2. Okt 2006, 14:48
Diese Zeile habe ich vergesse auszukommentieren. Das waren verzweifelte Versuche... Die untere ist natürlich richtig. Ändert aber auch leider nichts an der Sache.
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

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

Re: Probleme mit Komponentendesign

  Alt 2. Okt 2006, 15:36
Ok, das Problem mit der Schriftposition habe ich gelöst. Mein Fehler war folgender: Ich habe erst die Position berechnet und danach die Schriftart- und Größe geändert. Dadurch hat sich alles wieder verschoben und beim erneuten CalcTextPos hat er die Position mit der neuen Schriftgröße berechnet.
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

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

Re: Probleme mit Komponentendesign

  Alt 2. Okt 2006, 15:45
Gut alle Probleme selbst behoben.

Das andere Problem was ich hatte, trat dadurch auf, dass ich die Komponente nicht neu installiert habe, nachdem ich alle Änderungen vorgenommen habe.

Trotzdem ein DANKE an alle Helfer!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 05:07 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