Подменю Reopen в меню File

  • Автор темы DoctorChe
  • Дата начала
D

DoctorChe

#1
Здравствуйте!
Не получается создать нормальную нумерацию в подменю.
Пока что получилось вот что
Код:
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;
MessageDlg(IntToStr(i) + 's=' + s, mtInformation, [mbOK], 0);
Delete(s,1,1);
MessageDlg(IntToStr(i) + 's delete=' + s, mtInformation, [mbOK], 0);
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;
Получается вот что:
После открытия первого файла

переменная s принимает значение

! Ноль подчеркнут
после
Код:
Delete(s,1,1);
переменная s принимает значение

! Ноль НЕ подчеркнут
А в подменю записывается вот-так

Как создать нормальную нумерацию: 0, 1, 2, 3?
И что бы цифра была подчеркнута.
 

acorn

PHP Developer
29.08.2004
585
3
#2
Для "подчеркивания" символа ставится перед ним знак & вроде бы, а про нумерацию чтоб что-то сказать, лень разбираться в коде
 
09.11.2009
665
1
#3
Код:
Reopen1.Items[0].Caption :=inttostr(Reopen1.Items.Count)+' '+ OpenDialog1.FileName;
както так
 
D

DoctorChe

#4
Код:
Reopen1.Items[0].Caption :=inttostr(Reopen1.Items.Count)+' '+ OpenDialog1.FileName;
говорит
'[' expected, but '.' found

Сделал так. Нумеруется теперь правильно. Но символ подчеркивания не отображается почему-то.
Код:
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 выводит с подчеркиванием.
Error.png
 

Вложения

D

DoctorChe

#5
Поможите други. Одна проблема осталась в лабораторной.

Вид подменю. Подчеркивания нет...
Error3.png

AutoHotkeys = maManual

Не могу понять что не так.
 

Вложения

D

DoctorChe

#6
Вопрос решен тупым использованием кнопочки Alt.