AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Breite des BorderStyle

Ein Thema von Popov · begonnen am 25. Feb 2012 · letzter Beitrag vom 25. Feb 2012
Antwort Antwort
Popov
(Gast)

n/a Beiträge
 
#1

Breite des BorderStyle

  Alt 25. Feb 2012, 09:47
Weiß zufällig einer wo ich die Breite des BorderStyle bei bsSingle erfahre? Bei GetSystemMetrics finde ich nichts oder meine OH ist alt, glaube ich aber nicht.

//Edit:

Sorry, kann ein Mod bitte den Titel ändern in "Breite des BorderStyle". Komme selbst nicht dran.
Angehängte Grafiken
Dateityp: jpg bs.jpg (2,3 KB, 21x aufgerufen)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: Breite

  Alt 25. Feb 2012, 09:56
Weiß zufällig einer wo ich die Breite des BorderStyle bei bsSingle erfahre? Bei GetSystemMetrics finde ich nichts oder meine OH ist alt, glaube ich aber nicht.
Ein Borderstyle hat keine Breite, sondern besteht aus einer vordefinierten Konstante wie z.B. bsSingle oder bsSizeable. Im Objektinspektor direkt unterhalb des Borderstyle befindet sich BorderWidth (und nicht BorderstyleWidth); dort kannst du die Breite des Rahmens angeben.

Merke: Wenn du verstanden werden willst, solltest du dich auch korrekt ausdrücken und nicht nach der Anzahl der Birnen in einem Apfel fragen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Breite

  Alt 25. Feb 2012, 10:01
Komme selbst nicht dran.
Klicke mal auf [Erweitert]

Aktuell ist immer der, von dem es auch kommt.
MSDN: MSDN-Library durchsuchenGetSystemMetrics und "Frame" klingt gut.

Die aktuellste Delphi-OH gibt es online bei Embarcadero oder über die Delphi-Referenz (Link siehe DP-Startseite).
$2B or not $2B
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#4

AW: Breite

  Alt 25. Feb 2012, 10:27
Ein Borderstyle hat keine Breite, sondern besteht aus einer vordefinierten Konstante wie z.B. bsSingle oder bsSizeable. Im Objektinspektor direkt unterhalb des Borderstyle befindet sich BorderWidth (und nicht BorderstyleWidth); dort kannst du die Breite des Rahmens angeben.
Ich glaube du hast mich falsch verstanden; ich sehe aber auch, dass ich vergessen habe zu schreiben, dass es ListBox ist, obwohl ich ein Bild beigesteuert habe das zumindest selbsterklärend ist wenn man es sich anguckt. Auf jeden Fall hat ListBox kein BorderstyleWidth, genau wie Edit, Memo und viele viele anderen 3D Komponenten.

Zitat:
Merke: Wenn du verstanden werden willst, solltest du dich auch korrekt ausdrücken und nicht nach der Anzahl der Birnen in einem Apfel fragen.
Ich versuche es mir zu merken.

@himitsu

Ich habe mir mal Just4Fun ein Tool gebastelt der mir alle Api Systemwerte liefert. So kann ich ganz schnell grob viele Konstanten eingrenzen. Keine Konstante liefert 2 Pixel. Es ist auf jeden Fall keine mir bekannte Frame Konstante. SM_CXBORDER und SM_CYBORDER liefern zwar 1, aber keine weitere Konstante liefert eine weitere 1.

Somit zurück zu Frage: Weiß zufällig einer wo ich die Breite des BorderStyle bei bsSingle erfahre?

//Edit:

Zitat:
Klicke mal auf [Erweitert]
Habe ich für sonst was gehalten. Weiß ich jetzt Bescheid. Danke.

Geändert von Popov (25. Feb 2012 um 10:30 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Breite

  Alt 25. Feb 2012, 10:47
Zitat:
Somit zurück zu Frage: Weiß zufällig einer wo ich die Breite des BorderStyle bei bsSingle erfahre?
Die Frage wäre doch warum willst du das wissen?

Du hast doch deine Konstanten.
Der richtige weg wäre doch dann diese abzufragen und dann das aussehen deiner Listbox dementsprechend anzupassen.
Oder was auch immer du vorhast.

PS:
Und wenn du unbedingt die Breite herausfinden willst verwende dazu (Width-GetClientRect)div 2

gruss

Geändert von EWeiss (25. Feb 2012 um 11:06 Uhr)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#6

AW: Breite

  Alt 25. Feb 2012, 11:15
Ok, das wird mir jetzt etwas zu kompliziert. Ich habe jetzt die Komponentenbreite minus Clienbreite und beides durch zwei genommen. Ist nicht fein, eher getrickst, aber ich hab meine Rahmenbreite.

Wozu ich das brauche? In dem speziellen Fall soll sich die Breite der Komponente dem Inhalt anpassen, also Clienbreite plus Rahmenbreite ergibt Komponentenbreite. Nur wollte ich es nicht über die Komponente, sondern einen Konstantenwert berechnen.

Und bitte jetzt keine Kommentare, dass man den Inhalt an die Komponente anpasst und nicht die Komponente an den Inhalt. Das hat schon seine Richtigkeit.

Nur eine kleine Anmerkung allgemein: wenn man es richtig machen will, kommen immer Fragen wozu man es braucht. Wenn man es einfach macht, kommen Bemerkung, dass man es doch bitte richtig machen soll

//Edit EWeiss

Die Formel habe ich seit Anfang drin, ich wollte es nur besser machen.

Geändert von Popov (25. Feb 2012 um 11:18 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Breite

  Alt 25. Feb 2012, 11:19
Zitat:
Ok, das wird mir jetzt etwas zu kompliziert. Ich habe jetzt die Komponentenbreite minus Clienbreite und beides durch zwei genommen. Ist nicht fein, eher getrickst, aber ich hab meine Rahmenbreite.
Sagte ich doch
Zitat:
(Width-GetClientRect)div 2
Zitat:
wenn man es richtig machen will, kommen immer Fragen wozu man es braucht. Wenn man es einfach macht, kommen Bemerkung, dass man es doch bitte richtig machen soll
Freie Meinungsäußerung ?
Wennn man Hilfe benötigt muss man mit so etwas rechnen, aber beruhige dich passiert mir auch schon mal.
Es gibt schlimmeres letztendlich zählt das man geholfen bekommt.

PS:
Zitat:
Die Formel habe ich seit Anfang drin, ich wollte es nur besser machen.
Und diese ist das einzig richtige.

Man kann auf der Basis der konstanten die Breite nicht Festlegen.
Könnte theoretisch auf verschiedenen BS unterschiedlich sein.
Zitat:
Die Innenmaße einer ListBox ermitteln Sie mit Hilfe der API-Funktion GetClientRect.
Sie unterscheiden sich in jedem Fall von der Außenbreite und sind dazu noch je nach Einstellung der Eigenschaft Appearance der ListBox (0 - 2D oder 1 - 3D) unterschiedlich.

gruss

Geändert von EWeiss (25. Feb 2012 um 11:58 Uhr)
  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 02:40 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