第十八讲 GDI+窗口自绘无控件
窗口的自绘比较难,先上一个自绘窗口,不支持放控件,后续增加放控件详细说明等以后有空再添加,先放上源码,好久没添加内容了,也在测试中
感谢Ycxw2008 发布的源码,这里用到了你的画关闭按钮和最小化按钮的方法
#include <DirUIGui.au3>
_GDIPlus_Startup()
$hDirUIGui = _DirUIGui_CreatWin("第十八讲GDI+窗口自绘无控件", 400, 300, -1, -1, 0)
_DirUIGui_SetWinSkin($hDirUIGui, "back.jpg")
;~ $hDirUIGui2 = _DirUIGui_CreatWin("AAAAAA", 300, 200, 1, 1, $hDirUIGui)
Const $tagMSG1 = "hwnd hWnd;uint message;wparam wParam;lparam lParam;dword time;long x;long y"
; #### message loop ####
; =====================================================
Local $tMsg = DllStructCreate($tagMSG1)
Local $pMsg = DllStructGetPtr($tMsg)
While _IsWindow($hDirUIGui)
If _GetMessage($pMsg, 0, 0, 0) < 1 Then
ExitLoop
EndIf
$sMsg = DllStructCreate($tagMSG1, $pMsg)
;鼠标左键释放,改变窗口颜色
If DllStructGetData($sMsg, "message") = $WM_LBUTTONUP Then
$r = Random(0, 255)
$g = Random(0, 255)
$b = Random(0, 255)
$color = BitOR(0xFF000000, _;Alpha
BitShift($r, -16), _;Red
BitShift($g, -8), _;Green
$b);Blue
_DirUIGui_SetWinSkin($hDirUIGui, $color)
EndIf
_TranslateMessage($pMsg)
_DispatchMessage($pMsg)
WEnd
DllCallbackFree($__DirUIGui_hProc)
_GDIPlus_Shutdown()
DirUIGui.au3部分隐藏,回复下载保存吧
**** Hidden Message ***** 来学习学习 好东西,好好学习下。 回复 1# seniors
千辛万苦 终于等到这一篇里 哈哈哈{:face (355):} 先谢楼主提供 谢谢分享,先收藏 谢谢提供的教程,希望以后写完了能整理成一个完整的教程 学习下。。 回复 1# seniors
先做伸手党,拿来主义。 学到18讲啦,一半都没记牢。一定逮多写才行。 感谢分享,学习了。 好东西要学习一下。。 好戏开始了 支持 学习看看。{:face (239):} S大真的是很有毅力啊,应经出了18讲了,太这得我们学习了!