forms

L

Liedson31

hi again....
i´ve already try this one but.....no replys...so here it is again:

i tried some things to make this works but the most close i got was this
one(Vasant gives me the code). But i have 2 questions for this one:
- it works perfectly in 1024x768!but if i change the screen resolution to
1280x768 the form shows in fullscreen but isn´t centered,it goes to the left
and the right is fill with the backcolor.i already have the form in the
StarupPosition = CenterScreen.Have i any way to put the form centered?

- the second one is more dificult(i suppose)...and if i change the
resolution to 800x600, the user can´t even see all the objects in the form..

can anyone help me please

thanks in advance
Miguel

the code i have:

Private Declare Function FindWindow& _
Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName$, ByVal lpWindowName$)

Private Declare Function SetWindowLong& _
Lib "user32" Alias "SetWindowLongA" _
(ByVal hWnd&, ByVal nIndex&, ByVal dwNewLong&)

Private Declare Function DrawMenuBar& _
Lib "user32" (ByVal hWnd&)

Private Const MF_BYPOSITION As Long = &H400

Private Declare Function GetSystemMenu Lib "user32" _
(ByVal hWnd As Long, ByVal bRevert As Long) As Long

Private Declare Function DeleteMenu Lib "user32" _
(ByVal hMenu As Long, ByVal nPosition As Long, _
ByVal wFlags As Long) As Long

Private Declare Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, ByVal lpWindowName _
As String) As Long


Application.DisplayFullScreen = True
With Application
Top = .Top
Height = .Height
Left = .Left
Width = .Width
End With

Dim hWnd As Long
hWnd = FindWindow(vbNullString, Me.Caption)
SetWindowLong hWnd, -16, &H84080080
DrawMenuBar hWnd

Dim lHandle As Long, lCount As Long
On Error Resume Next
lHandle = FindWindowA(vbNullString, Me.Caption)
If lHandle <> 0 Then
For lCount = 1 To 6
DeleteMenu GetSystemMenu(lHandle, False), 0, MF_BYPOSITION
Next lCount
End If
 
H

Harald Staff

Hi Miguel



To the 800-600 question: You must either compact your information to fit in
800-600 (use tabstrips, multipages, whatever), or write code that
resize/reposition everything to fit into the user's full screen. But why not
use a 800-600 form in all screen resolutions ? What you are doing is
hijacking the user's computer screen, no matter how big it is, you hide the
other things I am working on. There is a reason to have a high screen
resolution; to see many things at the same time. I would probably
ctrl-alt-delete your application away if you displayed a 1280-768 form
containing 800-600 worth of information. So don't do this -my 0.02 only.

HTH. Best wishes Harald
 
L

Liedson31

Thanks Harald....
Lets say..i change the form to 800x600, once you run in your computer
imagine you have 1024x768 resolution how can i display the form in fullscreen
and centered?

In my work most of the people who gona use this application have 1024*768
resolution,but now they are changing the monitors and many of them change it
to 1280*768 so the only thing i need to do is center the form,i already
display it in fullscreen but the form goes to the left of the screen.....

cheers
Miguel
 
H

Harald Staff

Liedson31 said:
Thanks Harald....
Lets say..i change the form to 800x600, once you run in your computer
imagine you have 1024x768 resolution how can i display the form in fullscreen
and centered?

You don't get my point. I'll try again:
Why would you want to do that ? And why should us users tolerate it
happening ? Your application is about to liberate humainty at my click of a
CommandButton1, or what else extremely top priority ?

HTH. Best wishes Harald
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top