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

Вниз

MDI окна   Найти похожие ветки 

 
kblc ©   (2005-07-15 09:27) [0]

Уважаемые мастера, у меня к вам вопрос:
 все наверное видели совмещение MDI окон и закладок (Opera, FireFox). Я бы хотел то же самое реализовать в своём приложении.
 
 т.е. как только появляеться MDI окно - автоматически создаёться закладка, и как только окно уничтожаеться - закладка уничтожаеться.
 
 Я бы хотел у вас спросить, каким компонентом лучше сделать эти закладки, и второе, какое сообщение приходит форме, если от неё (в ней) создаёться и уничтожаеться MDI-форма. И как потом определить название окошка и его хэндл.

 Заранее боагодарю ответивших...


 
kblc ©   (2005-07-21 13:05) [1]

Удалено модератором


 
alpet ©   (2005-07-21 13:19) [2]

kblc ©   (15.07.05 09:27)
MDI и механизм вкладок не совсем одно и то же. Первое базируется на   окнах не привязанных жестко к какой либо клиентской области (их можно перемешать, изменять размер), второе на окнах как раз привязаннык к клиентской области контрола вкладок (Tab Control). Компоненты для решения этой задачи в Delphi присутствуют, например TTabControl (вкладки которого имеют класс TTabSheet). Начиная кажется с 6-ой версии доступны также и фреймы которые позволяют разрабатывать как-бы отдельные формы, а потом встраивать их как дочерние, например в тот же TTabSheet.


 
kblc ©   (2005-07-21 13:25) [3]

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

 Заранее благодарю.


 
alpet ©   (2005-07-21 13:42) [4]

kblc ©   (21.07.05 13:25) [3]

Прежде всего хотелось бы узнать постановку задачи. Чего требуется от интерфейса вкладок - тескстовый редактор или что-то иное ?


 
kblc ©   (2005-07-21 13:55) [5]

в этих вкладках будут располагаться окна(самые простые и ещё те окна, размер которых невозможно изменить).


 
alpet ©   (2005-07-21 13:57) [6]

kblc ©   (21.07.05 13:55) [5]

Самые простые окна - в смысле без контролов вообще, или пара кнопок все-таки будет?


 
kblc ©   (2005-07-21 14:02) [7]

я имел ввиду всевозможные окна... т.е. там будет контролы, это точно.

от TButton до TListView


 
Lexer ©   (2005-07-21 14:06) [8]

> kblc
есть 2 варианта:
1. динамичеси создаешь вкладки вместо окон
2. делаешь внизу/вверху панельку, на которую помещаешь кнопки с названием созданных окон, выглядит как-будто вкладки


 
kblc ©   (2005-07-21 14:09) [9]

я предпочитаю второй вариант.. но! как программа, в данном случаем MDIForm отловит что создалось окно с таким вот названием?


 
alpet ©   (2005-07-21 14:43) [10]

kblc ©   (21.07.05 14:09) [9]
А почему надо именно MDIForm ?


 
ANB ©   (2005-07-21 14:49) [11]

PageControl попробуй. На него можно кидать панели, фреймы и чего хочешь.
Да, а причем тут тогда MDI ?


 
kblc ©   (2005-07-22 07:22) [12]

Все формы не должны выходить за пределы родительского окна, но при этом должен быть удобный их манагер ;)

2alpet, 2ANB:
 Я не говорю что это обязательно, я просто просил про решение такой проблемы и реализации этого решения.

2ANB: Что мне может дать PageControl?


 
alpet ©   (2005-07-22 07:57) [13]

kblc ©   (22.07.05 07:22) [12]
Касательно реализации - тебе жизненно необходимо привыкнуть к чтению справки (на англ. языке), да и экспериментировать не боятся. Контролы TPageControl и TTabControl из себя ничего сложного не представляют, в примерах поставляемых с Delphi наверняка найдеться подобное приложение. В этой же конференции идет речь о WinAPI, а не VCL, да и обучать бесплатно неопытных программеров, не каждому хочеться.


 
kblc ©   (2005-07-22 08:03) [14]

2alpet:
 1) В приреах нет работы с этими контролами - я всё проверил.
 2) Не нужно называть меня неопытным, не терплю оскорблений.

Тогда такой вопрос: какие сообщений приходят родительскому окну когда вдруг создаёться MDIChildForm?


 
alpet ©   (2005-07-22 09:56) [15]

kblc ©   (22.07.05 08:03) [14]
1) Поищи в интернете. В справке впринципе исчерпывающее описание.
2) Ну извини,я незнал что самомнение у тебя так раздулось. Но к сожалению вынужден константировать факт - к неопытным программистам относятся все кто пытается осваивать программирование за чужой счет, и не в состоянии поискать информацию в интернете, или обучаться по книге. Если к тебе это неотносится, думаю на вопрос ты самостоятельно сможешь найти ответ.


 
sniknik ©   (2005-07-22 14:04) [16]

> 1) В приреах нет работы с этими контролами - я всё проверил.
никогда не говори "никогда"... "всё" тоже не говори. всё проверить нереально.
x:\Program Files\Borland\Delphi7\Help\Examples

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


 
kblc ©   (2005-07-25 06:49) [17]

2sniknik: (off-topic)
 Зачем ты дал мне этот путь? я его думаешь не знаю?

2alpet: (off-topic)
 Я считают, что форум создан для того что бы осветить (обсудить/решить) интересующие людей вопросы. Почему возникают эти вопросы - это первое что ты должен был узнать.
 Неужели у тебя не было ситуации, когда время решало всё? Вот у меня именно такаяф ситуация. Простые задачи, но их очень много + придумать это всё и т.д.
 Сейчас я один работаю над проектом, над которым, по моему мнению должны трудиться как минимум 2ое. Мне тяжело и поэтому я обращаюсь к вам как к мастерам, но не нужно меня винить в том, что я это делаю, ведь форум для этого и создан!

 Так сложно дать ответ?


 
alpet ©   (2005-07-25 10:09) [18]

kblc ©   (25.07.05 06:49) [17]
Отнюдь форум существует для разрешения сложных вопросов, ответы на которые обычно не содержатся в справке, а многие его почему-то представляют как набор бесплатных репетиторов. То что у тебя возникла такая ситуация говорит об одном - ты взялся за работу, не только незная матчасти, но и принципиально не желая учиться (дескать вы мне все готовенькое и разжеванное дайте, я быстренько сделаю задание и денежку получу) и изучать справочное руководство. Незнание английского языка в данном случае не оправдание - словарей в том числе онлайновых в сети можно найти предостаточно. А если постораться можно найти и примеры использования TTabControl.

Совет на будушее: Если уж решил с помощью Delphi зарабатывать деньги, вложи в себя для начала - купи хотя бы одну стоящую книгу (например Марко Кэнту).


 
kblc ©   (2005-07-25 10:50) [19]

_______
2alpet: (off-topic)
 Спешу тебя огорчить, именно книга Марко Кэнту у меня есть, "Delphi для профессианалов"; и ещё много какой полезной мне литературы.
 Разве я говорил что не знаю или плохо знаю английский? Разве я говорил что я не желаю учиться? Александр Петров, вы зазнаётесь. Я не собираюсь перед вами оправдываться и что-то вам больше говорить, но у меня складываеться о вас нехорошее мнение как о человеке, который занимаеться на этом форуме просто болтовнёй. Вы считаете себя профессианалом? Я интересуюсь, и по возможности изменю своё мнение о вас (и если придёться принесу свои извенения) если вы мне скажете, в каких проектах вы участвовали, и сможете дать мне на них ссылки дабы посмотреть на них.
_______


 
alpet ©   (2005-07-25 11:26) [20]

kblc ©   (25.07.05 10:50) [19]
[RE:offtop]
Мой пока что единственный открытый проект: http://www.alpet.hotmail.ru

Прощу простить если что, но доскональное выполнение работы за другого человека, ни чуть не способствует повышению профессионализма последнего. Если у тебя есть книга, знание английского, и немного терпения - похоже что ответ дан уже исчерпывающий. Ссылки на известные контролы (причем компоненты, не WinAPI контролы) уже даны - разобраться что как действует дело гораздо меньшего времени, чем выяснять это на форумах. Почему я так категорично утверждаю? Опыт имеется - до всего основного в программировании я доходил сам, и если уж возникал вопрос серьезный, вне моей компетентности - лез на форумы. Со стороны большинства форумчан (не побоюсь утверждать) твой вопрос действительно требует разжевывания азбучных истин, типа: а как работает сей компонент, а какие сообщения должны приходить? Может я еще и не профи, но мне лично было бы стыдно подобные вопросы задавать. У тебя сейчас есть все (книги, справка, примеры с исходниками, интернет в конце-концов), а ведь многим в свое время всего это жутко нехватало.


 
kblc ©   (2005-07-25 12:38) [21]

Александр, да, у меня есть всё, причём желание решить проблему и сделать это как можно качественней. Но единственного чего у меня нет, так это времени на то что бы заниматься этим.
 Есть время - занимаюсь поиском решения проблемы, но что значит поиск 5 минут в полчаса? Ничего. Поэтому я и прошу о помощи, надеюсь на хоть какое-то содействие иначе я бы и не открывал эту ветку.


 
ANB ©   (2005-07-25 13:01) [22]


> kblc ©   (25.07.05 12:38) [21]
так чем PageControl не устраивает то ? Юзать - кинуть на форму и кликнуть по нему правой кнопкой мыши. Дальше сам разберешься. А спорить с мастерами не стоит. Имхо, у alpet все правильно про тебя написано.


 
kblc ©   (2005-07-25 13:20) [23]

2ANB:
 1) Последний вопрос был про сообщение.
 2) Не устраивает
 3) Не понимаешь суть проблемы - не лезь или читай внимательней!



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

Форум: "WinAPI";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.01 c
14-1124310339
vecna
2005-08-18 00:25
2005.09.11
надумал заняться апгрейдом, появились вопросы по железу...


6-1116549473
Hecker
2005-05-20 04:37
2005.09.11
Tracert и Ping?


6-1116820908
Игорь Лан
2005-05-23 08:01
2005.09.11
Ошибка 10060 что означает?


1-1124200403
Deep
2005-08-16 17:53
2005.09.11
Акцес виолейшен в длл


14-1124224030
Cheaterr
2005-08-17 00:27
2005.09.11
Вопрос к тем, кто работает на производстве или торговых компаниях





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский