Страница: 1 |
Страница: 1 |
Вопрос: Рабочая область рабочего стола
Добавлено: 13.05.07 22:43
Автор вопроса: Sef
Везде есть Api, как сменить расширение экрана. Но при её использовании рабочая область не меняется. К примеру при переходе с 1152*864 на 800*600 все иконки, которые были внизу, там и остались и их не видно. Как поменять эту область?
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
Gogic
Вопросов: 38
Ответов: 121
Профиль | | #1
Добавлено: 13.05.07 23:45
Привязать иконки к окну рабочего стола в относительных координатах и при смене разрешения таскать за собой, подобно тому, как описываются перемещения элементов на форме при событии Resize.
Номер ответа: 2
Автор ответа:
intel-DX
ICQ: 445091742
Вопросов: 4
Ответов: 169
Профиль | | #2
Добавлено: 14.05.07 00:18
Private Declare Function ChangeDisplaySettings Lib "user32.dll" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwFlags As Long) As Long
Private Declare Function EnumDisplaySettings Lib "user32.dll" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As String, ByVal iModeNum As Long, lpDevMode As DEVMODE) As Long
Const DM_BITSPERPEL = &H40000
Const DM_PELSWIDTH = &H80000
Const DM_PELSHEIGHT = &H100000
Const CCHDEVICENAME = 32
Const CCHFORMNAME = 32
Private Type DEVMODE
dmDeviceName As String * CCHDEVICENAME
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * CCHFORMNAME
dmUnusedPadding As Integer
dmBitsPerPel As Integer
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type
Public BackVal As Long
Private Sub Command1_Click()
Dim MyDevMode As DEVMODE
MyDevMode.dmSize = Len(MyDevMode)
BackVal = EnumDisplaySettings(vbNullString, ENUM_CURRENT_SETTINGS, MyDevMode)
MyDevMode.dmPelsWidth = 800
MyDevMode.dmPelsHeight = 600
BackVal = ChangeDisplaySettings(MyDevMode, CDS_TEST)
End Sub
Номер ответа: 3
Автор ответа:
Sef
Вопросов: 3
Ответов: 6
Профиль | | #3
Добавлено: 18.05.07 18:37
Спасибо intel-DX