AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Aussehen eines Labels überall gleich
Thema durchsuchen
Ansicht
Themen-Optionen

Aussehen eines Labels überall gleich

Offene Frage von "Ferox"
Ein Thema von Ferox · begonnen am 7. Mai 2008 · letzter Beitrag vom 8. Mai 2008
Antwort Antwort
Ferox

Registriert seit: 14. Jan 2008
18 Beiträge
 
Delphi 7 Enterprise
 
#1

Aussehen eines Labels überall gleich

  Alt 7. Mai 2008, 20:43
Gudden Abend,

ich schreib seit ein paar Tagen ein Countdown, der sein Ergebnis in einem Label ausgibt. Das funktioniert auch recht gut.
Das Problem ist, dass das Label, je nachdem auf welchem PC ich das Programm installiere, anders aussieht.

Mal steht der Text rechtsbündig, mal ist er so groß das man nur einen Teil sieht, usw...

Weis jemand wie ich das ändern kann?


Hab mal einen Screenshot als Beispiel angehängt.
Angehängte Grafiken
Dateityp: bmp bugreport_126.bmp (369,6 KB, 44x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: Aussehen eines Labels überall gleich

  Alt 7. Mai 2008, 20:52
wenn du eine spezielle Schriftart verwendet, dann mußt du schon dafür sorgen, daß diese (der Font) auch installiert ist


dieses ist jedenfalls kein "Standard"-Font, welchen jeder hat


Achtung: paß aber auf, daß du den Font auch weitergeben darfst
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#3

Re: Aussehen eines Labels überall gleich

  Alt 7. Mai 2008, 20:53
Hast Du das Label vielleicht auf eine "exotische" Schriftart eingestellt, die auf den meisten PCs nicht installiert ist?

[edit] Mal wieder zu spät [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
christian_r
(Gast)

n/a Beiträge
 
#4

Re: Aussehen eines Labels überall gleich

  Alt 7. Mai 2008, 21:00
Der Soll-Zustand ist doch kein System-Font? Steht der verwendete Font dem Projekt auch auf den anderen Rechnern zur Verfügung?

Wenn nicht:

Die von Dir designte Umgebung für Deinen Timer ist auf Deinen verwendeten Font und die verwendete Schriftgröße ausgerichtet. Die Komponente TLabel ist std.mäßig mit auf AutoSize = True definiert. Daraus ergibt sich Dein Problem.

Die Schrift, die auf einem anderen PC verwendet wird, ist in der Skalierung (das betrifft auch Diktengröße (Buchstabenbreite), Diktenabstand, etc.) nicht identisch mit Deiner SChriftart. Wird mehr Platz für die Schrift benötigt, wird das Label breiter und "läuft aus der Eltern-Komponente über". Dein Label ist nichts rechtsbündig, sondern linksbündig. Wäre es rechtsbündig, würde es nach links vergrößert werden und links überlaufen.

Und da ich zu langsam war: Die zwei über mir haben recht.
  Mit Zitat antworten Zitat
Ferox

Registriert seit: 14. Jan 2008
18 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Aussehen eines Labels überall gleich

  Alt 7. Mai 2008, 21:18
Dann kann ich die "Font"-Datei doch auch bei der Installation mit installieren oder?
Wenn ja, dann kommt die doch nach zB "C:\WINDOWS\Fonts" oder?

P.S.: Danke für die schnellen Antworten
  Mit Zitat antworten Zitat
christian_r
(Gast)

n/a Beiträge
 
#6

Re: Aussehen eines Labels überall gleich

  Alt 7. Mai 2008, 21:44
Zitat von Ferox:
Wenn ja, dann kommt die doch nach zB "C:\WINDOWS\Fonts" oder?
Ja. Allerdings kannst Du die Schriftart auch in Dein Projekt mit einbinden. Ich glauhe über die .res, also die Ressource des Projektes. Wie genau, kann ich Dir nicht erklären, habe es nie verwendet. Aber Antworten dazu solltest Du auch hier im Forum oder über Google finden. Ich glaube hier wurde es schon sehr oft besprochen.

Viel Erfolg!
  Mit Zitat antworten Zitat
Benutzerbild von Dunkel
Dunkel

Registriert seit: 26. Mär 2007
Ort: Klingenstadt
541 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Aussehen eines Labels überall gleich

  Alt 7. Mai 2008, 21:50
Theoretisch kannst Du das natürlich machen. Alternativ kannst Du auch den Font als Ressource in die Echse einkompilieren und direkt aus dieser, ohne die Font-Datei auf der Festplatte zu speichern, benutzen.

Delphi-Quellcode:
var
  MyFont: TFont;

{ ... }

procedure LoadResFont;
 var
  Res : TResourceStream;
  ResFontCount: DWord;
 begin
  Res := TResourceStream.Create(hInstance, '_DEINFONT_', 'RT_FONT');
  try
    FontRes_Size := Res.Size + 1;
    FontRes_Buffer := AllocMem(FontRes_Size);
    Res.Read(FontRes_Buffer^, FontRes_Size);
  finally
    Res.Free;
  end;
  ResFontCount := 1;
  FontRes_Fraktur := AddFontMemResourceEx(FontRes_Buffer, FontRes_Size, nil, @ResFontCount);

  MyFont:= TFont.Create;
  MyFont.Name:= 'xirod';
  MyFont.Size:= 8;
  MyFont.Color:= clBlack;
end;

{ ... }

procedure TForm1.FormCreate(Sender: TObject);
begin
  LoadResFont;
  Label1.Font:= MyFont;
end;
Zum Erstellen einer Ressourcen-Datei und Einbinden in das Kompilat bitte die DP-Suche oder die Delphi-OH bemühen. Beispiele solltest Du genug finden.
Es ist zu wahr um schön zu sein...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#8

Re: Aussehen eines Labels überall gleich

  Alt 7. Mai 2008, 21:59
Zitat:
Wenn ja, dann kommt die doch nach zB "C:\WINDOWS\Fonts" oder?
theoretisch ja, aber eigentlich gibt es einige APIs dafür, welche den Font installieren (weiß nur grad nicht welche ... aber siehe MSDN-Library durchsuchenfont? )

Oder ... einige Installer bieten dafür Funktionen an

Man kann den Font aber auch ganz einfach im Programmverzeichnis (zur EXE) ablegen.


Und ich weiß ja nicht wo du den font her hast, aber wie schon erwähnt, hast du auch die Berechtigung den Font mit deinem Programm weiterzugeben?
$2B or not $2B
  Mit Zitat antworten Zitat
Ferox

Registriert seit: 14. Jan 2008
18 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Aussehen eines Labels überall gleich

  Alt 8. Mai 2008, 07:22
Danke für die Hilfe. Jetzt funktioniert alles so wie ich es möchte. Hab jetzt einfach das mit mit in den Installer gepackt. Muss nurnochmal gucken ob ich das Font weitergeben darf.

Danke
Ferox
  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:32 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