Текущий архив: 2005.09.11;
Скачать: CL | DM;
Вниз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 вся ветка
Текущий архив: 2005.09.11;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.011 c