
- Die Default-Caption wird während Runtime angezeigt, obwohl Caption (im Forms Designer) leer gesetzt wird. Die Anzeige im Forms Designer ist richtig. Workaround: ein Leerzeichen in der Caption eingeben.
Armin,
Code: Alles auswählen
procedure TMultiButton.Paint;
....
if csDesigning in ComponentState then // wenn in der Designphase
if not CaptionChange // Caption noch nicht geändert wurde
then FCaption := self.Name; // dann geben wir Caption den Komponentennamen
Siro schrieb:Die Default-Caption wird während Runtime angezeigt, obwohl Caption (im Forms Designer) leer gesetzt wird. Die Anzeige im Forms Designer ist richtig. Workaround: ein Leerzeichen in der Caption eingeben.
Ich habe jedenfalls die Steilvorlage von Siro 1:1 so übernommen. Schien perfekt zu gehen. Leider musste ich feststellen das wenn man das Programm schließt und wieder öffnet es genau anders herum ist. Der Hinweis von Siro mit der lfm Datei und der von Nimral mit dem Leerzeichen hat mich dann auf die Idee gebracht im Setter "if aValue = '' then aValue:=' ';" einzutragen. Offensichtlich braucht die lfm Datei oder der Stream irgendwas was er speichern kann. Kann es mir nicht besser erklären. Bin mal gespannt ob es bei euch auch geht.Ich vermute mal es liegt daran, dass CaptionChange nicht in dem Stream(in der .dfm) Datei gespeichert wird.
Ja ist genial. Hab ich von M.Fuchs abgeschautMich hatte der Code der GruppenTasten auch interessiert und der sieht recht ähnlich aus wie meiner,
wobei Du eine recht elegante Methode der Schleife benutzt hast, die ich so noch garnicht kannte.
for comp in self.Parent do
Was war denn das zweite Problem?Hier mal zwei etwas größere Probleme
Ja ist wahnsinn, und trotzdem hat man immer noch neue Ideen.Ich bin immer wieder erstaunt wie man über 2000 Zeilen Code schreiben kann für eine Taste.
Wenn ich sehe welchen Aufwand Du dafür treibst verstehe ich die Welt nicht mehr. Das geht doch so viel einfacher . Wenn du dir meinen BeitragIch bin immer wieder erstaunt wie man über 2000 Zeilen Code schreiben kann für eine Taste.
Ich hab den DragMode bei den Buttons noch nie benutzt. Wenn ich das richtig sehe stellt man den DragMode auf dmAutomatic damit man zur Laufzeit was machen kann.in der Zwischenzeit, damit Dir nicht langweilig wird, mal die leise Anfrage, ob Du die Drag'n'Drop FUnktionen der normalen Buttons einbauen möchtest?
1.) Nein, 96 ist ganz sicher kein Verhältnis, man kann aber vielleicht eins ausrechnen.DPI (dots per inch = Punkte pro Zoll) ist das Verhältnis zwischen Größe in Pixeln und der tatsächlichen Anzeigegröße. Hier steht "Punkt" (dot) als Äquivalent für Pixel in der Druckterminologie. Anwendungen können entweder Pixelgrößen verwenden, oder die aktuelle Anzeigegröße berücksichtigen.
Jetzt sind 300 PPI wieder 300 DPI (nein, genau das sind sie ja nicht, deswegen das ganze Galama), und dann fällt plötzlich die 72 aus dem Himmel, die ist "definiert", schön für sie, aber in welchem Kontext?Zum Beispiel bedeutet 300 DPI, dass es 300 Pixel (oder dot) pro Inch gibt. Wenn aber dafür 72 Punkte pro Inch definiert sind, so bedeutet das: