Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Проблемка с формами Добавлено: 22.01.05 20:55  

Автор вопроса:  Koks | Web-сайт: ge
Люди, помогите плизз! :(
У меня в проекте есть две формы: одна большая главная (Form1) и маленькая наподобие диалога
форма (Form2). Так вот собственно вопрос: как сделать так, чтобы меньшая форма всегда 'лежала'
на большей ? Т.е. она была бы неактивна, но не исчезала при деактивации и главное - не была
поверх всех окон, а лишь всегда поверх главного окна. (Подобие окна инструментов в Photoshope)
Если так можно сделать , подскажите, а то кучу Api функций перепробывал - все бестолку.

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #1 Добавлено: 22.01.05 21:42
Как поверх главного? Чтобы полностью перекрывала, или только в клиентской части? Если в клиентской части главного, то сделай так:

Private Sub Form_Load()
    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-сайт: hw.t-k.ru
 Профиль | | #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-сайт: basicproduction.nm.ru
 Профиль | | #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
(Подобие окна инструментов в Photoshope)

frmSecond.Show vbModeless, Me

Ответить

Номер ответа: 8
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #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-сайт: ge
 Профиль | | #10
Добавлено: 23.01.05 18:20
Спасибо ! Помогло. Про команду show совсем забыл.

А MDI-форму надо было бы создавать заново и весь проект вместе.
Просто, обычно, при деактивации меньшего окна оно или пропадает совсем или всегда поверх всех с SetWindowPos..

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам