Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сделать форму??? / 4 сообщений из 4, страница 1 из 1
05.07.2005, 20:36:37
    #33151140
bogdan_g
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать форму???
Всем привет!
У меня такой вопрос...Мне нужно сделать форму, которая б "прилипала" к краям экрана, если ее подвинуть к краю... Пример такой формы может быть toolbox или Object Browser в VB... Кто знает, подскажите какой контрол можна использовать в этом случае (мне говорили что нужно использовать coolbar...)
Заранее благодарен!
...
Рейтинг: 0 / 0
06.07.2005, 08:35:07
    #33151416
# Darth Vader #
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать форму???
bogdan_gВсем привет!
У меня такой вопрос...Мне нужно сделать форму, которая б "прилипала" к краям экрана, если ее подвинуть к краю... Пример такой формы может быть toolbox или Object Browser в VB... Кто знает, подскажите какой контрол можна использовать в этом случае (мне говорили что нужно использовать coolbar...)
Заранее благодарен!

По моему без вызова Winapi не обойтись...
...
Рейтинг: 0 / 0
06.07.2005, 21:59:53
    #33153306
arseny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать форму???
Брось таймер на форму и поставь интервал в 50 и тестируй:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
Option Explicit

Private Type RECT
        Left As Long
        Top As Long
        Right As Long
        Bottom As Long
End Type

Private Declare Function SystemParametersInfo Lib "user32.dll" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long
Private Const SPI_GETWORKAREA As Long =  48 

Private Sub Timer1_Timer()
    Dim DeskTopWorkArea As RECT
    Dim lTwipsToDockX As Long
    Dim lTwipsToDockY As Long
    
    
    
    Timer1.Enabled = False
    
    
    lTwipsToDockX =  25  * Screen.TwipsPerPixelX
    lTwipsToDockY =  25  * Screen.TwipsPerPixelY
    
    SystemParametersInfo SPI_GETWORKAREA,  0 , DeskTopWorkArea,  0 
    
    
    With DeskTopWorkArea
        .Left = .Left * Screen.TwipsPerPixelX
        .Top = .Top * Screen.TwipsPerPixelY
        .Right = .Right * Screen.TwipsPerPixelX
        .Bottom = .Bottom * Screen.TwipsPerPixelY
    
    
        If Me.Left - .Left <= lTwipsToDockX Then Me.Left = .Left
        If Me.Top - .Top <= lTwipsToDockY Then Me.Top = .Top
        If .Right - Me.Left - Me.Width <= lTwipsToDockX Then Me.Left = .Right - Me.Width
        If .Bottom - Me.Top - Me.Height <= lTwipsToDockY Then Me.Top = .Bottom - Me.Height
    End With
    
    
    Timer1.Enabled = True
End Sub
...
Рейтинг: 0 / 0
10.07.2005, 00:36:44
    #33158167
Denri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать форму???
WindowState делаеш рвным 2 и все
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сделать форму??? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]