Avatar billede j-johansen Nybegynder
11. juni 2002 - 17:56 Der er 15 kommentarer og
2 løsninger

Vise og Ændre skrifttypen og skriftstørrelsen i to combiboxe

Hej!

Når jeg har en RichEdit1 som jeg via to combiboxe vil kunne ændre skrifttypen og skriftstørrelsen.

Hvad skal jeg gøre?
Avatar billede martinlind Nybegynder
11. juni 2002 - 18:05 #1
Kig på Delphi\demo\RichEdit\
Avatar billede j-johansen Nybegynder
11. juni 2002 - 18:06 #2
det har jeg gjordt, men det gør mig ikke meget klogere :-|
Avatar billede zerohero Nybegynder
11. juni 2002 - 18:21 #3
skriv dette i din form's OnCreate event:
combobox1.items := screen.fonts;

skriv dette i din combobox's OnChange event:
richedit1.defattributes.name := combobox1.items[combobox1.itemindex];
richedit1.defattributes.size := inttsotr(combobox2.items[combobox2.itemindex]);

ZeroHero
Avatar billede j-johansen Nybegynder
11. juni 2002 - 18:28 #4
den siger fejl ved "inttsotr"
Avatar billede j-johansen Nybegynder
11. juni 2002 - 18:51 #5
men hvis man fjerne den anden linie onchange-noget, så virker det; på en måde...

Det er nemlig alt i RichEdit1 der ændres skrifttype på, og ikke kun markeringen, som jeg ville have :-(
Avatar billede stoney Nybegynder
11. juni 2002 - 18:58 #6
den siger fejl ved "inttsotr"

Det skal være inttostr

Stoney
Avatar billede zerohero Nybegynder
11. juni 2002 - 19:07 #7
Du har sku da ikke sagt noget om at det kun er markeringen der skal ændres!!!

skriv dette i din combobox's OnChange event:
richedit1.selattributes.name := combobox1.items[combobox1.itemindex];
richedit1.defattributes.size := inttostr(combobox2.items[combobox2.itemindex]);

ZeroHero

Forklar dig nøjagtigt, næste gang du laver et spg!!!
Avatar billede j-johansen Nybegynder
11. juni 2002 - 19:17 #8
richedit1.defattributes.size := IntToStr (combobox2.items[combobox2.itemindex]);

Erro: There are no overloaded versions of 'IntToStr' that can be called with thease arguments


{eller sådan noget lignende}
Avatar billede j-johansen Nybegynder
11. juni 2002 - 19:19 #9
(til zerohero) sorry..
Avatar billede stoney Nybegynder
11. juni 2002 - 19:33 #10
Ups

Det skal være strtoint

Stoney
Avatar billede j-johansen Nybegynder
11. juni 2002 - 19:46 #11
ok...
med:

richedit1.defattributes.size := strtoint(combobox2.items[combobox2.itemindex]);

kan jeg starte progiet, men der er ingenting i combibox2 :-(
Avatar billede stoney Nybegynder
11. juni 2002 - 19:55 #12
Du kan selv fylde din combobox.
Kig i properties-> items

Stoney
Avatar billede stoney Nybegynder
11. juni 2002 - 20:04 #13
Jeg har lavet et eks. tidligere hvor du kan vælge "alt" vedr. fonte

http://www.eksperten.dk/spm/189310

Stoney
Avatar billede zerohero Nybegynder
11. juni 2002 - 20:05 #14
skriv dette i din form's OnCreate event:
combobox1.items := screen.fonts;
combobox2.clear;
with combobox2 do
begin
  items.add('6');
  items.add('8');
  items.add('10');
  items.add('12');
  osv...
end;

skriv dette i din combobox's OnChange event:
richedit1.selattributes.name := combobox1.items[combobox1.itemindex];
richedit1.selattributes.size := strtoint(combobox2.items[combobox2.itemindex]);

ZeroHero
Avatar billede j-johansen Nybegynder
11. juni 2002 - 20:06 #15
ja, så er der godt nok noget, men når man vælger en ny størrelse sker der ingenting... :-(
Avatar billede zerohero Nybegynder
11. juni 2002 - 20:07 #16
Du burde give dig tid til at læse Delphi's hjælpe-fil og lære alt det grundlæggende! - det vil lette dit arbejde og bekymringer med Delphi ;))
Avatar billede j-johansen Nybegynder
11. juni 2002 - 20:30 #17
Jeh har nu fået det til at virke... *points på vej*

Men lige få en god ordens skyld, her er hele koden:


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ToolWin;

type
  TForm1 = class(TForm)
    RichEdit1: TRichEdit;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    procedure FormCreate(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
combobox1.items := screen.fonts;
with combobox2 do
begin
  items.add('6');
  items.add('8');
  items.add('10');
  items.add('12');
  items.add('14');
  items.add('16');
  items.add('18');
  items.add('20');
end;
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
richedit1.selattributes.name := combobox1.items[combobox1.itemindex];
end;

procedure TForm1.ComboBox2Change(Sender: TObject);
begin
richedit1.selattributes.size := strtoint(combobox2.items[combobox2.itemindex]);
end;

end.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester