Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.06.17;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по MDI   Найти похожие ветки 

 
Korona   (2002-06-03 22:42) [0]

Спрашивал на днях: "Как можно в развернутой MDIChild убрать все кнопки кроме close (как в Word XP)?". Song посоветовал через DeleteMenu.
Пробовал:
SysMenu=GetSystemMenu(Child,Handle,FALSE);
DeleteMenu(SysMenu,SC_MAXIMIZE,MF_BYCOMMAND);
DeleteMenu(SysMenu,SC_MINIMIZE,MF_BYCOMMAND);

- не помогает.

DeleteMenu(SysMenu,SC_CLOSE,MF_BYCOMMAND) затеняет кнопку close,но если форму развернуть, то даже затененная close начинает действовать!

Подскажите какую-нибудь другую функцию или метод. А может быть я неправильные параметры передавал в DeleteMenu?


 
Song   (2002-06-04 09:05) [1]

Надо отлавливать тогда WM_SYSCOMMAND и запрещать действие кнопки.


 
QWest   (2002-06-04 09:29) [2]

Эээ, ребята, я незнаю как там у вас в Delphi6 а у нас, в пятой,у формы есть свойство BorderIcons (раскрывающееся такое), в нем вложенные св-ва... Ставишь biMinimize и biMaximize в false и проблема решена....


 
Korona   (2002-06-04 21:33) [3]

2Song:
Пробовал и отлавливать WM_SYSCOMMAND. Так можно только запретить действия, но кнопки все равно остаются видимыми. Не сделаешь же в программе так: кнопка minimize есть, а при нажатии на нее ничего не происходит.

2QWest:
А ты попробуй, создай MDI приложение и поставь у MDIChild biMinimize и biMaximize в false - посмотри, что будет. Только WindowState должно быть wsMaximize.


 
Игорь Шевченко   (2002-06-05 09:50) [4]

Скорее всего, с MDI этого не получится


 
QWest   (2002-06-05 10:18) [5]

Ну тада есть только один выход (на мой взгляд)- biSystemMenu = false, а на форме создаешь свою кнопу "Закрыть" (как собственно и сделано у меня...)


 
Korona   (2002-06-05 21:39) [6]

А может можно как-нибудь скрыть кнопку restore - что то вроде biRestore = false, только через WinAPI? Должен же быть какой то способ.
Я так понимаю отличие обычной формы и MDI состоит в свойстве FormStyle:в MDIChild передается fsMDIChild. Дальше в каком то методе(ах) происходит определение системных кнопок и размещение их на меню родительского окна. Что то типа CreateParametrs. Если эти методы переопределить может что то и получится. Кто-нибудь знает эти методы?
Создавать на панели кнопку закрыть - как то несерьезно. Хотя, может быть кому то известны точные размеры системных кнопок окон - на крайний случай.

Подскажите, пожалуйста. Хочется, чтобы приложение выглядело профессионально.


 
Игорь Шевченко   (2002-06-06 09:59) [7]

Наиболее префессионально приложение выглядит, когда оно соответствует стандартам :-) Привыкли люди, что у MDI-окон 3 кнопки - стало стандартом :-)


 
Song   (2002-06-06 10:09) [8]

Вообще в АПИ есть много чего. Кроме вышеупомянавшегося DeleteMenu() есть RemoveMenu() DeleteItem() но ИМХО если первое не подействовало, то остальные тоже вряди ли.
Если уж совсем невтерпёж, можно вообще заголовок убрать и рисовать на нём хоть чёрта с рогами.



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

Форум: "Основная";
Текущий архив: 2002.06.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.011 c
7-55337
Alex Dobrushin
2002-03-18 19:55
2002.06.17
Печать через WordApplication


6-55254
daos
2002-04-02 05:15
2002.06.17
Уважаемые мастера помогите с TWebBrowser.


1-55093
dim-
2002-06-03 22:36
2002.06.17
HotKey


4-55361
Alexandr__
2002-04-16 06:58
2002.06.17
SetWorldTransform


14-55287
Alibaba
2002-05-14 18:30
2002.06.17
Word-Excel





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский