Страница: 1 |
Страница: 1 |
Вопрос: Проблемка с формами
Добавлено: 22.01.05 20:55
Автор вопроса: Koks | Web-сайт:
Люди, помогите плизз! :(
У меня в проекте есть две формы: одна большая главная (Form1) и маленькая наподобие диалога
форма (Form2). Так вот собственно вопрос: как сделать так, чтобы меньшая форма всегда 'лежала'
на большей ? Т.е. она была бы неактивна, но не исчезала при деактивации и главное - не была
поверх всех окон, а лишь всегда поверх главного окна. (Подобие окна инструментов в Photoshope)
Если так можно сделать , подскажите, а то кучу Api функций перепробывал - все бестолку.
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #1
Добавлено: 22.01.05 21:42
Как поверх главного? Чтобы полностью перекрывала, или только в клиентской части? Если в клиентской части главного, то сделай так:
Form2.Visible = True
SetParent Form2.hWnd, Form1.hWnd
End Sub
Если надо, чтобы ещё и не передвигалась в пределах главной формы, то сделай Moveable = False
Номер ответа: 2
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #2
Добавлено: 22.01.05 21:43
Забыл, SetParent - API, объявление её добавь тоже.
Номер ответа: 3
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #3
Добавлено: 23.01.05 01:35
Call FormNext.Show(vbModelless, Me)
Номер ответа: 4
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #4
Добавлено: 23.01.05 02:05
Так вторая форма будет вылезать (её можно будет утянуть мышью) за пределы первой, т.е. не будет всегда лежать на первой, как захотел автор.
Номер ответа: 5
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #5
Добавлено: 23.01.05 02:55
SetParent самое оно.
Номер ответа: 6
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #6
Добавлено: 23.01.05 05:42
Создай стандартный проект, потом на форме правой кнопкой, и пункте Add выбери MDI Form, а у первой формы свойство MDIChld = True. Потом в меню Project выбери команду Project Properties и в комбобоксе Startup Object: выбери MDI форму.
Номер ответа: 7
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #7
Добавлено: 23.01.05 09:32
frmSecond.Show vbModeless, Me
Номер ответа: 8
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #8
Добавлено: 23.01.05 12:51
По-моему чел хотел спросить именно то что подсказал я Там же далее объяснение следуеь что именно хочется
Номер ответа: 9
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #9
Добавлено: 23.01.05 13:47
Я писал этот ответ на fbe и не видел твоего. Твой же я увидел позже )
Номер ответа: 10
Автор ответа:
Koks
Вопросов: 4
Ответов: 4
Web-сайт:
Профиль | | #10
Добавлено: 23.01.05 18:20
Спасибо ! Помогло. Про команду show совсем забыл.
А MDI-форму надо было бы создавать заново и весь проект вместе.
Просто, обычно, при деактивации меньшего окна оно или пропадает совсем или всегда поверх всех с SetWindowPos..