水木子
发表于 2017-7-21 17:20:39
回复 135# chzj589
您儿子应该都比我岁数大吧!我滴天啦!等等,让我缓一缓脑子。
我印象中的大爷不应该是这样的啊!您心态很年轻啊!
不好意思啊!语无伦次了,如果有冒犯的地方,还请多多包含啊!
chzj589
发表于 2017-7-21 17:25:11
本帖最后由 chzj589 于 2017-7-21 17:27 编辑
回复 136# 水木子
kk_lee69他就知道我的年纪
不客气,这两年来,头脑不好使了,代码看久了头会痛。
写代码熬夜时最有灵感,现在不行了。
一年不如一年
haijie1223
发表于 2017-7-21 17:27:37
回复 135# chzj589
又是一名老司机 :face (24):大哥,活生生一本励志书籍。。。
chzj589
发表于 2017-7-21 17:31:24
回复 138# haijie1223
谢谢!在今天我进入了金牌会员之时,
能有这几位前辈对我的恳定,我心里非常高兴。
再次谢谢!
yamakawa
发表于 2017-7-21 17:31:38
{:face (356):}大叔好兴致。。。真好
joint
发表于 2017-7-21 17:32:36
回复水木子
六十有二了
chzj589 发表于 2017-7-21 17:17 http://www.autoitx.com/images/common/back.gif
这太意外了,前面得罪了,非常非常抱歉啊,请多包涵。
chzj589
发表于 2017-7-21 17:43:27
本帖最后由 chzj589 于 2017-7-21 17:44 编辑
回复 141# joint
从来就没有关系,还是引用一句话:
“与你半毛钱关系都没有的 一点屁事你是不是要惦记一辈子啊?”
“关键是:要是没有其他人的代码,目前在这件事情上你可能和我差不多,都还处在一个迷茫状态中。”
水木子
发表于 2017-7-22 13:15:43
本帖最后由 水木子 于 2017-7-22 21:24 编辑
抽空改了一下,现在柱状图项目可以同时包含正值和负值堆叠。
#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $iLineleft = 50, $iLineTop = 300, $iLineWidth = 770, $iLineHeight = 560
Global $iItemWidth = 25, $iItemHeight
Global $iX = 15
Global $aItem = ['50,80,-140', '70,80,100', '90,-40,-80', '130,50,70', '120,-50,70,-80', '150', '-130,80', '90,70,-80,70', '-150,80,80', '120,30,40']
Global $aItemID
GUICreate('', 800, 600)
$Graphic1 = GUICtrlCreateGraphic(10, 10, 780, 580, 0x00800000)
GUICtrlSetGraphic(-1, $GUI_GR_MOVE, $iLineleft, 20)
GUICtrlSetGraphic(-1, $GUI_GR_LINE, $iLineleft, $iLineHeight)
GUICtrlSetGraphic(-1, $GUI_GR_MOVE, $iLineleft, $iLineTop)
GUICtrlSetGraphic(-1, $GUI_GR_LINE, $iLineWidth, $iLineTop)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetState(-1, 128)
For $i = 0 To 10
GUICtrlCreateLabel(($i - 5) * 50 & '-', 20, (550 - $i * 50), 40, 20, 0x0002 + 0x0200)
GUICtrlSetFont(-1, 12, 400)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Next
For $i = 0 To UBound($aItem) - 1
$aValue = StringSplit($aItem[$i], ',', 2)
Local $iItemTop1
Local $iItemTop2 = $iLineTop + 10
Local $iItemTop3 = $iLineTop + 10 + 1
Local $iItemTop4 = ''
For $z = 0 To UBound($aValue) - 1
ReDim $aItemID
$iItemHeight = Abs($aValue[$z])
If $aValue[$z] > 0 Then
$iItemTop2 -= $iItemHeight
$iItemTop1 = $iItemTop2
Else
If $iItemTop4 == '' Then
$iItemTop1 = $iItemTop3
Else
$iItemTop3 += Abs($aValue[$iItemTop4])
$iItemTop1 = $iItemTop3
EndIf
$iItemTop4 = $z
EndIf
$aItemID = GUICtrlCreateLabel('', 100 + ($i * ($iItemWidth + $iX)), $iItemTop1, $iItemWidth, $iItemHeight, 0x01 + 0x0200)
GUICtrlSetBkColor(-1, '0x' & Hex(Random(0, 255, 1), 2) & Hex(Random(0, 255, 1), 2) & Hex(Random(0, 255, 1), 2))
Next
Next
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
Case $aItemID To $aItemID
MsgBox(0, 0, $nMsg - $aItemID + 1)
EndSwitch
WEnd
lxwlxwayy
发表于 2017-7-30 14:00:57
好热闹,$aItemID
chzj589
发表于 2017-8-4 22:15:47
回复 143# 水木子
木子,143楼代码里的:
Case $aItemID To $aItemID
MsgBox(0, 0, $nMsg - $aItemID + 1)
这是获取色块的ID,色块是长与宽的数据,能获取色块长的数据吗?
yamakawa
发表于 2017-8-4 23:19:40
回复 145# chzj589
首先 添加一个全局变量Global $aPos然后 Case $aItemID To $aItemID
$aPos = WinGetPos(GUICtrlGetHandle($nMsg)); - $aItemID + 1))
If IsArray($aPos) Then ConsoleWrite("X-Pos: " & $aPos & @CRLF & "Y-Pos: " & $aPos & @CRLF & "Width: " & $aPos & @CRLF & "Height: " & $aPos & @CRLF)
MsgBox(0, 0, $nMsg - $aItemID + 1)
ConsoleWrite("=====================" & @CRLF)
yamakawa
发表于 2017-8-4 23:29:14
回复 145# chzj589
不好意思没必要全局变量 local$aPos
chzj589
发表于 2017-8-5 08:56:42
本帖最后由 chzj589 于 2017-8-5 09:29 编辑
回复 146# yamakawa
谢谢!通过。
这是在循环模式,我要改为事件模式,捉摸了半天,没头緒
$aPos = WinGetPos(GUICtrlGetHandle($nMsg))
$nMsg 这个如何改?
yamakawa
发表于 2017-8-5 09:33:17
回复 148# chzj589
一样啊
演示code#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 615, 437, 192, 124)
GUISetOnEvent(-3,"_exit")
GUICtrlCreateButton("OK", 5, 5, 60,80)
GUICtrlSetOnEvent(-1,"test")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Do
Until GUIGetMsg() = -3
Func _exit()
Exit
EndFunc
Func test()
Local $aPos = WinGetPos(@GUI_CtrlHandle)
MsgBox(0,"","X-Pos: " & $aPos & @CRLF & "Y-Pos: " & $aPos & @CRLF & "Width: " & $aPos & @CRLF & "Height: " & $aPos & @CRLF)
EndFunc
chzj589
发表于 2017-8-5 09:52:54
回复 149# yamakawa
这句:$aPos = WinGetPos(GUICtrlGetHandle($nMsg))
改为:$aPos = WinGetPos(@GUI_CtrlHandle)
通过。谢谢!
页:
1
2
3
4
5
6
7
8
9
[10]
11