阅读:1110回复:0
Help! 奇怪,请大虾们指点迷经(VB+mapx)
各位高手请赐教,运行后怎么不会出现结果,Why? 急待你们的解围!谢谢!!!
Declare Function MoveToEx Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, lpPoint As POINTAPI) As Long Declare Function LineTo Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long Declare Function SetMapMode Lib "gdi32" (ByVal hdc As Long, ByVal nMapMode As Long) As Long Type POINTAPI x As Long y As Long End Type Public Const MM_TWIPS = 6 Private Sub Map1_DrawUserLayer(ByVal Layer As Object, ByVal hOutputDC As stdole.OLE_HANDLE, ByVal hAttributeDC As stdole.OLE_HANDLE, ByVal RectFull As Object, ByVal RectInvalid As Object) Dim lyr As Layer Set lyr = Map1.Layers.AddUserDrawLayer("My Layer", 4) Dim pt As POINTAPI SetMapMode hdc, MM_TWIPS Dim PX As Single Dim PY As Single X1 = -111.0542 Y1 = 45.0009 X2 = -104.0528 Y2 = 41.0018 If Map1.ClipLine(X1, Y1, X2, Y2) Then Map1.ConvertCoord PX, PY, X1, Y1, miMapToScreen MoveToEx hdc, PX, -PY, pt ' win api call Map1.ConvertCoord PX, PY, X2, Y2, miMapToScreen LineTo hdc, PX, -PY ' win api call End If End Sub <img src="images/post/smile/dvbbs/em09.gif" /><img src="images/post/smile/dvbbs/em09.gif" /> |
|