разрешение экрана

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

разрешение экрана

Сообщение Dmitriy Solomnikov » 07.04.2006 (Пт) 17:07

Наверное уже было... но при поверхностном поиске ничего не нашел.

Как узнать разрешение экрана?

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

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 07.04.2006 (Пт) 17:32

Код: Выделить всё
Dim r As Drawing.Rectangle = System.Windows.Forms.Screen.PrimaryScreen.Bounds()

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 09.04.2006 (Вс) 13:56

__________________
Последний раз редактировалось Роман-вб 09.04.2006 (Вс) 14:15, всего редактировалось 1 раз.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 09.04.2006 (Вс) 13:56

Роман-вб, это код для VB6.

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 09.04.2006 (Вс) 14:10

Код: Выделить всё

Option Strict Off
Option Explicit On
Friend Class Form1
   Inherits System.Windows.Forms.Form
   Dim h, v, d As Integer
   
   Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hDC As Integer, ByVal nIndex As Integer) As Integer
   
   Private Declare Function GetDesktopWindow Lib "user32" () As Integer
   
   Private Declare Function GetDC Lib "user32" (ByVal hwnd As Integer) As Integer
   
   Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Integer, ByVal hDC As Integer) As Integer
   
   Private Const HORZRES As Short = 8
   
   Private Const VERTRES As Short = 10
   
   Private Const BITSPIXEL As Short = 12
   
   
   
   'UPGRADE_NOTE: Height was upgraded to Height_Renamed. Click for more: 'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"'
   'UPGRADE_NOTE: Width was upgraded to Width_Renamed. Click for more: 'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"'
   Private Sub GetVideoMode(ByRef Width_Renamed As Integer, ByRef Height_Renamed As Integer, ByRef Depth As Integer)
      
      Dim hDC As Integer
      
      hDC = GetDC(GetDesktopWindow())
      
      Width_Renamed = GetDeviceCaps(hDC, HORZRES)
      
      Height_Renamed = GetDeviceCaps(hDC, VERTRES)
      
      Depth = GetDeviceCaps(hDC, BITSPIXEL)
      
      Call ReleaseDC(GetDesktopWindow(), hDC)
      
   End Sub
   
   Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click
      Call GetVideoMode(v, h, d)
      MsgBox(Str(v) & Str(h) & Str(d))
   End Sub
End Class

Работает!
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.04.2006 (Вс) 14:12

Роман-вб
Если ты не понял, почему я удалил этот бред первый раз, и запостил его во второй, то наверное тебе сложно помочь.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 09.04.2006 (Вс) 14:17

GSerg
Давайте без личных оскорблений. Что не так -- объясни!
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 09.04.2006 (Вс) 14:20

GSerg, выражайся полегче, мне неприятно читать. Человек написал бред - удали. Написал еще - удали еще. На третий раз его Шейд забанит по моей просьбе.

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 09.04.2006 (Вс) 14:32

Amed
Ну с VB6 понял, а сейчас-то где бред? Ну объясните, пожалуйста!
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.04.2006 (Вс) 15:51

Amed писал(а):GSerg, выражайся полегче, мне неприятно читать.

Количество со временем переходит в качество, и тогда я могу сорваться :neutral:


Роман-вб писал(а):Ну с VB6 понял, а сейчас-то где бред? Ну объясните, пожалуйста!


  • Человек задаёт вопрос.
  • Менее чем через полчаса тот же человек, найдя правильный ответ, постит его и закрывает для себя тему.
  • Через почти двое суток Роман-вб постит код на VB6 для решения той же задачи. Роман-вб в прошлой жизни уже несколько раз отличился тем, что постил код на VB .NET в темы по VB6 со словами "дык переходить надо!" (чем уже вызывал моё, как мне кажется, справедливое невольство), теперь же, видимо, решил соблюсти баланс и сделать наоборот.
  • Я данный бред (а это был именно он, простите ещё раз) тихо удаляю, как и обещал в ссылке выше.
  • Через некоторое время тот же код появляется вновь. На сей раз я был AFK и удалить не смог, поэтому появилось так же замечание Amed'а и перевод того же кода на vb .net апгрейд-визардом.
  • Прочитывая топик от самого начала, а также вспоминая былое и думая, я не выдерживаю, и говорю то, что думаю.


Так вот и спрашивается, Роман-вб, в чём смысл приведённого тобой кода и (что особенно любопытно) смысл его перевода на .net? Посмотри второй пост в этой теме. Сравни с тем, что ты написал и задай себе вопрос - а нафига я это, действительно, написал? Нафига, спроси себя, я написал этот код, который вообще никак не вяжется с платформой, для которой он "предназначен", и представляет собой образец на редкость неправильного использования этой самой платформы, которое ни в коем случае нельзя показыватть новичкам, чтобы не переняли ненароком?
Хотя, если бы ты написал это до появления правильного ответа (см. пост №2), это наверное не вызвало бы у меня такой реакции. Просто заметил бы, что не надо так делать на .net. Ну и напомнил бы о http://bbs.vbstreets.ru/viewtopic.php?p=6595089#6595089. Но подобная глупость через двое суток после http://bbs.vbstreets.ru/viewtopic.php?p=6596331#6596331 - простите, но не выдержал.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 09.04.2006 (Вс) 15:55

GSerg писал(а):Количество со временем переходит в качество, и тогда я могу сорваться :neutral:

Несомненно. Но терпи. Читать ото дня в день все неприятнее, тон плохой. Три и терпи, терпи и три :)

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 10.04.2006 (Пн) 8:45

Amed
Не наезжай, GSerg делает это интеллегентней(правильно слово написал?) всех, представляешь, что будет, если этим буду занимать я?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 10.04.2006 (Пн) 11:58

Sebas
Я представляю (приблезительно)...все будут сеп...ми :lol:

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: разрешение экрана

Сообщение Andrey Fedorov » 10.04.2006 (Пн) 13:36

Dmitriy Solomnikov писал(а):Как узнать разрешение экрана?


Код: Выделить всё
? Screen.Width / Screen.TwipsPerPixelX


Гы?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 10.04.2006 (Пн) 13:39

GSerg писал(а):Количество со временем переходит в качество, и тогда я могу сорваться :neutral:


Да ладно - просто не обращай внимания на такие вопросы. Их не победишь никак, кроме выделения отдельных веток для элиты. Просто оставь ответить другим... чайникам... :lol: В конце-концов им тоже надо учиться отвечать и посылать в поиск... :lol:
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 10.04.2006 (Пн) 13:44

Andrey Fedorov
Ты не в теме.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Visual Basic .NET

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList