Autor Beitrag
danielpt
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81

Windows 2000 Professional SP4
D6 Personal
BeitragVerfasst: Fr 12.09.03 16:06 
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
        if Richedit1.SelAttributes.Style=[] then
          begin
            Richedit1.SelAttributes.Style:=[fsBold];
          end
        else if Richedit1.SelAttributes.Style=[fsBold] then
          begin
            Richedit1.SelAttributes.Style:=[];
          end
        else if Richedit1.SelAttributes.Style=[fsItalic] then
          begin
            Richedit1.SelAttributes.Style:=[fsBold,fsItalic];
          end
        else if Richedit1.SelAttributes.Style=[fsBold,fsItalic] then
          begin
            Richedit1.SelAttributes.Style:=[fsItalic];
          end
        else if Richedit1.SelAttributes.Style=[fsUnderline] then
          begin
            Richedit1.SelAttributes.Style:=[fsBold,fsUnderline];
          end
        else if Richedit1.SelAttributes.Style=[fsBold,fsUnderline] then
          begin
            Richedit1.SelAttributes.Style:=[fsUnderline];
          end
        else if Richedit1.SelAttributes.Style=[fsItalic,fsUnderline] then
          begin
            Richedit1.SelAttributes.Style:=[fsBold,fsItalic,fsUnderline];
          end
        else if Richedit1.SelAttributes.Style=[fsBold,fsItalic,fsUnderline] then
          begin
            Richedit1.SelAttributes.Style:=[fsItalic,fsUnderline];
        end;
end;


procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
begin
        if RichEdit1.SelAttributes.Style=[] then
          begin
            RichEdit1.SelAttributes.Style:=[fsItalic];
          end
        else if RichEdit1.SelAttributes.Style=[fsBold] then
          begin
            RichEdit1.SelAttributes.Style:=[fsBold,fsItalic];
          end
        else if RichEdit1.SelAttributes.Style=[fsItalic] then
          begin
            RichEdit1.SelAttributes.Style:=[];
          end
        else if RichEdit1.SelAttributes.Style=[fsBold,fsItalic] then
          begin
            RichEdit1.SelAttributes.Style:=[fsBold];
          end
        else if RichEdit1.SelAttributes.Style=[fsUnderline] then
          begin
            RichEdit1.SelAttributes.Style:=[fsItalic,fsUnderline];
          end
        else if RichEdit1.SelAttributes.Style=[fsBold,fsUnderline] then
          begin
            RichEdit1.SelAttributes.Style:=[fsBold,fsItalic,fsUnderline];
          end
        else if RichEdit1.SelAttributes.Style=[fsItalic,fsUnderline] then
          begin
            RichEdit1.SelAttributes.Style:=[fsUnderline];
          end
        else if RichEdit1.SelAttributes.Style=[fsBold,fsItalic,fsUnderline] then
          begin
            RichEdit1.SelAttributes.Style:=[fsBold,fsUnderline];
        end;
end;
end;

procedure TForm1.SpeedButton6Click(Sender: TObject);
begin
        if RichEdit1.SelAttributes.Style=[] then
          begin
            RichEdit1.SelAttributes.Style:=[fsUnderline];
          end
        else if RichEdit1.SelAttributes.Style=[fsBold] then
          begin
            RichEdit1.SelAttributes.Style:=[fsBold,fsUnderline];
          end
        else if RichEdit1.SelAttributes.Style=[fsItalic] then
          begin
            RichEdit1.SelAttributes.Style:=[fsItalic,fsUnderline];
          end
        else if RichEdit1.SelAttributes.Style=[fsBold,fsItalic] then
          begin
            RichEdit1.SelAttributes.Style:=[fsBold,fsItalic,fsUnderline];
          end
        else if RichEdit1.SelAttributes.Style=[fsUnderline] then
          begin
            RichEdit1.SelAttributes.Style:=[];
          end
        else if RichEdit1.SelAttributes.Style=[fsBold,fsUnderline] then
          begin
            RichEdit1.SelAttributes.Style:=[fsBold];
          end
        else if RichEdit1.SelAttributes.Style=[fsItalic,fsUnderline] then
          begin
            RichEdit1.SelAttributes.Style:=[fsItalic];
          end
        else if RichEdit1.SelAttributes.Style=[fsBold,fsItalic,fsUnderline] then
          begin
           RichEdit1.SelAttributes.Style:=[fsBold,fsItalic];
        end;
end;



:D Das ist meine Source für den "Fett", "Kursiv" und "Unterstrichen"-Befehl... Meint ihr nicht auch, dass es so etwas umständlich ist :D

Meine Bitte: Was kann ich an dieser Source ändern, das sich kürzer und trotzdem genauso effektiv ist wie die alte Version.

