Точно разместить форму.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Точно разместить форму.

Сообщение Ruslan Demidow » 04.06.2004 (Пт) 11:53

Имеется форма Form1
На ней лежит TreeView.
Есть ещё одна форма Form2 и она пока не отображается. Хочу сделать чтобы при нажатии кнопки на Form1 открылась форма 2 и верхний срез формы Form2 оказался как раз на уровне верха TreeView1. У Form2 установлено свойство не отображать заголвок и меню. Так вот я делаю так

Код: Выделить всё
Sub cmdOpenForm2_Click()
  Form2.Top=Treeview1.Top
  Form2.Show
End Sub

Form2 у меня оказывается заведомо выше даже чем Form1.

Если же пишу так
Код: Выделить всё
Sub cmdOpenForm2_Click()
  Form2.Top=Form1.Top+Treeview1.Top
  Form2.Show
End Sub

Тогда Form2 оказывается ниже Form1, но всё равно выше Treeview1.
Подгонять через числовые значения не хочется, потому как положение TreeView1 на форме Form1 может измениться.

Scuder
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 334
Зарегистрирован: 17.08.2002 (Сб) 13:18
Откуда: Moscow, Russia

Сообщение Scuder » 04.06.2004 (Пт) 12:13

А видимо, придётся.. :-)

Ставь так и не мучайся:
Код: Выделить всё
Form2.Top=Form1.Top+Treeview1.Top+345

:-)

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 04.06.2004 (Пт) 12:21

Это сработает если в оформлении виндов установлена стандартная ширина заголовка окна. А если она увеличена, то будет съезжать. :(

Scuder
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 334
Зарегистрирован: 17.08.2002 (Сб) 13:18
Откуда: Moscow, Russia

Сообщение Scuder » 04.06.2004 (Пт) 12:42

Тогда держи, мучайся.. :-)

ApiGuide:

Код: Выделить всё
'In general section
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Const SM_CXSCREEN = 0 'X Size of screen
Const SM_CYSCREEN = 1 'Y Size of Screen
Const SM_CXVSCROLL = 2 'X Size of arrow in vertical scroll bar.
Const SM_CYHSCROLL = 3 'Y Size of arrow in horizontal scroll bar
Const SM_CYCAPTION = 4 'Height of windows caption
Const SM_CXBORDER = 5 'Width of no-sizable borders
Const SM_CYBORDER = 6 'Height of non-sizable borders
Const SM_CXDLGFRAME = 7 'Width of dialog box borders
Const SM_CYDLGFRAME = 8 'Height of dialog box borders
Const SM_CYVTHUMB = 9 'Height of scroll box on horizontal scroll bar
Const SM_CXHTHUMB = 10 ' Width of scroll box on horizontal scroll bar
Const SM_CXICON = 11 'Width of standard icon
Const SM_CYICON = 12 'Height of standard icon
Const SM_CXCURSOR = 13 'Width of standard cursor
Const SM_CYCURSOR = 14 'Height of standard cursor
Const SM_CYMENU = 15 'Height of menu
Const SM_CXFULLSCREEN = 16 'Width of client area of maximized window
Const SM_CYFULLSCREEN = 17 'Height of client area of maximized window
Const SM_CYKANJIWINDOW = 18 'Height of Kanji window
Const SM_MOUSEPRESENT = 19 'True is a mouse is present
Const SM_CYVSCROLL = 20 'Height of arrow in vertical scroll bar
Const SM_CXHSCROLL = 21 'Width of arrow in vertical scroll bar
Const SM_DEBUG = 22 'True if deugging version of windows is running
Const SM_SWAPBUTTON = 23 'True if left and right buttons are swapped.
Const SM_CXMIN = 28 'Minimum width of window
Const SM_CYMIN = 29 'Minimum height of window
Const SM_CXSIZE = 30 'Width of title bar bitmaps
Const SM_CYSIZE = 31 'height of title bar bitmaps
Const SM_CXMINTRACK = 34 'Minimum tracking width of window
Const SM_CYMINTRACK = 35 'Minimum tracking height of window
Const SM_CXDOUBLECLK = 36 'double click width
Const SM_CYDOUBLECLK = 37 'double click height
Const SM_CXICONSPACING = 38 'width between desktop icons
Const SM_CYICONSPACING = 39 'height between desktop icons
Const SM_MENUDROPALIGNMENT = 40 'Zero if popup menus are aligned to the left of the memu bar item. True if it is aligned to the right.
Const SM_PENWINDOWS = 41 'The handle of the pen windows DLL if loaded.
Const SM_DBCSENABLED = 42 'True if double byte characteds are enabled
Const SM_CMOUSEBUTTONS = 43 'Number of mouse buttons.
Const SM_CMETRICS = 44 'Number of system metrics
Const SM_CLEANBOOT = 67 'Windows 95 boot mode. 0 = normal, 1 = safe, 2 = safe with network
Const SM_CXMAXIMIZED = 61 'default width of win95 maximised window
Const SM_CXMAXTRACK = 59 'maximum width when resizing win95 windows
Const SM_CXMENUCHECK = 71 'width of menu checkmark bitmap
Const SM_CXMENUSIZE = 54 'width of button on menu bar
Const SM_CXMINIMIZED = 57 'width of rectangle into which minimised windows must fit.
Const SM_CYMAXIMIZED = 62 'default height of win95 maximised window
Const SM_CYMAXTRACK = 60 'maximum width when resizing win95 windows
Const SM_CYMENUCHECK = 72 'height of menu checkmark bitmap
Const SM_CYMENUSIZE = 55 'height of button on menu bar
Const SM_CYMINIMIZED = 58 'height of rectangle into which minimised windows must fit.
Const SM_CYSMCAPTION = 51 'height of windows 95 small caption
Const SM_MIDEASTENABLED = 74 'Hebrw and Arabic enabled for windows 95
Const SM_NETWORK = 63 'bit o is set if a network is present. Const SM_SECURE = 44 'True if security is present on windows 95 system
Const SM_SLOWMACHINE = 73 'true if machine is too slow to run win95.
Private Sub Form_Load()
    'KPD-Team 1998
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    'Set the graphic mode to persistent
    Me.AutoRedraw = True
    'retrieve information and print it to the form
    Me.Print "Number of mouse buttons:" + Str$(GetSystemMetrics(SM_CMOUSEBUTTONS))
    Me.Print "Screen X:" + Str$(GetSystemMetrics(SM_CXSCREEN))
    Me.Print "Screen Y:" + Str$(GetSystemMetrics(SM_CYSCREEN))
    Me.Print "Height of windows caption:" + Str$(GetSystemMetrics(SM_CYCAPTION))
    Me.Print "Width between desktop icons:" + Str$(GetSystemMetrics(SM_CXICONSPACING))
    Me.Print "Maximum width when resizing a window:" + Str$(GetSystemMetrics(SM_CYMAXTRACK))
    Me.Print "Is machine is too slow to run windows?" + Str$(GetSystemMetrics(SM_SLOWMACHINE))
End Sub


Думаю, это то, что тебе нужно.. :-)

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 04.06.2004 (Пт) 12:45

Оно самое. СПАСИБО БОЛЬШОЕ!!! :lol:


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

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

Сейчас этот форум просматривают: AhrefsBot, PetalBot и гости: 6

    TopList  
cron