Autor Beitrag
elcomportal
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 48

Win XP home
D5 standard
BeitragVerfasst: So 01.01.06 22:14 
Hi, hier ich schon wieder.
Kurze Frage, weiss jemand wie man in Editfeldern und in SpinEdit die Schrift in der Höhe zentrieren kann. Das ist immer alles oben links in der Ecke aufgehängt. Das gefällt mir nicht.
Jemand 'ne Idee? Danke.
Mfg
Torsten

_________________
Starkstrom macht klein und hässlich
JayK
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1013



BeitragVerfasst: So 01.01.06 23:14 
Es gibt da eine Property, die das Regelt :gruebel: mir fällt aber grad nich ein welche :autsch: Delphi kann ich jetzt nicht nochmal anmachen, such mal ganz gründlich im Objektinspektor, vllt finds es ja, ansonsten schaue ich morgen mal ;)
elcomportal Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 48

Win XP home
D5 standard
BeitragVerfasst: Mo 02.01.06 17:43 
Hi,
dat müsste ja unter Font sein, da is aber nischt. Hmm, wo is der Kram?
Mfg
Torsten

_________________
Starkstrom macht klein und hässlich
JayK
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1013



BeitragVerfasst: Mo 02.01.06 18:17 
Nee unter Font isses nich.
irgendwas mit Justify haben die Werte (nicht die Property!) im Namen.
ich muss mal nachgucken...

|EDIT: Mist, das was ich meinte ist Alignment mit dem Justify, aber das is horizontal :autsch:
ich finde jetzt auch nix passendes :( ich war mir so sicher... tut mir Leid.


Zuletzt bearbeitet von JayK am Mo 02.01.06 18:29, insgesamt 1-mal bearbeitet
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Mo 02.01.06 18:26 
Hallo

dafür gibt es keine Standardproperty. Weder für das eine noch das andere.
für das horizontale findest zu edit viele Bsp.
für das vertikale: hilft dir EM_SETRECTNP weiter, autosize des Edits auf false, sonst lohnt sich nicht.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.Button10Click(Sender: TObject);
var Arect: TRect;
    h:integer;
begin
  with SpinEdit1 do
    begin
      h:=form1.Canvas.TextHeight(SpinEdit1.Text);
      SendMessage(Spinedit1.Handle,EM_GETRECT,0,LongInt(@Arect));
      Arect.Bottom := ClientHeight + 1;
      Arect.Right  := ClientWidth -  20; //Zahlenwert: mußt du probeieren, an die SpinButtons denken
      Arect.Top    := (ClientHeight-h) div 2; //vertikal zentrieren
      Arect.Left   := 1;
      SendMessage(Handle,EM_SETRECTNP,0,LongInt(@arect));
      repaint; //neuzeichen
    end;
end;

aber das ist auch nur eine halbe Sache, bei jeder Größenänderung wir Seteditrect aufgerufen, und macht dir die Einstellung wieder zunichte. Seteditrect ist private und die kannst du nicht überschreiben. Du kannst dir aber ein eigenes Spinedit erstellen und den source "kopieren". Der Source fürs Spinedit ist unabhängig der sonstigen VCL-codes auch bei den kleinen Delphis dabei.

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)


Zuletzt bearbeitet von Keldorn am Mo 02.01.06 18:28, insgesamt 1-mal bearbeitet
elcomportal Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 48

Win XP home
D5 standard
BeitragVerfasst: Mo 02.01.06 19:32 
Wie, bei einer Grössenänderung? Man kann das Ding zur Laufzeit doch nicht in der Grösse ändern?! Und wie und was müsste ich einbinden wenn ich mein eigenes SpinEdit mache? Ich habe keine Ahnung wie das geht. Ich verstehe Deinen Code nicht, dafür programmiere ich zu selten, mache sonst mehr mint Controller und Hardware...
Mfg
Torsten

_________________
Starkstrom macht klein und hässlich
elcomportal Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 48

Win XP home
D5 standard
BeitragVerfasst: Mo 02.01.06 19:42 
ich habe mir grad den Code vom Spinedit angeguckt, aber was ich nicht verstehe ist, wo steht wie das Ding aussiht? Nicht wie gross, sondern das die Buttons Dreiecke drin haben und rechts sind. Und wie könnte man ein Eingabefeld machen, dass ganz anders aussieht, z. B. mal 6-eckig oder so?
Mfg
Torsten

_________________
Starkstrom macht klein und hässlich
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Mo 02.01.06 19:46 
user profile iconelcomportal hat folgendes geschrieben:
Wie, bei einer Grössenänderung? Man kann das Ding zur Laufzeit doch nicht in der Grösse ändern?!

in dem du align oder anchors setzt und das Edit sich in der Größe ändert, wie z.B. die Form.

user profile iconelcomportal hat folgendes geschrieben:
Und wie und was müsste ich einbinden wenn ich mein eigenes SpinEdit mache? Ich habe keine Ahnung wie das geht.

Da gugg mal lieber bei Torry (www.torry.net), ob du nicht gleich was fertiges findest.

Zitat:

Ich verstehe Deinen Code nicht,

was genau verstehs du denn nicht?

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Mo 02.01.06 19:50 
user profile iconelcomportal hat folgendes geschrieben:
ich habe mir grad den Code vom Spinedit angeguckt, aber was ich nicht verstehe ist, wo steht wie das Ding aussiht? Nicht wie gross, sondern das die Buttons Dreiecke drin haben und rechts sind. Und wie könnte man ein Eingabefeld machen, dass ganz anders aussieht, z. B. mal 6-eckig oder so?
Mfg
Torsten

das sind die Spinbuttons. Du kannst auch eigen Bildchen setzen. Spinedit->up und downglyphs-eigenschaft.

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
elcomportal Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 48

Win XP home
D5 standard
BeitragVerfasst: Mo 02.01.06 20:05 
Die Zeilen mit dem Handle:
ausblenden Delphi-Quelltext
1:
2:
3:
SendMessage(Spinedit1.Handle,EM_GETRECT,0,LongInt(@Arect));  

SendMessage(Handle,EM_SETRECTNP,0,LongInt(@arect));


Dieses Handle muss doch irgendwo festgelegt werden...

und die Ausdrücke EM_SETRECTNP... , gibt es da irgendwo ne Übersicht? Sind das die API Funktionen? oder was ist das?
MFg
Torsten

_________________
Starkstrom macht klein und hässlich
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Mo 02.01.06 20:23 
Hallo

in der erste zeile kannst du dir dass Spinedit sparen, hatte erst danach das with drumgezogen, sorry. Damit ist durch das with immer das Handle des spinedits gemeint.
einfach bei em_??? auf f1 drücken. dort hast du dann auch eine groupübersicht, was noch alles so geht.

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)