Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.05;
Скачать: CL | DM;

Вниз

ActionMainMenuBar и Border Icon   Найти похожие ветки 

 
D@nger   (2009-02-19 13:39) [0]

Здравствуйте мастера! Не раз Вы меня выручали, спасибо Вам и этому форуму! :-) Решил заменить в своём MDI приложении MainMenu на ActionMainMenuBar. Наверно мой вопрос не раз уже поднимался, но поиск по форуму ничего не дал. Но ближе к делу... В компоненте глюк с отображением иконок закрытия, сворачивания и разворачивания дочернего окна. Полазив по инету, находил решения на исправление кода компонента, но ссылки вели на уже закрытые сайты, т.е. внятного объяснения так и не нашел. Подскажите что в коде компонента ActionMainMenuBar необходимо исправить или дайте ссылку где это можно посмотреть. Может посоветуете другой компонент по визуализации не уступающий ActionMainMenuBar. Спасибо.


 
D@nger   (2009-02-19 14:36) [1]

Может я недостаточно описал проблему... При создании дочернего окна оно разворачивается, но при этом нет кнопок закрытия, сворачивания... при входе в пункты меню, эти иконки появляются...при закрытии дочернего окна иконки остаются на месте...при нажатии на них вызывается ошибка..так как окно уже уничтожено... необходимо реализовать корректное отображение этих иконок...


 
D@nger   (2009-02-20 06:00) [2]

Неужели никто не сталкивался с этой проблемой! :(


 
D@nger   (2009-02-20 06:23) [3]

Скажите пожалуйста у кого есть Actionbands Update for Delphi 7? Возможно он исправит этот глюк в ActionMainMenuBar.


 
D@nger   (2009-02-20 06:40) [4]

Actionbands Update for Delphi 7 скачал... если кому надо пишите... правда еще не проверял..исправляет ли ошибку в ActionMainMenuBar или нет ... как проверю отпишусь..


 
D@nger   (2009-02-20 09:02) [5]

Обновление ошибку не исправило...хотя в ридми написано что исправления этого компонента есть...Fixed issues with TActionMainMenuBar not functioning correctly in MDI applications.

и что теперь делать... :(


 
D@nger   (2009-02-20 09:03) [6]

может его надо перекомпилировать...хотя в инструкции по установке ничего об этом не сказано...


 
D@nger   (2009-02-20 09:30) [7]

ладно...раз никто ни хочет помогать... закрываю тему...


 
D@nger   (2009-02-20 09:59) [8]

Вот кому интересно... нашел исправление этой ошибки на китайском сайте...
Исправление надо внести в ActnMenus.pas (заменить соответствующую функцию следующей функцией)

function CallWndHook(Code: Integer; WParam: wParam; Msg: PCWPStruct): Longint; stdcall;

procedure UpdateMDIMenuButtons;
var  I: Integer;
Parent: THandle;
ParentForm: TWinControl;
Form: TCustomForm;
begin
Parent := GetParent(Msg.hwnd);
if Parent = 0 then exit;
ParentForm := FindControl(Parent);
for I := 0 to MenuList.Count - 1 do
begin
Form := GetParentForm(MenuList.Menus[I]);
if (Form = ParentForm) and
(MenuList.Menus[I] is TCustomActionMainMenuBar) then
begin
if (Msg.Message = WM_MDIDESTROY) and (Form is TForm) and
(TForm(Form).MDIChildCount = 1) then
with MenuList.Menus[I] as TCustomActionMainMenuBar do
MDIChildRestored
else
with MenuList.Menus[I] as TCustomActionMainMenuBar do
GetActiveMDIChild;
break;
end;
end;
end;

begin
if Code = HC_ACTION then
case Msg.message of
// Use of WM_SIZE is required for any Windows version except Themed XP
WM_MDIGETACTIVE, WM_SIZE,
WM_MDIDESTROY: UpdateMDIMenuButtons;
WM_ACTIVATE:
if ActiveMenu is TCustomActionPopupMenu then
ActiveMenu.CloseMenu;
WM_SETTINGCHANGE:
if Assigned(UpdateActnMenusProc) then
UpdateActnMenusProc;
end;
Result := CallNextHookEx(MenuCallWndHook, Code, WParam, Longint(Msg));
end;

Чтобы исправить закрытие окна при минимизации необходимо исправить следущее:

procedure TInternalMDIAction.ExecuteTarget(Target: TObject);
begin
case MDIAction of
maActivate: SendMessage(GetParent(Form.Handle), WM_MDIACTIVATE, Form.Handle, 0);
maClose: Form.Close;
maRestore: SendMessage(GetParent(Form.Handle), WM_MDIRESTORE, Form.Handle, 0);
// Fixed to minimize the form not close it
maMinimize: Form.WindowState := wsMinimized;
end;
end;


Всем спасибо за посильную помощь!!! Удачи!



Страницы: 1 вся ветка

Текущий архив: 2009.04.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
2-1235039970
D@nger
2009-02-19 13:39
2009.04.05
ActionMainMenuBar и Border Icon


2-1234971867
ford
2009-02-18 18:44
2009.04.05
TlistView Has no parent control


2-1234282972
Dr. Genius
2009-02-10 19:22
2009.04.05
Загрузка ЦП в процентах


15-1233835334
Ega23
2009-02-05 15:02
2009.04.05
Знатоки JavaScript - посоветуйте


15-1233644188
Дмитрий С
2009-02-03 09:56
2009.04.05
HTTP: basic авторизация под SSL