CString strMsg; long nWidthPixel= GetSystemMetrics(SM_CXSCREEN); long nHeightPixel =GetSystemMetrics(SM_CYSCREEN); strMsg.Format("屏幕分辨率为:%d * %d",nWidthPixel, nHeightPixel); AfxMessageBox(strMsg);至于如何不受分辨率影响,有两种方法: 1。你修改屏幕分辨率为自己需要的分辨率,在退出程序以后再恢复成原来的。这在游戏中 经常使用,但是在桌面程序不赞成这样做,因为没有一个用户愿意程序把自己的桌面改得乱七八糟。2。修改自己的程序,是界面随分辨率不同有不同的样子。如果想动态的改变界面上的元件,那将比较麻烦,比如很多例子用来示例如何使界面元件随窗口缩放而改变相对位置和大小。你可以参考。哦,你是在VB论坛发的帖子啊! 那么声明一下了
Const SM_CYSCREEN = 1 Const SM_CXSCREEN = 0Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As LongPrivate Sub Command1_Click() Dim nX As Long Dim nY As Long nX = GetSystemMetrics(SM_CXSCREEN) nY = GetSystemMetrics(SM_CYSCREEN) MsgBox "分辨率为:" & nX & "*" & nY End Sub
最简单的得到屏幕分辨率的方法 Private Sub Form_Load() X = Screen.Width \ Screen.TwipsPerPixelX Y = Screen.Height \ Screen.TwipsPerPixelYMsgBox X & "/" & YEnd Sub
CString strMsg;
long nWidthPixel= GetSystemMetrics(SM_CXSCREEN);
long nHeightPixel =GetSystemMetrics(SM_CYSCREEN);
strMsg.Format("屏幕分辨率为:%d * %d",nWidthPixel, nHeightPixel);
AfxMessageBox(strMsg);至于如何不受分辨率影响,有两种方法:
1。你修改屏幕分辨率为自己需要的分辨率,在退出程序以后再恢复成原来的。这在游戏中 经常使用,但是在桌面程序不赞成这样做,因为没有一个用户愿意程序把自己的桌面改得乱七八糟。2。修改自己的程序,是界面随分辨率不同有不同的样子。如果想动态的改变界面上的元件,那将比较麻烦,比如很多例子用来示例如何使界面元件随窗口缩放而改变相对位置和大小。你可以参考。哦,你是在VB论坛发的帖子啊!
那么声明一下了
Const SM_CXSCREEN = 0Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As LongPrivate Sub Command1_Click()
Dim nX As Long
Dim nY As Long
nX = GetSystemMetrics(SM_CXSCREEN)
nY = GetSystemMetrics(SM_CYSCREEN)
MsgBox "分辨率为:" & nX & "*" & nY
End Sub
Private Sub Form_Load()
X = Screen.Width \ Screen.TwipsPerPixelX
Y = Screen.Height \ Screen.TwipsPerPixelYMsgBox X & "/" & YEnd Sub