[DELPHI] błąd przy kompilacji

0

nie moge skompilowac tego kodu: [Error] Unit1.pas(34): Incompatible types

Kod:
if Toolbutton1.Down then
CurrText.Style := CurrText.Style + [fsBold]
else
CurrText.Style := CurrText.Style - [fsBold];
end;
0
lukaszkg napisał(a)

nie moge skompilowac tego kodu: [Error] Unit1.pas(34): Incompatible types

Kod:
if Toolbutton1.Down then
CurrText.Style := CurrText.Style + [fsBold]
else
CurrText.Style := CurrText.Style - [fsBold];
end;

No to pewnie są incompatible types. Mógłbyś napisać co to CurrText, a nie kazać nam się domyślać.

0

CurrText to nazwa pola combobox w tym polu są nazwy czcionek

0

moze CurrText.font.style ?

0

Ja mam Delphi 7 i tam w ComboBox'ie Style nie jest zbiorem...

TComboBoxStyle = (csDropDown, csSimple, csDropDownList, csOwnerDrawFixed, csOwnerDrawVariable);
0

skompilował ale ta procedura nie działa . nie wiem jak zrobić w richedit ; mam speedbutton i chciałbym aby po jego nacisnięciu SPeedbutton miał wartość down i żeby można było pisać pogrubioną czcionką a jak jeszcze raz na ten speedbutton nacisne to żeby pisać narmalną czcionką a speedbutton nie miał wartości down

0

weź sobie zobacz pokombinuj z tym: richedit1.selattributtes < tak to sie chyba pisze.

0

mam teraz taki kod działa

  if Speedbutton1.Down then
    Richedit1.Font.Style  := Richedit1.Font.Style  + [fsItalic]
  else
    Richedit1.Font.Style := Richedit1.Font.Style  - [fsItalic];
end;

tylko żeby on działał to powinien być toolbutton z właściwością style =tbsCheck
a ja chce to zrobić na speedbutton i tam nie ma tej właściwości style jak mam to zrobić aby speedbutton miał właściwość style =tbsCheck???

0
SpeedButton1.Down:=not(SpeedButton1.Down);
0

ten kod nie działa przycisk nadal jest taki sam

0

lukaszq sprobuj taki kod:

begin
  if toolbutton.Down then
    if fsBold in RichEdit.SelAttributes.Style then
      RichEdit.SelAttributes.Style := RichEdit.SelAttributes.Style - [fsBold]
    else
      RichEdit.SelAttributes.Style := RichEdit.SelAttributes.Style + [fsBold]
end;

i tak dla:
podkreslenia wpisz (wszedzie gdzie jest [fsBold]) [fsUnderline]
kursywy wpisz [fsItalic]

0

nie działa. NO przecież mówiłem że mój kod jest dobry tylko chodzi mi o to żeby nie w toolbutton tylko w speedbutton ???

0
lukaszkg napisał(a)

nie działa. NO przecież mówiłem że mój kod jest dobry tylko chodzi mi o to żeby nie w toolbutton tylko w speedbutton ???

nio to zamiast toolbutton wpisz speedbutton tez powinno chodzic bo przeciez speedbutton i toolbutton to to samo :-)

0
lukaszkg napisał(a)

nie działa. NO przecież mówiłem że mój kod jest dobry tylko chodzi mi o to żeby nie w toolbutton tylko w speedbutton ???

nio to zamiast toolbutton wpisz speedbutton tez powinno chodzic bo przeciez speedbutton i tool button to to samo :-)

0

chodzi o to że tak zrobiłem i noc w ogóle przycisk nawet po kliknięciu nie ma wartości down

0

Dla wszytskich 3 speedbutton'ów (bold, italic, underline) w inspektorze obiektów ustaw AllowAllUp na true.
GroupIndex'y ustaw dla przycisku bold: 1, dla italic: 2, dla underline: 3.

Jako OnClick każdego ze speedbutton'ów ustaw procedure:

procedure TForm1.SpeedButtonClick(Sender: TObject);
const
  FontStyles: array[1..3] of TFontStyle = ( fsBold, fsItalic, fsUnderline);
var
  NewStyle: TFontStyles;
begin
  with (Sender as TSpeedButton) do
  begin
    NewStyle := RichEdit1.SelAttributes.Style;
    if Down then
      Include(NewStyle, FontStyles[GroupIndex])
    else
      Exclude(NewStyle, FontStyles[GroupIndex]);
    RichEdit1.SelAttributes.Style := NewStyle;
  end;
end;
0

adf88 dzięki , super o to mi chodziło :]

0

Przy kompilowaniu każdego projektu z

SelAttributes

pojawia się błąd:
[Error] Unit1.pas(293): Undeclared identifier: 'SelAttributes'. Mam Delphi 7 Personal.

1 użytkowników online, w tym zalogowanych: 0, gości: 1