Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
pooh

Получение координат центра экрана

06.06.2010, 12:56. Показов 4405. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ХЛП, плз. Я сам обычно пишу на Сях и с бэйсиком начал общаться в рамках институтского курса. Никак не получается вернуть и присвоить переменным разрешение экрана для получения его центра. Привожу листинг программы целиком (определение разрешения должно происходить в процедуре Form_Load()) (буду оч. признателен, если подскажите как это сделать на примере):

VERSION 5.00
Visual Basic
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
Begin VB.Form Form1 
   BackColor       =   &H00000000&
   BorderStyle     =   0  'None
   Caption         =   'Form1'
   ClientHeight    =   7200
   ClientLeft      =   0
   ClientTop       =   0
   ClientWidth     =   9600
   DrawWidth       =   5
   FillColor       =   &H00FFFFFF&
   FillStyle       =   0  'Solid
   ForeColor       =   &H80000004&
   KeyPreview      =   -1  'True
   LinkTopic       =   'Form1'
   ScaleHeight     =   480
   ScaleMode       =   3  'Pixel
   ScaleWidth      =   640
   ShowInTaskbar   =   0   'False
   StartUpPosition =   3  'Windows Default
   WindowState     =   2  'Maximized
   Begin VB.Timer Timer1 
      Interval        =   100
      Left            =   3165
      Top             =   465
   End
End
Attribute VB_Name = 'Form1'
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private W As Integer
Private H As Integer
 
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
End
End If
 
End Sub
 
 
Private Sub Form_Load()
Accelarate = True
WindowState = 2
W = ScaleWidth
H = ScaleHeight
 
Move Screen.Width - Width, Screen.Height - Height
Move ScaleWidth - Width, ScaleHeight - Height
 
 
 For i = 1 To 250
  
  
  Star(i).x = W / 2
  Star(i).y = H / 2
RandomX:
  Randomize
  Star(i).AddX = Int(Rnd * 290) - Int(Rnd * 290)
  If Star(i).AddX = 0 Then GoTo RandomX
RandomY:
  Star(i).AddY = Int(Rnd * 190) - Int(Rnd * 190)
  If Star(i).AddY = 0 Then GoTo RandomY
 
 Next
 
End Sub
 
Private Sub Timer1_Timer()
 
For i = 1 To 250
 
 SetPixel hdc, W / 2, H / 2, &H404040
 col = ((255255255 - 0 + 1) * Rnd + 255255255)
 
 Select Case Abs(W / 2 - (Star(i).x))
  Case Is < 20
   Size = 1
  Case Is < 80
   Size = 1
  Case Is < 150
   Size = 1
  Case Is < 200
   Size = 2
  Case Is < 250
   Size = 3
  Case Else
   Size = 4
 
 End Select
 
 Select Case Abs(H / 2 - (Star(i).y))
 
 'tmp = ff0000
 
  Case Is < 20
   If Size = 0 Then
    Size = 1
   End If
  Case Is < 80
   If Size = 0 Then
    Size = 1
   End If
  Case Is < 150
   If Size < 2 Then
    Size = 2
   End If
  Case Is < 200
   If Size < 3 Then
    Size = 3
   End If
  Case Is < 250
   If Size < 4 Then
    Size = 4
   End If
  Case Else
   If Size < 5 Then
    Size = 4
   End If
 
 End Select
 
SetPixel hdc, W / 2, H / 2, col
 
Select Case Size
 Case 1
  SetPixel Me.hdc, Star(i).x, Star(i).y, &H0&
  SetPixel Me.hdc, Star(i).x + Star(i).AddX, Star(i).y + Star(i).AddY, col
 Case 2
  SetPixel Me.hdc, Star(i).x, Star(i).y, &H0&
  SetPixel Me.hdc, Star(i).x - 1, Star(i).y, &H0&
  SetPixel Me.hdc, Star(i).x + Star(i).AddX, Star(i).y + Star(i).AddY, col
  SetPixel Me.hdc, Star(i).x - 1 + Star(i).AddX, Star(i).y + Star(i).AddY, col
 Case 3
  SetPixel Me.hdc, Star(i).x, Star(i).y, &H0&
  SetPixel Me.hdc, Star(i).x - 1, Star(i).y, &H0&
  SetPixel Me.hdc, Star(i).x -
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.06.2010, 12:56
Ответы с готовыми решениями:

Получение разрешения экрана
Помогите плз: подскажите какаие функции возвращают ширину и высоту экрана. для того чтобы потом можно было бы использовать эти значения...

Получение Координат мыши относительно экрана
Подскажите как можно получить координаты мыши относительно экрана. Допустим я нажал на кнопку, а мне в консоль пишет координаты!!!

Программа, которая рисует изменение шара (рост от центра до границ экрана или уменьшение от границ экрана до центра)
Написать программу, которая спрашивает у пользователя, как должен вести себя шар: 1 –расти из центра до границ экрана или 2 – уменьшаться...

4
0 / 0 / 0
Регистрация: 26.08.2009
Сообщений: 89
06.06.2010, 22:12
'ширина экрана
GetSystemMetrics(SM_CXSCREEN)
'высота экрана
GetSystemMetrics(SM_CYSCREEN)
0
pooh
07.06.2010, 11:14
Спасиб, но видимо я чет не понимаю при подстановки функций в
Visual Basic
1
2
3
4
5
6
7
8
Private Sub Form_Load()
Accelarate = True
WindowState = 2
W = GetSystemMetrics(SM_CXSCREEN)
H = GetSystemMetrics(SM_CYSCREEN)
 
Move Screen.Width - Width, Screen.Height - Height
Move ScaleWidth - Width, ScaleHeight - Height
возникает ошибка Sub or Function not defined, отсюда вопрос: как работают эти функции и где их надо опредилать... MSDN под рукой к сожалению нет
1 / 1 / 0
Регистрация: 03.02.2010
Сообщений: 43
07.06.2010, 12:00
см. http://www.relib.com/forums/topic.asp?id=811298
0
pooh
09.06.2010, 10:45
Спасиб огромное. Очень выручили. Все работает.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.06.2010, 10:45
Помогаю со студенческими работами здесь

Перемещение окна и получение координат центра окна
Всем доброго времени суток. у меня есть два заданя 1.Написать программу, используя средства Win32 API. Программа должна...

Движение картинки от центра экрана — по диагоналям ко всем углам экрана с уменьшением размера
нужно чтобы картинка двигалась от центра экрана - по диагоналям ко всем углам экрана с уменьшением размера заранее спасибо

Вращение равнобедренного треугольника вокруг центра экрана, и одновременно вокруг своего центра. (Turbo Pascal)
Задача в заголовке. Как вращать треугольник вокруг центра я примерно знаю (писали аналогичное для круга), а вот с одновременным вращением...

Получение координат элемента или координат мыши на элементе
Добрый день. Имеется форма wpf На ней имеется grid в гриде установлен фон картинкой. грид с картинкой изменяются размерами но всегда...

Вычисление координат центра описанной окружности
Задан треугольник координатами своих вершин Требуется определить координаты центра описанной окружности Сначала я аналитически решил...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru