Показать сообщение отдельно
  #10  
Старый 31.01.2011, 08:34
Doctor_Che Doctor_Che вне форума
Прохожий
 
Регистрация: 25.01.2011
Сообщения: 36
Репутация: 10
По умолчанию

Цитата:
Как-то так. Возможно, придется при выборе пункта делать все перемещения руками, но это детали - надо проверить, хотя должно работать и так.
Создание буферного списка опущено.
Тут проблема в том что надо делать по заданию.
Цитата:
Для изменения этой нумерации используйте процедуру Delete из модуля System.
- В качестве нулевой строки вложенного меню установить подчеркнутую цифру 0, а за ней полное имя файла, полученное из диалогового окна. Свойство Visible этой строки установить равным True.
Сделал так. Нумеруется теперь правильно. Но символ подчеркивания не отображается почему-то.
Код:
procedure TForm1.Open1Click(Sender: TObject);
Var i: Integer;
    s: String;
begin
  if not OpenDialog1.Execute then Exit;
  Save1.Enabled := True;
  SaveAs1.Enabled := True;
  Close1.Enabled := True;
  Reopen1.Enabled := True;
  for i := 3 downto 1
  do begin
      if Reopen1.Items[i-1].Caption = '' then Continue;
      Reopen1.Items[i].Caption := Reopen1.Items[i-1].Caption;
      s := Reopen1.Items[i].Caption;
      Delete(s,1,2);
      Reopen1.Items[i].Caption := '&' + IntToStr(i) + s;
      Reopen1.Items[i].Visible:= True;
  end;
  Reopen1.Items[0].Caption := '&0 ' + OpenDialog1.FileName;
  Reopen1.Items[0].Visible:= True;
  Reopen1.Items[0].Checked:= True;

  if OpenDialog1.FileName<>'' then Self.Caption := 'Form1' + '  ' +
   ExtractFileName(OpenDialog1.FileName)
    else Self.Caption := 'Form1';
end;
Хотя в Message выводит с подчеркиванием
Error2.png
Ответить с цитированием