Как расположить форму по центру экрана?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
1
Новичок
Новичок
 
Сообщения: 36
Зарегистрирован: 10.07.2003 (Чт) 7:07

Как расположить форму по центру экрана?

Сообщение 1 » 07.12.2004 (Вт) 14:29

Форма - немодальное всплывающее окно.

Подскажите как расположить такую форму по центру экрана.

Можно использовать:

Код: Выделить всё
DoCmd.MoveSize


с указанием координат формы.

Есть ли какие-нибудь еще идеи?

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 07.12.2004 (Вт) 14:35

попробуй так

Код: Выделить всё

Private Sub Form_Load()
.......
  CenterForm Me
........

 
End Sub

' Public Sub CenterForm(frm As Form)

  frm.TOp = (Screen.height - frm.height) / 2
  frm.Left = (Screen.width - frm.width) / 2
 
End Sub



1
Новичок
Новичок
 
Сообщения: 36
Зарегистрирован: 10.07.2003 (Чт) 7:07

Сообщение 1 » 07.12.2004 (Вт) 14:46

Что-то не работает.

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 07.12.2004 (Вт) 15:37

StartUpPosition = CenterScreen не подходит?

1
Новичок
Новичок
 
Сообщения: 36
Зарегистрирован: 10.07.2003 (Чт) 7:07

Сообщение 1 » 07.12.2004 (Вт) 15:44

Нет, не работает.

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 07.12.2004 (Вт) 16:14

попробуй так :wink:

Код: Выделить всё
Private Sub Form_Load()
  CenterForm Me
End Sub

Public Sub CenterForm(frm As Form)
  frm.TOp = (Screen.height - frm.height) / 2
  frm.Left = (Screen.width - frm.width) / 2
 
End Sub


Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 07.12.2004 (Вт) 16:42

1 писал(а):Нет, не работает.

Каким именно боком не работает? Просто не работает или не работает с сообщением об ошибке? Код можешь показать?

1
Новичок
Новичок
 
Сообщения: 36
Зарегистрирован: 10.07.2003 (Чт) 7:07

Сообщение 1 » 07.12.2004 (Вт) 16:59

Код: Выделить всё
Private Sub Form_Load()
  CenterForm Me
End Sub

Public Sub CenterForm(frm As Form)
  frm.Top = (Screen.Height - frm.Height) / 2
  frm.Left = (Screen.Width - frm.Width) / 2
End Sub


При загрузке формы она появляется вверху экрана. Сообщений об ошибке нет. Просто не происходит предполагаемого результата центрирования.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 07.12.2004 (Вт) 17:04

Поставь StartupPosition в Manual.
Lasciate ogni speranza, voi ch'entrate.

1
Новичок
Новичок
 
Сообщения: 36
Зарегистрирован: 10.07.2003 (Чт) 7:07

Сообщение 1 » 07.12.2004 (Вт) 17:11

Прости за дурацкий вопрос.

Как поставить в manual?

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 07.12.2004 (Вт) 17:17

так ты в Access что-ли форме это делаешь?
там такое не пройдет, см. параметры самой формы в режиме редактирования, помниться там что-то было похоже на центрирование

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 07.12.2004 (Вт) 17:22

1 писал(а):
Код: Выделить всё
Private Sub Form_Load()
  CenterForm Me
End Sub

Public Sub CenterForm(frm As Form)
  frm.Top = (Screen.Height - frm.Height) / 2
  frm.Left = (Screen.Width - frm.Width) / 2
End Sub


При загрузке формы она появляется вверху экрана. Сообщений об ошибке нет. Просто не происходит предполагаемого результата центрирования.

у меня все работает нормально с StartUpPosition равным Manual или WindowsDefault!

1
Новичок
Новичок
 
Сообщения: 36
Зарегистрирован: 10.07.2003 (Чт) 7:07

Сообщение 1 » 07.12.2004 (Вт) 17:30

Форма в Access 2000.

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 07.12.2004 (Вт) 18:02

1 писал(а):Форма в Access 2000.

Мдя... Аууу, телепаты! Сюда! :?
В свойствах формы установи "Выравнивание по центру" в "Да".

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 07.12.2004 (Вт) 18:17

вот-вот Sedge тебе правильно толкует - слушай его, а то мы тут уже запарились за тебя думать :)

1
Новичок
Новичок
 
Сообщения: 36
Зарегистрирован: 10.07.2003 (Чт) 7:07

Сообщение 1 » 08.12.2004 (Ср) 8:42

Неужели вы могли подумать, что я не пробовал функцию: "Выравнивание по центру - Да".

С таким выравниванием форма действительно центрируется, но только внутри Accessa. А за пределами его - нет.

Мне необходимо, чтобы можно было осуществить выравнивание за пределами окна Access.

Извините, что сразу не сказал про Access.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21

    TopList  
cron