Topic: [Решено] Собственный файл помощи
Как достучаться до свойства Form1.BorderIcons:=biHelp или по-другому: как подключить собственный файл помощи, не назначая действие кнопке Button1, например?
Спасибо.
My Visual Database → Russian → [Решено] Собственный файл помощи
Как достучаться до свойства Form1.BorderIcons:=biHelp или по-другому: как подключить собственный файл помощи, не назначая действие кнопке Button1, например?
Спасибо.
Попробовала выйти из положения, создав собственное меню на главной форме
procedure MainForm_OnShow (Sender: TObject; Action: string);
var
MyItem1: TMenuItem;
MyItem2: TMenuItem;
MySubItem3: TMenuItem;
MySubItem4: TMenuItem;
begin
Application.ProcessMessages;
{$MySQL disable_connectdialog}
MainForm.MySQLConnection.Server := '***.***.*.***';
MainForm.MySQLConnection.Port := 3306;
MainForm.MySQLConnection.Username := '****';
MainForm.MySQLConnection.Password := '****';
MainForm.MySQLConnection.Database := 'global';
try
MainForm.MySQLConnection.Connect;
except
MessageBox('Невозможно подсоединиться к базе данных.'+chr(13)+'Обратитесь к системному администратору.','Ошибка соединения',MB_OK+MB_ICONSTOP);
MainForm.Close;
Exit;
end;
begin
if FindWindow(nil, APP_NAME) <> 0 then
begin
ShowMessage('Программа уже запущена. Используйте диспетчер задач [Ctrl+Alt+Del]'+CHR(13)+'для удаления некорректно закрытой программы из памяти ПК');
MainForm.Close;
end
else begin
if MainForm.MySQLConnection.Connected then
begin
UpdateDatabase(''); // to fill ComboBoxes
MainForm.mniFile.Visible := False; //отключение системного меню
MainForm.mniOptions.Visible := False; // -"-
MainForm.mniAbout.Visible := False; // -"-
MyItem2 := TMenuItem.Create (MainForm.MainMenu);
MyItem2.Caption := 'Помощь по работе в АСУ';
MySubItem3 := TMenuItem.Create (MainForm.MainMenu);
MySubItem3.Caption := 'Скачать файл помощи на компьютер';
MySubItem4 := TMenuItem.Create (MainForm.MainMenu);
MySubItem4.Caption := 'Смотреть в формате PDF';
MySubItem3.OnClick := @MenuClick3;
MySubItem4.OnClick := @MenuClick4;
MainForm.MainMenu.Items.Insert(0, MyItem2);
MyItem2.Add(MySubItem3);
MyItem2.Add(MySubItem4);
end;
end;
end;
end;
Всё работает, но... После перехода на другое окно и возвращения на главную форму пункт дублируется почему-то
попробуйте сравнить с этим примером выпадающего меню
Нужно было не вешать создание меню на событие OnShow главной формы, а вывести в отдельную процедуру и поместить её между
begin
end.
procedure CreateMenu;
var
MyItem1: TMenuItem;
MyItem2: TMenuItem;
MySubItem3: TMenuItem;
MySubItem4: TMenuItem;
begin
MyItem2 := TMenuItem.Create (MainForm.MainMenu);
MyItem2.Caption := 'Помощь по работе в АСУ';
MySubItem3 := TMenuItem.Create (MainForm.MainMenu);
MySubItem3.Caption := 'Скачать файл помощи на компьютер';
MySubItem4 := TMenuItem.Create (MainForm.MainMenu);
MySubItem4.Caption := 'Смотреть в формате PDF';
MySubItem3.OnClick := @MenuClick3;
MySubItem4.OnClick := @MenuClick4;
MainForm.MainMenu.Items.Insert(0,MyItem2);
MyItem2.Add(MySubItem3);
MyItem2.Add(MySubItem4);
end;
begin
CreateMenu;
end.
My Visual Database → Russian → [Решено] Собственный файл помощи
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi