AGB  ·  Datenschutz  ·  Impressum  







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

WordWrap für RadioGroup?

Ein Thema von Helmi · begonnen am 19. Jun 2006 · letzter Beitrag vom 8. Jan 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#1

WordWrap für RadioGroup?

  Alt 19. Jun 2006, 19:24
Hallo,

gibt es für RadioGroup ne Möglichkeit WordWrap (wie bei TCheckBox z. B.) nachzustellen?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#2

Re: WordWrap für RadioGroup?

  Alt 20. Jun 2006, 05:27
Vermutlich nicht. Würde ja auch keinen Sinn machen, da Du in eine Radiogroup ja keinen Text eingibst, sondern nur die RadioButtons einfügst. Ob es für die RadioButtons die Eigenschaft WordWrap gibt, weiß ich nicht auswendig (habe hier im Büro kein Delphi installiert). Wenn nicht, kannst Du es mal mit #13#10 versuchen, musst aber dann die Höhe des RadioButtons so wählen, dass auch zwei oder mehr Zeilen angezeigt werden können.

Gruß Jürgen.
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: WordWrap für RadioGroup?

  Alt 20. Jun 2006, 06:59
Guten Morgen.

Mehrzeiliger Text für die Items einer RadioGroup wird aufgrund des von der VCL verwendeten button styles nicht umgebrochen. Man kann aber nachhelfen:

Delphi-Quellcode:
procedure TDemoForm.ButtonClick(Sender: TObject);
var
  i: Integer;
  rbs: DWORD;
  rb: TRadioButton;
begin
  with RadioGroup do
  begin
    for i := 0 to Pred(Items.Count) do
    begin
      rb := Buttons[i];
      rbs := GetWindowLong(rb.Handle, GWL_STYLE);
// rbs := rbs + BS_MULTILINE + BS_TOP; // or statt plus ist besser ...
      rbs := rbs or BS_MULTILINE or BS_TOP;
      SetWindowLong(rb.Handle, GWL_STYLE, rbs);
    end;
    Invalidate;
  end;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#4

Re: WordWrap für RadioGroup?

  Alt 20. Jun 2006, 16:36
Hallo,

danke für den Code!

schaut gut aus!

Vor allem interessant was passiert, wenn man mehrmals auf den button drückt
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: WordWrap für RadioGroup?

  Alt 20. Jun 2006, 17:41
Ich Schussel habe + statt or als Operator verwendet.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#6

Re: WordWrap für RadioGroup?

  Alt 20. Jun 2006, 17:45
Zitat von marabu:
Ich Schussel habe + statt or als Operator verwendet.
also so funktionierts:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  rbs: DWORD;
  rb: TRadioButton;
begin
  with RadioGroup1 do
  begin
    for i := 0 to Pred(Items.Count) do
    begin
      rb := Buttons[i];
      rbs := GetWindowLong(rb.Handle, GWL_STYLE);
      rbs := rbs or BS_MULTILINE or BS_TOP;
      SetWindowLong(rb.Handle, GWL_STYLE, rbs);
    end;
    Invalidate;
  end;
end;
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#7

Re: WordWrap für RadioGroup?

  Alt 20. Jun 2006, 19:17
Jetzt hätt ich noch ne frage:

Ich hab daraus eine Procedure gemacht:

Delphi-Quellcode:
procedure RadioGroup_WordWrap(RadioGroup: TRadioGroup);
var
  i: Integer;
  rbs: DWORD;
  rb: TRadioButton;

begin
  with RadioGroup do
    begin
      for i := 0 to Pred(Items.Count) do
        begin
          rb := Buttons[i];
          rbs := GetWindowLong(rb.Handle, GWL_STYLE);

          //Original
          rbs := rbs or BS_MULTILINE or BS_TOP;
 
          //Versuch zum Ein/Ausschalten
          If rbs = (rbs + BS_MULTILINE) then
            rbs := rbs - BS_MULTILINE
          else
            rbs := rbs + BS_MULTILINE;

          SetWindowLong(rb.Handle, GWL_STYLE, rbs);
        end;
      Invalidate;
    end;
end;

Wie kann ich das WordWrap ein- bzw. ausschalten?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: WordWrap für RadioGroup?

  Alt 20. Jun 2006, 19:30
So wie du mit OR eine Option einschaltest, so kannst du sie mit AND NOT wieder ausschalten. Probiere es aus.

marabu
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#9

Re: WordWrap für RadioGroup?

  Alt 8. Jan 2008, 20:25
Hallo,

ich muss dieses Thema nochmal aufwärmen.

Mit dem oberen Code funktioniert ja das WordWrap für die RadioGroup.
Nur leider "verschiebt" sich der Text nicht nach oben, so dass der
RadioButton in der Mitte des Textes ist (so wie z. B. bei einer
CheckBox).

Wie kann ich den Text auch noch mitwandern lassen?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#10

Re: WordWrap für RadioGroup?

  Alt 8. Jan 2008, 23:00
Hallo,

ersetz mal BS_TOP durch BS_VCENTER, wobei ich BS_TOP optisch ansprechender finde.
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23:59 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