Страница: 1 | 2 |
Вопрос: Me.BorderStyle / Runt-time
Добавлено: 23.07.06 17:40
Автор вопроса: Resonator
Здравствуйте!
Хотелось бы изменить BorderStyle формы при Form_Load, в частности сделать BorderStyle=0. Это нужно чтобы в последствии сделать SetParent в главную форму и скажем показывать эту форму как Tab.
Ответы
Всего ответов: 19
Номер ответа: 1
Автор ответа:
LeX
ICQ: 301424893
Вопросов: 28
Ответов: 277
Web-сайт:
Профиль | | #1
Добавлено: 23.07.06 17:45
Номер ответа: 2
Автор ответа:
Resonator
Вопросов: 5
Ответов: 6
Профиль | | #2
Добавлено: 23.07.06 17:48
Ну, наверное я это уже попробовал сделать? Как ты думаешь?) Не сработало.
Номер ответа: 3
Автор ответа:
LeX
ICQ: 301424893
Вопросов: 28
Ответов: 277
Web-сайт:
Профиль | | #3
Добавлено: 23.07.06 17:56
В 6 бэйсике??? Все должно работать... Во всяком случае я делала именно так.
Номер ответа: 4
Автор ответа:
LeX
ICQ: 301424893
Вопросов: 28
Ответов: 277
Web-сайт:
Профиль | | #4
Добавлено: 23.07.06 17:56
Опечатка, делал
Номер ответа: 5
Автор ответа:
Resonator
Вопросов: 5
Ответов: 6
Профиль | | #5
Добавлено: 23.07.06 18:01
Да, 6-ка. Не работает Пробовал из других форм, ставил разные Стили бордера...Можно ли АПИ какой SendMessage сделать?
Номер ответа: 6
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #6
Добавлено: 23.07.06 19:21
А зачем при Form_Load? Ты сразу, в процессе разработки, так сказать, и сделай
Номер ответа: 7
Автор ответа:
reso
Вопросов: 0
Ответов: 2
Профиль | | #7
Добавлено: 23.07.06 19:49
В процессе нельзя, я хочу дать возможность пользователю открывать в табе либо в окне. Порывшись немного в интернете нашел только то, что во время run-time BorderStyle - readonly. Написал вот это, если кому будет нужно:
Public Sub SetFormsBorder(ByRef frmSender As Form, bEnabled As Boolean)
 im lStyle As Long
Const lBit As Long = &HC00000
lStyle = GetWindowLong(frmSender.hwnd, -16)
If bEnabled Then
lStyle = lStyle Or lBit
Else
lStyle = lStyle And Not lBit
End If
SetWindowLong frmSender.hwnd, -16, lStyle
SetWindowPos frmSender.hwnd, 0, 0, 0, 0, 0, &H20 Or &H2 Or &H4 Or &H1
End Sub
Номер ответа: 8
Автор ответа:
[root]
Вопросов: 45
Ответов: 1212
Web-сайт:
Профиль | | #8
Добавлено: 23.07.06 19:52
Я уже где то тут отвечал на этот вопрос
Private Sub Form_Load()
Form1.BorderStyle = 0
Form1.Caption = ""
End Sub
Номер ответа: 9
Автор ответа:
LeX
ICQ: 301424893
Вопросов: 28
Ответов: 277
Web-сайт:
Профиль | | #9
Добавлено: 23.07.06 20:37
Ну бордюр меняется, а текст остается, поэтому проблемы...
Номер ответа: 10
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #10
Добавлено: 23.07.06 22:15
Мона даже так:
Private Sub Form_Load()
Me.BorderStyle = 0
Me.Caption = Me.Caption
End Sub
Вся пуля в этом — должно быть присваивание св-ву .Caption)) И необязательно его изменять))
Номер ответа: 11
Автор ответа:
reso
Вопросов: 0
Ответов: 2
Профиль | | #11
Добавлено: 24.07.06 02:23
Всем спасибо Нужно такие вопросы заносить в FAQ.
Номер ответа: 12
Автор ответа:
[root]
Вопросов: 45
Ответов: 1212
Web-сайт:
Профиль | | #12
Добавлено: 24.07.06 05:15
reso - нужно правильнее вопрос формулировать, потому что код который
предложил и я и Феникс в рантуйме работают. Т.е. тут не не возможно
получается, а нельзя из за твоих условий, так что ли
Номер ответа: 13
Автор ответа:
[root]
Вопросов: 45
Ответов: 1212
Web-сайт:
Профиль | | #13
Добавлено: 24.07.06 05:18
бгаааа, ну и ладно, при желания я буду писать две строчки и получать
рабочий код, а ты так и будешь думать, что Бордюр в рантайм изменить
нельзя, такое ощущение, что ты даже не проверил
Номер ответа: 14
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #14
Добавлено: 24.07.06 10:14
reso молодец, прально делает. Стиль окна правильнее всего изменять через АПИ, как можно реже прибегая к .Caption. Я уже писал об этом - у VB есть отвратная привычка при смене Caption'а менять стиль, в результате многие настройки окна имеют большой шанс оказаться слитыми )
Номер ответа: 15
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #15
Добавлено: 24.07.06 19:02