Kilka pytań o RichEdit, pliki i komunikaty.

0

Słuchajcie mam do was kilak pytań:

  1. Jak wyjustować tekst w RichEdit, czytałem o TParaFormat2 i PFA_JUSTIFY, ale nie działa mi to, a może znacie jakiś komponent, który miałby właściwości RichEdit i można by było justować tekst.
  2. Marginesy w RichEdit, wiem że istnieje coś takiego jak BorderWidth, ale jak mam włączony suwak w RichEdit to wtedy suwak mi się odsuwa od brzegu.
  3. Mam procedurę, która wykrywa hiperłącza w RichEdit, ale co zrobić, żeby jak najadę nad to hiperłącze, to kursor też się zmieniał na taki z łapką. Wiem, żeby obsłużyć się RichEdit1.MosueMove, ale jak wykryć czy akurat jest nad hiperłączem.
  4. Macie jakiś sposób, żeby w komunikatach Application.MessageBox wykrywało hiperłącza i można było z nich normalnie korzystać.
  5. Czy da się jakoś nadać uprawnienia do pliku? Nie chodzi mi o atrybuty. Np. tak jak w linuxie się to robie CHMOD 777 nazwa_pliku, chodzi mi o pełne uprawnienia do pliku - jak się domyślacie chodzi mi o Vistę i 7-kę.
0

piąte nie :)

0

generalnie nic nie masz :)

0

Ad 4: Możesz skorzystać z funkcji CreateMessageDialog, ktora spowoduje,
że komunikat podobny do MessageBox będzie osobną formatką i wtedy na
niej możesz umieścić własne komponenty. Przykład poniżej. Zaś Label, na
którym prezentowany jest komunikat ma Name 'Message'. I jeśli potrzeba
Tobie więcej informacji to poszukaj w google, na pozostale pytania nie za
bardzo znam odpowiedzi, ale jeśli poszukasz w google, to coś znajdziesz.

//...
procedure TMainForm.CBXOnClick(Sender : TObject);
begin
  with Sender as TCheckBox do
  begin
    if Checked then
    begin
      ShowMessage('Zaznaczyłeś');
    end
    else
    begin
      ShowMessage('Odznaczyłeś');
    end;
  end;
end;

procedure TMainForm.ShowMsgDlgButtonClick(Sender: TObject);
var
  Dlg : TForm;
  CBX : TCheckBox;
begin
  Dlg := CreateMessageDialog('Czy na pewno chcesz zamknąć program?',
  mtConfirmation, [mbYes, mbNo]);
  Dlg.Caption := Application.Title;
  Dlg.BorderIcons := [];
  Dlg.Height := 130;
  Dlg.ActiveControl := TButton(Dlg.FindComponent('Yes'));
  TImage(Dlg.FindComponent('Image')).Picture.Assign(Application.Icon);
  TButton(Dlg.FindComponent('Yes')).Caption := 'Tak';
  TButton(Dlg.FindComponent('No')).Caption := 'Nie';
  TButton(Dlg.FindComponent('Yes')).Top := 70;
  TButton(Dlg.FindComponent('No')).Top := 70;
  CBX := TCheckBox.Create(Dlg);
  CBX.Parent := Dlg;
  CBX.Caption := 'Zawsze pytaj';
  CBX.Left := (Dlg.Width - CBX.Width) div 2;
  CBX.Top := 40;
  CBX.Checked := False;
  CBX.OnClick := CBXOnClick;
  Dlg.ShowModal;

  case Dlg.ModalResult of
    mrYes : begin
      Caption := 'Tak';
    end;
    mrNo : begin
      Caption := 'NIE';
    end;
  end;

  if CBX.Checked then
  begin
    Caption := Caption + #32 + '- Zaznaczony';
  end
  else
  begin
    Caption := Caption + #32 + '- Odznaczony';
  end;
end;
0

fajny ten bug z suwakiem :)

0

Macie jeszcze jakieś propozycje? A co mi doradzicie w takiej sprawie? Jak sprawdzić czy kursor jest nad określonym tekstem w RichEdit?

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