Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Rozdzielczosc
napadlek
Ciapek



Typ: neutral
Postów: 117
Zarejestrowany: Feb 2003
Rozdzielczosc

Jak w VB mozna zmienic rozdzielczosc ekranu???
Aha, screen.width=... nie dzialaja.
Z gory dzieki za odpowiedz.


_____________________________________________
www.napadlek.prv.pl ruszyla od nowa zapraszam

04-09-2003 16:15
Pokaż profil napadlek  Wyślij email do napadlek   Odwiedź stronę napadlek       3392810
Chudy
[TLHW]Wiktor



Typ: moderator
Postów: 574
Zarejestrowany: Aug 2002

Najlepiej wklej poniższy kodzik do jakiegoś modółu:
Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean
Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwflags As Long) As Long
     
Const CCDEVICENAME = 32
Const CCFORMNAME = 32
Const DM_PELSWIDTH = &H80000
Const DM_PELSHEIGHT = &H100000
Dim DevM As DEVMODE
 
Public Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type

Private Type DEVMODE
    dmDeviceName As String * CCDEVICENAME
    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 * CCFORMNAME
    dmUnusedPadding As Integer
    dmBitsPerPel As Integer
    dmPelsWidth As Long
    dmPelsHeight As Long
    dmDisplayFlags As Long
    dmDisplayFrequency As Long
End Type
     
Public Function ChangeResolution(iWidth As Single, iHeight As Single)

Dim a As Boolean
Dim i&
i = 0
Do
    a = EnumDisplaySettings(0&, i&, DevM)
    i = i + 1
Loop Until (a = False)
Dim b&
DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
DevM.dmPelsWidth = iWidth
DevM.dmPelsHeight = iHeight
b = ChangeDisplaySettings(DevM, 0)

End Function

A potem już w bardzo prosty sposób możesz zmienić roździelczość nową funkcją. Np.:
ChangeResolution 800, 600


_____________________________________________
Projekt "Thunder Cannons" nadchodzi...

04-09-2003 17:14
Pokaż profil Chudy  Wyślij email do Chudy   Odwiedź stronę Chudy       1220895
Chudy
[TLHW]Wiktor



Typ: moderator
Postów: 574
Zarejestrowany: Aug 2002

Można to zrobić również za pomocą DirectX, sam mało jeszcze w nim umiem ale akurat tego się nauczyłem :



Dim mdx As New DirectX7
Dim mdd As DirectDraw7
Const SCREEN_WIDTH = 800 'Szerokość w roździelczości
Const SCREEN_HEIGHT = 600 'Wysokość w roździelczości
Const SCREEN_BITDEPTH = 16

Private Sub Form_Load()
Me.Show
Set mdd = mdx.DirectDrawCreate(""
mdd.SetCooperativeLevel Form1.hWnd, DDSCL_FULLSCREEN Or DDSCL_EXCLUSIVE
mdd.SetDisplayMode SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_BITDEPTH, 0, DDSDM_STANDARDVGAMODE

End Sub


_____________________________________________
Projekt "Thunder Cannons" nadchodzi...

04-09-2003 17:19
Pokaż profil Chudy  Wyślij email do Chudy   Odwiedź stronę Chudy       1220895
napadlek
Ciapek



Typ: neutral
Postów: 117
Zarejestrowany: Feb 2003
WOW Dzieki

No no, niezle , wielki brat jest pod wrazeniem. O to chodzilo.


_____________________________________________
www.napadlek.prv.pl ruszyla od nowa zapraszam

05-09-2003 14:57
Pokaż profil napadlek  Wyślij email do napadlek   Odwiedź stronę napadlek       3392810
Wszystkich odpowiedzi: 3 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1