在游戏窗口中间画一个矩形框,怎么实现?
在游戏窗口中间画一个矩形框,只有外框,中空。宽度为游戏窗口的1/3
高度为1/2 无法实现gdi 试试 给你个例子,自己看吧。 有注释。
#include <WindowsConstants.au3>
#include <WinAPI.au3>
ShowCross(@DesktopWidth / 2, @DesktopHeight / 2, 200, 20, 0xFF, 3000)
; 中心点的坐标X Y 线的长度/2线宽颜色 延迟时间
Func ShowCross($start_x, $start_y, $length, $width, $color, $time)
Local $hDC, $hPen, $obj_orig
$hDC = _WinAPI_GetWindowDC(0) ; 获取桌面的DC
$hPen = _WinAPI_CreatePen($PS_SOLID, $width, $color);创建画笔对象
$obj_orig = _WinAPI_SelectObject($hDC, $hPen);将对象选择到设备描述表中。
_WinAPI_DrawLine($hDC, $start_x - $length, $start_y - $length, $start_x + $length, $start_y - $length) ; 上面的那条线 从左到右
Sleep(1000);这个延迟在实际应用中不需要。我是为了让你看的更清楚,才加的
_WinAPI_DrawLine($hDC, $start_x - $length, $start_y + $length, $start_x + $length, $start_y + $length) ; 下面的那条线 从左到右
Sleep(1000);这个延迟在实际应用中不需要。我是为了让你看的更清楚,才加的
_WinAPI_DrawLine($hDC, $start_x - $length, $start_y - $length, $start_x - $length, $start_y + $length) ; 左面的那条线 从上到下
Sleep(1000);这个延迟在实际应用中不需要。我是为了让你看的更清楚,才加的
_WinAPI_DrawLine($hDC, $start_x + $length, $start_y - $length, $start_x + $length, $start_y + $length) ; 右面的那条线 从上到下
Sleep($time);延迟一段时间。
; 重画窗口。清除屏幕上的线条
_WinAPI_RedrawWindow(_WinAPI_GetDesktopWindow(), 0, 0, $RDW_INVALIDATE + $RDW_ALLCHILDREN)
; 清除资源
_WinAPI_SelectObject($hDC, $obj_orig)
_WinAPI_DeleteObject($hPen)
_WinAPI_ReleaseDC(0, $hDC)
EndFunc
按照3楼的代码,我对魔兽3窗口进行了绘图,可是对使用dx的游戏画面貌似不怎么好用哎,虽然也有画出来,但是一直闪烁,显示的也不完整
页:
[1]