Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 2
Регистрация: 26.01.2011
Сообщений: 96
1

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

27.01.2011, 06:10. Показов 2284. Ответов 3
Метки нет (Все метки)

Как выполнить следующее?

Команда Open открывает диалоговое окно открытия файла и, в случае выбора файла, добавляет его в подменю Reopen в качестве нулевого пункта и помечает этот пункт. При добавлении нового имени весь список имён смещается вниз.
В обработчике события OnClick пункта меню Open должно быть реализовано следующее:
Открывается диалоговое окно открытия файла. Если пользователь выбрал файл для открытия, то выполняется следующее:

Для пункта Reopen (максимальный размер которого ограничен 4 пунктами) необходимо:
- Установить доступность.
- Выполнить смещение в имеющемся списке имен файлов на одну позицию вниз с сохранением свойства Visible от предыдущего элемента. При смещении списка изменяется нумерация в названии пунктов меню. Для изменения этой нумерации используйте процедуру Delete из модуля System.
- В качестве нулевой строки вложенного меню установить подчеркнутую цифру 0, а за ней полное имя файла, полученное из диалогового окна. Свойство Visible этой строки установить равным True.
- Убрать старую пометку в списке имен файлов и установить пометку в нулевой строке.

Сделал вот так. Дальше не идёт...
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.Open1Click(Sender: TObject);
begin
  OpenDialog1.Execute;
  Save1.Enabled := True;
  SaveAs1.Enabled := True;
  Close1.Enabled := True;
  Reopen1.Enabled := True;
  Reopen1.Items[0].Visible:= True;
  Reopen1.Items[0].Caption:= OpenDialog1.FileName;
  Reopen1.Items[0].Checked:= True;
end;
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.01.2011, 06:10
Ответы с готовыми решениями:

Выпадающее меню. Не фиксируется бордер раздела меню, при использовании подменю
Делаю выпадающее меню, почти все сделал, осталось по сути немного, и не могу закончить. Вот код:...

Подменю по центру родительского элемента меню в горизонтальном меню
Нужно чтобы выпадающее под-меню располагалось по центру родительского элемента меню в...

Меню и подменю
помогите составить запрос в базу из php в меню, первого и второго уровня, имею код меню,в базе есть...

Реализовать меню с подменю
Нужно сделать меню буквенное вертикальное с выпадающим подменю. Кто-то может помочь? Добавлено...

3
6022 / 2141 / 748
Регистрация: 10.12.2010
Сообщений: 5,988
Записей в блоге: 3
27.01.2011, 10:32 2
Цитата Сообщение от Doctor_Che Посмотреть сообщение
OpenDialog1.Execute
Замените на
Delphi
1
if Opendialog1.Execute then //все что дальше
Поскольку пользователь может и отказаться от открытия файла и вся дальнейшая работа будет некорректной.
0
0 / 0 / 2
Регистрация: 26.01.2011
Сообщений: 96
27.01.2011, 11:24  [ТС] 3
Изначально поля Reopen1.Items[i].Caption не пустые, а вида '&0 Name0', '&1 Name1', '&2 Name2', '&3 Name3
пытаюсь сделать так, не выходит

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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 not Reopen1.Items[i-1].Caption in ['&0 Name0', '&1 Name1', '&2 Name2', '&3 Name3']
        then Continue;
      Reopen1.Items[i].Caption := Reopen1.Items[i-1].Caption;
      s := Reopen1.Items[i].Caption;
      Delete(s,2,1);
      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;
говорит Operator not applicable
Delphi
1
if not Reopen1.Items[i-1].Caption in ['&1 Name1', '&2 Name2', '&3 Name3']
0
0 / 0 / 2
Регистрация: 26.01.2011
Сообщений: 96
28.01.2011, 02:58  [ТС] 4
Не получается создать нормальную нумерацию в подменю.
Пока что удалил свойства Caption из Reopen1.Items[i].Caption
Получилось вот что
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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;
Получается вот что:
После открытия первого файла
Подменю Reopen в меню File

переменная s принимает значение
Подменю Reopen в меню File

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

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

Как создать нормальную нумерацию: 0, 1, 2, 3?
И что бы цифра была подчеркнута.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.01.2011, 02:58

Создание меню и подменю
Помогите пожалуйста дополнить код, так чтобы меню &quot;Печать&quot; (procedure TForm1.Action5Execute(Sender:...

Пользовательское меню с выпадающим подменю.
Сделать систему пользовательского меню с выпадающим подменю (не более 3-х элементов в каждом...

Правильный вывод меню с подменю
Делаю боковое меню сайта. Нужно было добавить подменю - добавил. На главной странице все хорошо -...

Главное меню с подменю и поиск
Доброго времени суток. Собственно возник вопрос , как сделать в консольном приложении главное меню...

Контекстное меню с вложенными подменю
Помогите розобраться. Нужно создать в контекстном меню, меню своей проги, ну так чтобы оно было...

Меню с подменю. (Вывод в шаблон)
Привет всем. Есть две таблицы таб.Category id title 1 Кат.1 2 Кат.2 3 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.