VB代码获得当前计算机屏幕的分辨率

上传人:公**** 文档编号:498195698 上传时间:2023-03-21 格式:DOC 页数:16 大小:38.50KB
返回 下载 相关 举报
VB代码获得当前计算机屏幕的分辨率_第1页
第1页 / 共16页
VB代码获得当前计算机屏幕的分辨率_第2页
第2页 / 共16页
VB代码获得当前计算机屏幕的分辨率_第3页
第3页 / 共16页
VB代码获得当前计算机屏幕的分辨率_第4页
第4页 / 共16页
VB代码获得当前计算机屏幕的分辨率_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《VB代码获得当前计算机屏幕的分辨率》由会员分享,可在线阅读,更多相关《VB代码获得当前计算机屏幕的分辨率(16页珍藏版)》请在金锄头文库上搜索。

1、一方面:如何获得目前计算机屏幕的辨别率?措施一:rivateCont SPIGETWORAREA= 48riat Declar Funci SystemPaameerIfo ib user2Aias ytemPaametersnfoA (ByVautio Long,BValuPaam As Lng, lpaamAsA,Byal fuWnIi s Lon) LongPbli peRECT t A Lon 矩形左上角的X坐标 Tps Long 矩形左上角的Y坐标 Righ o 矩形右下角的坐标 Bott s Lng 矩形右下角的Y坐标End TypePrivate Subommad0_Clk()

2、m lRetA LngDim piCT As EC Rt=SysPamtesInfo(SPI_GETORKARA, vbNll, apiREC,0)MsgBox apiRECT.Right & & aiRTBtomd Sub注意,上述得到的是可视屏幕的辨别率,如果任务栏可见,则任务栏的高度排除在外。根据获得的辨别率再循环所有的控件依次变化控件属性。措施二:* DEAAIONSECTION*tionExpiitType RECT 1 son 1 As Lon 2 A Loy2As LogEnd Type NOTE:Th folowing car staemns arecse seiiveDlre

3、 Functio etDeskoid ibUser32 () AsongDeclrFunn etindowRect Li Ue3 (Byal hWnd A Lg, rectanleAs ECT) AsLong* FUNCIO: GetScreenReslton() PROSE: Todetermine the ure sceeniz orresolun. RURN:he uren scn esolution. ypiclly neof thfllowng: 60 x 8 800 00024 x 76*Funcion GetcrenResolton () as rng Dm RsRECTmWnd

4、 ng Dim Rea A Lnghd=GtektopWinow() RetV= GetWdRect(hd, R) GtScreenResution = (Rx2- )& &(R.y - R.y1)En Functon然后:自动适应电脑显示屏多种辨别率2例例一、1. DecaeFcin GtDesktopWndo Lib USER32 () sLong 2. clarFuctn GetWindowRct LibSE32(ByVlWd s Log, ctangl As ECT) s on 3.4. 这个函数可以使你开发的程序适应多种辨别率,这是我见过的最完美的解决方案!强列推荐5. 如果你是在1

5、0768的辨别率下写的程序,就把下面那句改为 6. Cnt Dsignze124,如果是80*60分 7. 辨率下写的,就改为Const DsnS =800 8. 用法:把下面所有的代码放在一种模块里,在需要适应辨别率的窗体的ad事件里加入: 9. Call ForRe_Onpe(Me) 10. 11. ConsignSie = 02 12. Const Designize = 80013.14. Tye ECT 15. x AsLog 16. y1As Long 17. 2AsLog 18. 2 sog 19. Endyp 20.21. Priat frmAs For22. Privat c

6、rAs Contol 23. Prate pp As Prpery 24. Prvat rat As ul25. iveflSec 26. Privte As on 27. Priate WnHeihtALong 28. Priat hnd As og29. Priateret As Long30. Prat A Integer 31. PvaeR As CT 32. Privte SizeL As Long33. Prvate SizTAs Lg 34. Priate SizeW sLn 35. PrivaeSzeH A Long 36.37. - 38. ubFunion ForResiz

7、_npn(parFmA o,Optiona perSizeLAs L,poalSze ALong, Otinal eSizW s Long, Optoa prSizHAsLong) 39. Err RsumeNet 40. etfrm =parr 41. 窗口驾驶盘的获得 42. hn =GetDktpWinow() 43. 目前辨别率获得 44. t = GetindowRt(hWn,R) 45. 比例计算常例:目前800 开发1024 801024 = 0.7加倍 46. x = (x2 - R.x1) 47. rt= xDesinSie48. SizeL= 0: SzeT=: ize=

8、0: izH = 0 49. Nt IsEmpty(rSzeL) Tue hen50. SizeL = perSze * rt51. SizeT = peizeT * 52. iW= prSizeW * r 53. iz =perSie * rat 54. nd If55.56. 目前辨别率=开发辨别率如果终了 57. If DesigizThn Exit Function 58. Ifx esiSe he 59. 细小筹划时、控制部分表单的顺序60. Cal ChgeCtrl 61. Cal ChngeSec 62. Cl Chager63. El 64. 大掬取时、表单部分控制的顺序65.

9、 Call ChgeFr 66. CallhengSec67. Ca ChgeCtrl 68. EndIf69. 最后、表单的使清新70. m.Reresh 71. xt Fnction 72. EndFuntin 73. -74. Priat ub Chnge() 75. OEro Resm Nxt 76. For Each ct n rmCnols77. 选项卡修正,原著没有这段代码,后来有个朋友发现了这个UG,就是选项卡的位置会偏得很厉害 78. 因此就加了这段代码来修正79. 重要是To,Hight,Left,Widh这几种参数的值,根据实际状况合适调节就行了 80. If trl.o

10、ntrolyp 123 ctrl.otrolyp 124Then 81. or ah prp ctl.roprie 82. Select Casprp.nae 83. e Fonize, DataheetFntHiht84. pp.lue =Fix(rp.Va ra + 05) 85. Case FontWeig 86. prpaue =Fix(Vaue*rt)/ 100) * 10 87. Cas Top, Hei88. pp.Vlu = Fx(pp.Vue* at* .85) 89. pp.value =i(pp.vlue *rt) 90. CseLeft91. p.le = Fix(pp.Value * rat * 0.9) 92. se Width 93. p.aueFix(pp.Val *rt * 0.7)94. End Slct 95. ext 96. Ele 97. For EahprpI t.Proertes 98. 大小配备有关属性被发现们压缩 99. Selectas pr.name 100. Cae FotSize, ataetFontHeigh101. 一般计算如果行状况之下的 +0. 之类的话不需要是但、 102. 捆ZoMa措施

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号