Außerdem noch eine andere Frage: Könnt ihr mir bitte sagen, wie die Source zum "aktivieren" der Bullets heißt? (Im Delphi-Sample bin ich nicht wirklich schlau geworden... :()

thx

_________________
cu daniel
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Fr 12.09.03 16:52 
hallo,

du kannst den zustand down oder pressed deines speedbuttons ausnutzen. Und dann geht das einfach mittels
ausblenden Delphi-Quelltext
1:
2:
3:
4:
if Speedbuttonfuerbold.down then 
  richedit1.selattributes.style :=  richedit1.selattributes.style  - fsBold
else
  richedit1.selattributes.style :=  richedit1.selattributes.style  + fsBold;


Gruß
Ken

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
danielpt Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81

Windows 2000 Professional SP4
D6 Personal
BeitragVerfasst: Fr 12.09.03 17:06 
thx, aber if eingeben and compilieren then
[Fehler] main.pas(556): Operator ist auf diesen Operandentyp nicht anwendbar
[Fehler] main.pas(557): Inkompatible Typen

Edit: Der Fehler kommt jetzt nicht mehr, aber er hebt das Fett nicht mehr auf... Kann das auch dran liegen, dass der Button gar nicht "down" geht?

_________________
cu daniel


Zuletzt bearbeitet von danielpt am Fr 12.09.03 17:16, insgesamt 1-mal bearbeitet
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 12.09.03 17:09 
Hi!

habe es mal mit einem Label gemacht:

ausblenden Delphi-Quelltext
1:
2:
3:
  if fsBold in Label1.Font.Style then
    Label1.Font.Style := Label1.Font.Style - [fsBold]
  else Label1.Font.Style := Label1.Font.Style + [fsBold];


MfG
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
danielpt Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81

Windows 2000 Professional SP4
D6 Personal
BeitragVerfasst: Fr 12.09.03 17:13 
Deins funktioniert auch, aber es wird dann ALLES fett oder ALLES "entfettet"... (Oder wie sagt man sonst dazu?)

_________________
cu daniel
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 12.09.03 17:21 
Irgendwie war ich davon ausgegangen, dass es klar ist, dass Du das auf die SelAttributes anwenden musst.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
danielpt Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81

Windows 2000 Professional SP4
D6 Personal
BeitragVerfasst: Fr 12.09.03 17:24 
sorry :oops: das hab vergessen anzupassen... :( Aber jetzt gehts... :)
thx

Zur 2. Frage: Könnt ihr mir bitte sagen, wie die Source zum "aktivieren" der Bullets heißt? (Im Delphi-Sample bin ich nicht wirklich schlau geworden... )

_________________
cu daniel
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 12.09.03 17:29 
Kann sein, dass ich gerade schwer von Begriff bin, aber welches Bullet meinst Du?

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
danielpt Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81

Windows 2000 Professional SP4
D6 Personal
BeitragVerfasst: Fr 12.09.03 17:33 
user defined image <-- Das da!

Ich denke mal, die Dinger heißen anders, oder? :D

_________________
cu daniel
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 12.09.03 17:42 
Irgendwie weiß ich immer noch nicht, was Du meinst. Wo sollen diese Bullets denn zu sehen sein? Oder willst Du das Symbol irgendwo haben? *total verwirrt*

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
danielpt Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81

Windows 2000 Professional SP4
D6 Personal
BeitragVerfasst: Fr 12.09.03 17:58 
okay, nochmal ganz von vorne: ;)

Mach mal "WordPad" auf auf klicke auf user defined image und genau was dann passiert, will ich gerne in meinem Prog auch haben... :)

Alles klar :?: :D

pl. help! ;)

_________________
cu daniel
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 12.09.03 18:06 
Ach, Du meinst eine Aufzählung.

Dieses Beispiel habe ich aus der Delphi-Hilfe rauskopiert und es zeigt eigentlich ziemlich gut, wie man das macht:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
  with TRichEdit.Create(Self) do
  begin
    Parent := Self;
    Align := alClient;
    Lines.Clear;
    // set numbering style
    Paragraph.Numbering := nsBullet;
    Lines.Add('Introduction');
    Lines.Add('New members to our team');
    Lines.Add('New Budget discussion');
    Lines.Add('Facilities');
    Lines.Add('Q & A');
    Paragraph.Numbering := nsNone;
    Paragraph.Alignment := taCenter;

    Lines.Add('');
    Lines.Add('Suggested Topics:');
    Lines.Add('');
    Paragraph.Alignment := taLeftJustify;
    Paragraph.FirstIndent := 10;
    Lines.Add('');
    Lines.Add('Parking lot repair');
    Lines.Add('Cost overruns');
  end;


MfG
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
danielpt Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81

Windows 2000 Professional SP4
D6 Personal
BeitragVerfasst: Fr 12.09.03 18:33 
Irgentwas funktioniert da bei mir nicht... Er löscht jedes Mal den ganzen Text, wenn ich auf den "aufzählungs"-button klicke... :D

