Простой вопрос

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Простой вопрос

Сообщение Sirik » 09.09.2004 (Чт) 12:11

Как перевести разрешение экрана в пиксели?
Я делаю так
Код: Выделить всё
Screen.Height / 15
, но я так понял что 15 эта какая-то константа. Так какая?

И ещё как перевести размеры формы в пексели?

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

Сообщение alibek » 09.09.2004 (Чт) 12:23

Screen.TwipsPerPixel?
Lasciate ogni speranza, voi ch'entrate.

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 09.09.2004 (Чт) 12:28

alibek писал(а):Screen.TwipsPerPixel?

Спасибо.

А теперь ещё один вопросик: как узнать высоту Панели задач?

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

Сообщение alibek » 09.09.2004 (Чт) 12:33

Taskbar? Находишь окно FindWindow(Ex), определяешь прямоугольник окна, вычитаешь из Bottom Top и определяешь высоту.
Или ты хочешь узнать рабочую область десктопа? Тогда SystemParametersInfo, константа spiGetWorkArea=48
Lasciate ogni speranza, voi ch'entrate.

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 09.09.2004 (Чт) 12:36

2 alibek
Вобщето мне надо знать положение и размеры TaskBar.
Можешь кусочек кода "бросить"?

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

Сообщение alibek » 09.09.2004 (Чт) 12:41

Это в форуме не написать, надо VB запускать.
Ищешь десктоп (GetDesktopWindow), в нем ищешь окно с классом "Shell_TrayWnd" (FindWindowEx), к найденому окну применяешь GetWindowRect.
Lasciate ogni speranza, voi ch'entrate.

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 10.09.2004 (Пт) 20:22

Можно чуточку проще - без GetDesktopWindow()
Код: Выделить всё
Option Explicit

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

Private Const TASKBAR_CLASS As String = "Shell_TrayWnd"

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long

Private Sub Form_Load()
Dim R As RECT, Wnd As Long
Wnd = FindWindow(TASKBAR_CLASS, vbNullString)
GetWindowRect Wnd, R
MsgBox "Height = " & R.Bottom - R.Top
End Sub


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

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

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 9

    TopList