NDog Posted January 22, 2012 Share Posted January 22, 2012 GUICtrlCreateGraphic and GUICtrlSetGraphic allow me to create a circle, change it to whatever color I like without using an external file. I also however want a tip to appear when I hover the mouse over it as well, eg if it was red it would say red: file not found, or if green: file found etc. This is what I would like to work, however it doesn't work #include <GUIConstants.au3> #include <GUIConstantsEx.au3> Opt("GUIOnEventMode", 1) $fmSNIP = GUICreate("Graphic Test", 790, 570, -1) $picStatus = GUICtrlCreateGraphic(434, 549, 10, 10) GUICtrlSetGraphic($picStatus,$GUI_GR_COLOR, 0x00FF00,0x00FF00) ;Green GUICtrlSetGraphic($picStatus,$GUI_GR_ELLIPSE, 1,1, 8,8) GUICtrlSetGraphic($picStatus,$GUI_GR_REFRESH) GUICtrlSetTip(-1, "Green: Driver Exists") GUISetState(@SW_SHOW) GUISetOnEvent($GUI_EVENT_CLOSE, "FormClose") ; When the big X is clicked While 1 ;On event mode GUI Sleep(100) WEnd Func FormClose() Exit EndFunc This is another way I have tried to use a label to get around it, however if you directly however over the graphic the tooltip does not appear. #include <GUIConstants.au3> #include <GUIConstantsEx.au3> Opt("GUIOnEventMode", 1) $fmSNIP = GUICreate("Graphic Test", 790, 570, -1) $picStatus = GUICtrlCreateGraphic(434, 549, 10, 10) $lbStatusLight = GUICtrlCreateLabel("", 425, 545, 220, 25) GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT) GUISetState(@SW_SHOW) GUISetOnEvent($GUI_EVENT_CLOSE, "FormClose") ; When the big X is clicked Status() While 1 ;On event mode GUI Sleep(100) WEnd Func FormClose() Exit EndFunc Func Status() $filepath = "c:\windows" If FileExists($filepath) Then GUICtrlSetGraphic($picStatus,$GUI_GR_COLOR, 0x00FF00,0x00FF00) ;Green GUICtrlSetGraphic($picStatus,$GUI_GR_ELLIPSE, 1,1, 8,8) GUICtrlSetGraphic($picStatus,$GUI_GR_REFRESH) GUICtrlSetTip($lbStatusLight, "Green: Files exist") ElseIf Not FileExists($filepath) Then GUICtrlSetGraphic($picStatus,$GUI_GR_COLOR, 0xFF0000,0xFF0000) ;Red GUICtrlSetGraphic($picStatus,$GUI_GR_ELLIPSE, 1,1, 8,8) GUICtrlSetGraphic($picStatus,$GUI_GR_REFRESH) GUICtrlSetTip($lbStatusLight, "Red: Files do not exist") EndIf EndFunc I hope someone can help me Thanks Link to comment Share on other sites More sharing options...
funkey Posted January 22, 2012 Share Posted January 22, 2012 Create the label before the graphic #include <GUIConstants.au3> #include <GUIConstantsEx.au3> Opt("GUIOnEventMode", 1) $fmSNIP = GUICreate("Graphic Test", 790, 570, -1) $lbStatusLight = GUICtrlCreateLabel("", 425, 545, 220, 25) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) $picStatus = GUICtrlCreateGraphic(434, 549, 10, 10) GUISetState(@SW_SHOW) GUISetOnEvent($GUI_EVENT_CLOSE, "FormClose") ; When the big X is clicked Status() While 1 ;On event mode GUI Sleep(100) WEnd Func FormClose() Exit EndFunc ;==>FormClose Func Status() $filepath = "c:windows" If FileExists($filepath) Then GUICtrlSetGraphic($picStatus, $GUI_GR_COLOR, 0x00FF00, 0x00FF00) ;Green GUICtrlSetGraphic($picStatus, $GUI_GR_ELLIPSE, 1, 1, 8, 8) GUICtrlSetGraphic($picStatus, $GUI_GR_REFRESH) GUICtrlSetTip($lbStatusLight, "Green: Files exist") ElseIf Not FileExists($filepath) Then GUICtrlSetGraphic($picStatus, $GUI_GR_COLOR, 0xFF0000, 0xFF0000) ;Red GUICtrlSetGraphic($picStatus, $GUI_GR_ELLIPSE, 1, 1, 8, 8) GUICtrlSetGraphic($picStatus, $GUI_GR_REFRESH) GUICtrlSetTip($lbStatusLight, "Red: Files do not exist") EndIf EndFunc ;==>Status Programming today is a race between software engineers striving tobuild bigger and better idiot-proof programs, and the Universetrying to produce bigger and better idiots.So far, the Universe is winning. Link to comment Share on other sites More sharing options...
lark Posted January 23, 2012 Share Posted January 23, 2012 Or you could do something like: #include <GUIConstants.au3> #include <GUIConstantsEx.au3> Opt("GUIOnEventMode", 1) $fmSNIP = GUICreate("Graphic Test", 790, 570, -1) $picStatus = GUICtrlCreateGraphic(434, 549, 10, 10) GUICtrlSetGraphic($picStatus,$GUI_GR_COLOR, 0x00FF00,0x00FF00) ;Green GUICtrlSetGraphic($picStatus,$GUI_GR_ELLIPSE, 1,1, 8,8) GUICtrlSetGraphic($picStatus,$GUI_GR_REFRESH) GUISetState(@SW_SHOW) GUISetOnEvent($GUI_EVENT_CLOSE, "FormClose") ; When the big X is clicked While 1 ;On event mode GUI $pos = GUIGetCursorInfo($fmSNIP) While ($pos[0] >= 434 And $pos[0] <= 444) And ($pos[1] >= 549 And $pos[1] <= 559) $newPos = GUIGetCursorInfo() If $newPos[0] <> $pos[0] Or $newPos[1] <> $pos[1] Then ToolTip("Green: Driver Exists") $pos[0] = $newPos[0] $pos[1] = $newPos[1] EndIf Sleep(50) WEnd ToolTip("") Sleep(50) WEnd Func FormClose() Exit EndFunc Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now