_________________
cu daniel
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: Fr 12.09.03 19:28 
danielpt hat folgendes geschrieben:
Irgentwas funktioniert da bei mir nicht... Er löscht jedes Mal den ganzen Text, wenn ich auf den "aufzählungs"-button klicke... :D

das kommt davon, wenn man alles bloß kopiert anstatt sich die befehle mal 3 Sek in Ruhe zu betrachten . Es ist halt ein Beispiel und in dem Beispiel werden halt mit Lines.clear erstmal alles gelöscht und dann werden ein paar Aufzählungszeilen hinzugefügt.

Mfg Frank

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

Windows 2000 Professional SP4
D6 Personal
BeitragVerfasst: Fr 12.09.03 20:16 
Zitat:
das kommt davon, wenn man alles bloß kopiert anstatt sich die befehle mal 3 Sek in Ruhe zu betrachten . Es ist halt ein Beispiel und in dem Beispiel werden halt mit Lines.clear erstmal alles gelöscht und dann werden ein paar Aufzählungszeilen hinzugefügt.


Ich hab mir das Ding sehrwohl durch gelesen! :x Und ich hab auch das Lines.Clear rausgeschmissen... Es geht aber trotzdem nicht! :cry:

_________________
cu daniel
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: Fr 12.09.03 20:56 
danielpt hat folgendes geschrieben:
Und ich hab auch das Lines.Clear rausgeschmissen... Es geht aber trotzdem nicht! :cry:

alos bei mir geht das. selbst wenn ich in irgendeine zeile per buttonklick
ausblenden Delphi-Quelltext
1:
RichEdit1.Paragraph.Numbering := nsBullet;					

aufrufe, wird die zeile als Aufzählung dargestellt.

Gugg dir auch mal das Borland-demo Richedit im Demo-Verzeichnis an. da werden fast alle Funktionen angesprochen.

Mfg frank

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

Windows 2000 Professional SP4
D6 Personal
BeitragVerfasst: Sa 13.09.03 07:02 
Zitat:
Gugg dir auch mal das Borland-demo Richedit im Demo-Verzeichnis an. da werden fast alle Funktionen angesprochen.


Die haben in dem Beispiel aber "ToolButton" und keine "Speedbutton", außerdem gibts da so viele extere Variablen... :(

Bei mir ist es jetzt so, dass er die Bullets anzeigt, aber nicht wieder wegmacht... Es wird, dass wie Delphi endlich in Informatik haben... :)

_________________
cu daniel
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: Sa 13.09.03 08:00 
danielpt hat folgendes geschrieben:

Die haben in dem Beispiel aber "ToolButton" und keine "Speedbutton", außerdem gibts da so viele extere Variablen... :(

Bei mir ist es jetzt so, dass er die Bullets anzeigt, aber nicht wieder wegmacht... Es wird, dass wie Delphi endlich in Informatik haben... :)

Das solltest du aber auch alleine hinbekommen :roll: Du mußt die aufzählung natürlich auch wieder aufheben (Siehe online-Hilfe) In dem demo wird eine einzeilige Variante gezeigt, die du übernehmen kannst. Die arbeiten dort mit Tnumberingstyle. Wenn dir das vielleicht mit aufzählungstypen zu hoch ist, ist das hier eine verständliche Variante:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  if Speedbutton1.Down then
    richedit1.Paragraph.Numbering := nsBullet
   else
    richedit1.Paragraph.Numbering := nsnone;
end;

ob du mit Toolbuttons oder speedbuttons arbeitest, spielt doch für für diesen Zweck gar keine Rolle.

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

Windows 2000 Professional SP4
D6 Personal
BeitragVerfasst: Sa 13.09.03 09:40 
Das mit dem "down" funktioniert aber irgentwie nie... Liegt das vielleicht daran, dass ich keinen ToolButton hab, sondern einen SpeedButton?! Er macht jetzt jedenfalls nichts mehr... :(

_________________
cu daniel
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: Sa 13.09.03 09:47 
danielpt hat folgendes geschrieben:
Das mit dem "down" funktioniert aber irgentwie nie... Liegt das vielleicht daran, dass ich keinen ToolButton hab, sondern einen SpeedButton?! Er macht jetzt jedenfalls nichts mehr... :(

Ich gebs auf.
Wenn du mal richtig mein Bespiel liest, hab ich auch extra ein speedbutton verwendet.

Aber heut ist ein komischer Tag. In meiner kleinen Glaskugel sind heute gute Bilder drin.
Ich geh jetzt mal davon aus, daß du den Speedbutton nicht richtig verwendest.
Er wird/bleibt nicht eingerastet dargestellt wenn du ihn drückst oder?
setze den Groupindex des Buttons auf >1 und allowup auf true (Siehe Onlinehilfe)

Mfg Frank

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