Jump to content
Sign in to follow this  
JonBMN

Getting needle to move with $MPH value

Recommended Posts

JonBMN

I've created a basic speedometer to read the time and date in real time, also created a program to read the MPH from the GPS calls to knots then deciphered it. I am pretty much stuck at this point trying to make the speedometer needle read the value of the MPH and show it accordingly by moving. Still new to GUI but its a learning experience for me.

here is the needle code: GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xpos + 45, $ypos + 45)

here is the full GUI source code

SOLUTION POSTED AT BOTTOM

the question is how do I get the needle to move with the #MPH values and come forward in the gui window.

here is the included GPStest.au3

AutoItWinSetTitle("ArchangelProgram")
AutoItSetOption("MouseCoordMode", 1) ;1=absolute, 0=relative, 2=client
AutoItSetOption("MustDeclareVars", 1)
#include-once
#include
Opt("TrayMenuMode", 1)

HotKeySet("{ESC}", "Quit")

$Debug = False
Global $CommPort = "COM6", $Baudrate = 4800, $Received, $GPSHeader, $Dim, $Struct, $Const
Global $IniLongitude, $IniLatitude, $IniTime, $CurLongitude, $CurLatitude, $Longitude, $Latitude, $TimeElapsed, $I, $GetIniTime = True
Global $GetInitial = True, $Knots, $Miles, $Begin, $Dif, $Miles, $Hours, $MPH, $Time
$HerbieError = True

Func Quit()
If $SerialPortHandle <> -1 Then
_CommClose()
EndIf
Exit
EndFunc

Func DecodeKnots()
$MPH = Round($Knots * 1.15077)
;ConsoleWrite("My current speed is: " & $MPH & " MPH" & @CR)
EndFunc

Func DecodeGPGSA()
Local $AMode, $2Mode, $blank1, $blank2, $blank3, $blank4, $blank5, $blank6, $blank7, $blank8, $blank9, $blank10, $blank11, $blank12, $PDOP, $HDOP, $VDOP
$AMode = Parse()
$2Mode = Parse()
$blank1 = Parse()
$blank2 = Parse()
$blank3 = Parse()
$blank4 = Parse()
$blank5 = Parse()
$blank6 = Parse()
$blank7 = Parse()
$blank8 = Parse()
$blank9 = Parse()
$blank10 = Parse()
$blank11 = Parse()
$blank12 = Parse()
$PDOP = Parse()
$HDOP = Parse()
$VDOP = Parse()
;ConsoleWrite($AMode & $2Mode & $blank1 & $blank2 & $blank3 & $blank4 & $blank5 & $blank6 & $blank7 & $blank8 & $blank9 & $blank10 & $blank11 & $blank12 & $PDOP & $HDOP & $VDOP & @CR)
EndFunc

Func DecodeGPRMC()
Local $TimeStamp, $Validity, $LatitudeRMC, $NorS, $LongitudeRMC, $WorE, $TrueCourse, $DateStamp, $Variation, $EorW, $Checksum
$TimeStamp = Parse()
$Validity = Parse()
$LatitudeRMC = Parse()
$NorS = Parse()
$LongitudeRMC = Parse()
$WorE = Parse()
$Knots = Parse()
$TrueCourse = Parse()
$DateStamp = Parse()
$Variation = Parse()
$EorW = Parse()
$Checksum = Parse()
;ConsoleWrite($TimeStamp & $Validity & $Latitude & $NorS & $Longitude & $WorE & $Knots & $TrueCourse & $DateStamp & $Variation & $EorW & $Checksum & @CR)
EndFunc

Func DecodeGPGGA()
Local $UTCposition, $NorS, $EorW, $QualityIndicator, $SatellitesInUse, $SeaLevel, $HorizontalDilution, $Meters, $GeoidalSeparation, $MetersSep, $SecLastUpdate, $StationIDchecksum
$UTCposition = Parse()
$Latitude = Parse()
$NorS = Parse()
$Longitude = Parse()
$EorW = Parse()
$QualityIndicator = Parse()
$SatellitesInUse = Parse()
$HorizontalDilution = Parse()
$SeaLevel = Parse()
$Meters = Parse()
$GeoidalSeparation = Parse()
$MetersSep = Parse()
$SecLastUpdate = Parse()
$StationIDchecksum = Parse()
;ConsoleWrite($UTCposition & $Latitude & $NorS & $Longitude & $EorW & $QualityIndicator & $SatellitesInUse & $HorizontalDilution & $SeaLevel & $Meters & $GeoidalSeparation & $MetersSep & $SecLastUpdate & $StationIDchecksum & @CR)
;ConsoleWrite($SeaLevel & @CR)
EndFunc

Func DecodeGPGSV()
Local $MessagesCycle, $MessageNumber, $TotalSVs, $SVprn, $ElevationDegrees, $TrueNorth, $SNR, $SecondSV1, $SecondSV2, $SecondSV3, $SecondSV4, $ThirdSV1, $ThirdSV2, $ThirdSV3, $ThirdSV4, $FourthSV1, $FourthSV2, $FourthSV3, $FourthSV4
$MessagesCycle = Parse()
$MessageNumber = Parse()
$TotalSVs = Parse()
$SVprn = Parse()
$ElevationDegrees = Parse()
$TrueNorth = Parse()
$SNR = Parse()
$SecondSV1 = Parse()
$SecondSV2 = Parse()
$SecondSV3 = Parse()
$SecondSV4 = Parse()
$ThirdSV1 = Parse()
$ThirdSV2 = Parse()
$ThirdSV3 = Parse()
$ThirdSV4 = Parse()
$FourthSV1 = Parse()
$FourthSV2 = Parse()
$FourthSV3 = Parse()
$FourthSV4 = Parse()
;ConsoleWrite($MessagesCycle & $MessageNumber & $TotalSVs & $SVprn & $ElevationDegrees & $TrueNorth & $SNR & $SecondSV1 & $SecondSV2 & $SecondSV3 & $SecondSV4 & $ThirdSV1 & $ThirdSV2 & $ThirdSV3 & $ThirdSV4 & $FourthSV1 & $FourthSV2 & $FourthSV3 & $FourthSV4 & @CR)
EndFunc

Func Parse()
Local $CommaPos, $Result
$Result = ""
$CommaPos = StringInStr($Received, ",")
If $CommaPos == 0 Then
Return $Result
EndIf
$Result = StringLeft($Received, $CommaPos - 1)
$Received = StringRight($Received, StringLen($Received) - $CommaPos)
Return $Result
EndFunc

here is my gui code:

#include <INet.au3>
#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
#Include <WinAPI.au3>
#include <StaticConstants.au3>
#include <GPStest.au3>


Opt("GUIOnEventMode", 1)

Global $label_speed = $MPH, $meter = 0, $dir = 0, $radius = 40, $okbutton, $hGUI, $label_date, $label_time, $xsp, $ysp, $xep, $yep, $xpos, $ypos
; stuff to generate data goes here, but isn't included
Global $date = @MON & "/" & @MDAY & "/" & @YEAR , $time = @HOUR & ":" & @MIN, $speed = $MPH , $pi = 3.14159, $font = "Arial"

; Create GUI & label controls
$hGUI = GUICreate("Speedometer", 100, 120, -1, -1, $WS_CAPTION, $WS_EX_TOOLWINDOW); BitOr($WS_EX_COMPOSITED,$WS_EX_TOOLWINDOW))
;msgbox(0, "", $hGUI)
$label_date = GUICtrlCreateLabel("", 10, 0, 80, 14, $SS_Center)
$label_time = GUICtrlCreateLabel("", 10, 15, 80, 14, $SS_Center)
$label_speed = GUICtrlCreateLabel($MPH, 35, 67, 30, 16, $SS_Right)
GUIRegisterMsg($WM_PAINT, "RePaint")
GUISetOnEvent($GUI_EVENT_RESTORE, "RePaint")
GUISetOnEvent($GUI_EVENT_CLOSE, "Finish")
GUISetState()
Paint()

While 1
If $HerbieError = True Then
InitializeCommunications()
EndIf
$Received = _CommReceiveString(100, 5000, @CR)
$GPSHeader = Parse()
if $GPSHeader == "$GPGSA" Then
DecodeGPGSA()
EndIf
if $GPSHeader == "$GPRMC" Then
DecodeGPRMC()
DecodeKnots()
$date = @MON & "/" & @MDAY & "/" & @YEAR
$time = @HOUR & ":" & @MIN
GUICtrlSetData($label_date, $date)
GUICtrlSetData($label_time, $time)
GUICtrlSetData($label_speed, $MPH)
;ConsoleWrite("My current speed is: " & $MPH & " MPH" & @CR)
;sleep(1500)
EndIf
if $GPSHeader == "$GPGGA" Then
DecodeGPGGA()
IF $GetInitial == True Then
$IniLongitude = $Longitude
$IniLatitude = $Latitude
$IniTime = TimerInit()
$GetInitial = False
Else
$CurLongitude = $Longitude
$CurLatitude = $Latitude
$TimeElapsed = TimerDiff($IniTime)
$IniLongitude = $CurLongitude
$IniLatitude = $CurLatitude
$IniTime = TimerInit()
EndIf
EndIf
if $GPSHeader == "GPGSV" Then
DecodeGPGSV()
EndIf

WEnd


Func RePaint()

GUICtrlSetGraphic($meter, $GUI_GR_PENSIZE, 2)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0x888888)
GUICtrlSetGraphic($meter, $GUI_GR_ELLIPSE, 5, 5, 80, 80)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0xcccccc)

; tick marks on dial
For $index = 0 To 16
$xsp = $radius * Sin($pi * $index / 8)
$ysp = -1 * $radius * Cos($pi * $index / 8)
$xep = 1.15 * $radius * Sin($pi * $index / 8)
$yep = -1.15 * $radius * Cos($pi * $index / 8)
GUICtrlSetGraphic($meter, $GUI_GR_MOVE, $xsp + 45, $ysp + 45)
GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xep + 45, $yep + 45)
Next
$xpos = 35 * Sin($pi * $dir / 180)
$ypos = -35 * Cos($pi * $dir / 180)
GUICtrlSetGraphic($meter, $GUI_GR_MOVE, 45, 45)
GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xpos + 45, $ypos + 45)

GUICtrlSetData($label_date, $date)
GUICtrlSetData($label_time, $time)
If $label_speed <> 0 Then GUICtrlSetFont($label_speed, 10, 800)
GUICtrlSetData($label_speed, $MPH)

EndFunc ;==>RePaint

Func Paint()

$dir += 2

; delete control if it exists

If $meter <> 0 Then
GUICtrlDelete($meter)
$meter = 0
EndIf

$meter = GUICtrlCreateGraphic(5, 30, 90, 90)
repaint()


EndFunc ;==>Paint

Func Finish()
Exit
EndFunc ;==>Finish

EDIT: To clear everything up, so you don't have to look through and see everyones comments and not understand whats going on, I had posted my GUI code and left out the GPStest.au3 which is included to run the GUI, which I didn't think people needed to know, as all I wanted help with was making it so the needle on the speedometer was the forward most object. Thats it. After being attacked and doing a little ranting myself; I came to the conclusion to delete my posts and start anew with all code included and to try and lower the chance of more attacks on my code and me. Melba23 was kind enough to intervene and help the topic at hand; I am not saying I am without mistake, as I should have been a little more tough, but this is a learning process and I apoligize to anyone who felt like they were put down by me, I meant no harm I just wanted to get a straight answer. I hope this clears everything up and we can be done arguing and stick to the greatness that is autoit. Thank you.

Edited by JonBMN

Share this post


Link to post
Share on other sites
martin

This looks very similar to your other thread about displaying MPH, although in that one you posted "solved". before you opened this thread.

The code you posted cannot be run by us. It would appear that the code was written by someone who had made very little attempt to think about what was happening, and even less thought about how someone wanting to help copuld use it.

Here is your code with rubbish deleted as far as being able to use it is concerned, and otherwise small changes made so that something happens.

#include <INet.au3>
#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <StaticConstants.au3>
;#include <GPStest.au3>


Opt("GUIOnEventMode", 1)

Global $label_speed = 0, $meter = 0, $dir = 0, $radius = 40, $okbutton, $hGUI, $label_date, $label_time, $xsp, $ysp, $xep, $yep, $xpos, $ypos
Global $pi = 3.14159, $font = "Arial"


#include <INet.au3>
#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <StaticConstants.au3>
;#include <GPStest.au3> what the hell is this?


Opt("GUIOnEventMode", 1)

Global $label_speed = 0, $meter = 0, $dir = 0, $radius = 40, $okbutton, $hGUI, $label_date, $label_time, $xsp, $ysp, $xep, $yep, $xpos, $ypos
Global $pi = 3.14159, $font = "Arial"

; Create GUI & label controls
$hGUI = GUICreate("Speedometer", 100, 120, -1, -1, BitOr($Gui_SS_DEFAULT_GUI,$WS_CAPTION), $WS_EX_TOOLWINDOW); BitOr($WS_EX_COMPOSITED,$WS_EX_TOOLWINDOW))
;$label_date = GUICtrlCreateLabel("", 10, 0, 80, 14, $SS_Center)
;$label_time = GUICtrlCreateLabel("", 10, 15, 80, 14, $SS_Center)
GUIRegisterMsg($WM_PAINT, "RePaint")
GUISetOnEvent($GUI_EVENT_RESTORE, "RePaint")
GUISetOnEvent($GUI_EVENT_CLOSE, "Finish")
GUISetState()
Paint()

While 1
paint()
sleep(1000)
WEnd


Func RePaint()

GUICtrlSetGraphic($meter, $GUI_GR_PENSIZE, 2)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0x888888)
GUICtrlSetGraphic($meter, $GUI_GR_ELLIPSE, 5, 5, 80, 80)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0xcccccc)

; tick marks on dial
For $index = 0 To 16
     $xsp = $radius * Sin($pi * $index / 8)
     $ysp = -1 * $radius * Cos($pi * $index / 8)
     $xep = 1.15 * $radius * Sin($pi * $index / 8)
     $yep = -1.15 * $radius * Cos($pi * $index / 8)
     GUICtrlSetGraphic($meter, $GUI_GR_MOVE, $xsp + 45, $ysp + 45)
     GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xep + 45, $yep + 45)
Next
$xpos = 35 * Sin($pi * $dir / 180)
$ypos = -35 * Cos($pi * $dir / 180)
GUICtrlSetGraphic($meter, $GUI_GR_MOVE, 45, 45)
GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xpos + 45, $ypos + 45)



EndFunc ;==>RePaint

Func Paint()

$dir += 2

; delete control if it exists

If $meter <> 0 Then
     GUICtrlDelete($meter)
     $meter = 0
EndIf

$meter = GUICtrlCreateGraphic(5, 30, 90, 90)
repaint()


EndFunc ;==>Paint

Func Finish()
Exit
EndFunc ;==>Finish

I think a good way to draw graphics which show something moving, and which need to be automatically redrawn is to do this

Draw the background on bitmap1, eg the meter, keep this and don't change it..

Whenever you want to refresh the graphic copy the bitmap1 to bitmap2 and draw the part which moved on bitmap2, then copy bitmap2 to an image which is what you see. An image doesn't need to be "maintained" by your code because Windows takes care of repainting images. There are plenty of examples around on doing this. Uez and Malkey are 2 to learn from. Uez has posted an excellent meter, and Malkey has shown how to use images a few times. However this is a little more difficult and the technique you have used works after all.

EDIT:

After a few rants by jonBMN he added the missing include to the first post then added text which only makes sense if you wwere following this thread. Because of that this post might not make much sense. It's true that by mistake the code I posted had duplicate lines but since I tested that it ran I didn't think to check it any further. I won't be irritating jonBMN again by replying to his request for help with code which he fully understands and doesn't need to be cleaned but doesn't work.

Edited by martin

Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.

Share this post


Link to post
Share on other sites
iamtheky

your code "changes" need to be edited as you have double posted the include lines; then you stated it could not be run, then you stated it worked after all. Don't forget simple editing techniques.

Why worry about the inconsequential? His actually works, whereas yours contains an include file that nobody else has or cares to hunt down. I'd take functional over well edited every damn day.


,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-.
|(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/
(_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_)
| | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) (
| | | | |)| | \ / | | | | | |)| | `--. | |) \ | |
`-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_|
'-' '-' (__) (__) (_) (__)

Share this post


Link to post
Share on other sites
Melba23

JonBMN,

For information, well-written UDFs begin with the #include-once directive, so adding them more than once within a script makes no difference at all. Multiple Opt statements also pose no problem, nor the redeclaration of variables. As a result, martin's script will run correctly exactly as posted - no editing required other than for cosmetic reasons. ;)

M23

Edited by Melba23
Clarity

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______Open Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
BrewManNH

Actually, your's does not run because the include file GPSTest isn't included, also unless you have a GPS unit attached to the computer and are moving, it won't work either.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites
Melba23

Hi all,

Enough mucking around - stick to the topic from now on please. :)

M23

Edited by Melba23
Typo

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______Open Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
iamtheky

How do you imagine people are running your script if they dont have GPStest.au3?

Nobody in this thread has stated that your script runs, as Melba was referring to Martin's code, and Martin was nice enough to comment out your custom include and declare the variables himself.


,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-.
|(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/
(_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_)
| | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) (
| | | | |)| | \ / | | | | | |)| | `--. | |) \ | |
`-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_|
'-' '-' (__) (__) (_) (__)

Share this post


Link to post
Share on other sites
JonBMN

See first post.

Share this post


Link to post
Share on other sites
Melba23

boththose,

Did you read my post above? When I say "drop it" I mean "drop it" - not post again on the same lines. Please do not do so next time. :mad: Apology accepted. :)

JonBMN,

Your editing of the first post leaves a lot to be desired in the politeness stakes. For someone who complained about the responses of others I am disappointed that you felt that you needed to do that. :( Thank you for amending it yet again. :thumbsup:

All,

Either play nicely or this game gets stopped. I hope you all understand and my involvement in this thread ceases here. ;) Thanks to all - let us keep it this way. :)

M23

Edited by Melba23
  • Like 1

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______Open Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
iamtheky

Melba,

There is a post that has been deleted by the OP, between mine and yours, that was in reply to Brewman. I was merely following the OPs lead in the topic, and it was not intentionally a brazen continuation of earlier banter against your directives. All apologies as it indeed remained similar in content and tone.


,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-.
|(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/
(_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_)
| | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) (
| | | | |)| | \ / | | | | | |)| | `--. | |) \ | |
`-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_|
'-' '-' (__) (__) (_) (__)

Share this post


Link to post
Share on other sites
UEZ

Here a short demo of a speedometer using built-in needle drawn with, guess what, yes GDI+. :D

 

Source code here: http://pastebin.com/9CXZAEwi (code with 32 bit image is too large for the code box) :huh:

 

With 4 bit image:

 

;coded by UEZ 2012 build 2012-09-26
#include <GUIConstantsEx.au3>
#include <Memory.au3>
#include <GDIPlus.au3>
Opt("GUIOnEventMode", 1)

_GDIPlus_Startup()

Global Const $hBitmap_bg =  _GDIPlus_BitmapCreateFromMemory(_Speedometer())
Global Const $iW = _GDIPlus_ImageGetWidth($hBitmap_bg), $iH = _GDIPlus_ImageGetHeight($hBitmap_bg)
Global Const $hGUI = GUICreate("GDI+ Speedometer by UEZ 2012", $iW / 2, $iH / 2)
GUISetBkColor(0xABCDEF, $hGUI)
GUISetState()
Global Const $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
Global Const $hBitmap = _GDIPlus_BitmapCreateFromGraphics($iW, $iH, $hGraphic)
Global Const $hCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap)
_GDIPlus_GraphicsSetSmoothingMode($hCtxt, 2)
_GDIPlus_GraphicsSetTextRenderingHint($hCtxt, 4)
Global Const $iRadius = 300
Global Const $iNeedle_size = 16
Global Const $fCenter_x = $iW / 2, $fCenter_y = $iH / 2
Global Const $hPen_needle = _GDIPlus_PenCreate(0xFFFF0000, $iNeedle_size)
Global Const $hCap = _GDIPlus_ArrowCapCreate(1, 1)
_GDIPlus_PenSetCustomEndCap($hPen_needle, $hCap)

Global Const $hBrush = _GDIPlus_BrushCreateSolid(0xFF000000)
Global Const $fRad2Deg = ACos(-1) / 180
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")

Global Const $fDegMin = -223.5, $fDegMax = 44
Global $fDeg = $fDegMin, $fAcc = 0.75, $fKMH, $fMPH


Do
    _GDIPlus_GraphicsDrawImageRect($hCtxt, $hBitmap_bg, 0, 0, $iW, $iH)
    _GDIPlus_GraphicsDrawLine($hCtxt, $fCenter_x, $fCenter_y, $fCenter_x + Cos($fDeg * $fRad2Deg) * $iRadius, $fCenter_y + Sin($fDeg * $fRad2Deg) * $iRadius, $hPen_needle)
    _GDIPlus_GraphicsFillEllipse($hCtxt, $fCenter_x - $iNeedle_size, $fCenter_y - $iNeedle_size, $iNeedle_size * 2, $iNeedle_size * 2, $hBrush)
    _GDIPlus_GraphicsDrawString($hCtxt, StringFormat("%.3i MPH", $fMPH), 240, 520, "Times New Roman", 24)
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, $iW / 2, $iH / 2)
    If $fDeg < $fDegMax Then
        $fDeg += $fAcc
        $fKMH = (249.5 + $fDeg) / 1.33333
        $fMPH = Int($fKMH * 0.621371)
        $fAcc *= 1.005^2
    EndIf
Until Not Sleep(20)


Func _Exit()
    _GDIPlus_BrushDispose($hBrush)
    _GDIPlus_ArrowCapDispose($hCap)
    _GDIPlus_PenDispose($hPen_needle)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_GraphicsDispose($hCtxt)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_BitmapDispose($hBitmap_bg)
    _GDIPlus_Shutdown()
    GUIDelete()
    Exit
EndFunc
;Code below was generated by: File to Base64 String Code Generator v1.10 Build 2012-09-08

Func _Speedometer($bSaveBinary = False)
    Local $Speedometer
    $Speedometer &= 'iVBORw0KGgoAAAANSUhEUgAAAmgAAAJoCAYAAADS7x1JAAAACXBIWXMAAAsTAAALEwEAmpwYAAFZ7ElEQVR4XuydCZQdVbWG9+3bQxISIgEEVMCAEJAgIDiAiIIyKeAQFWXhUpFBREXBISCQIPOMRlAEmQTFCREVFZAxCKiAiAgoEERAIRjI0CTp4Z5X31nrX2u/erdfGlJ90+nef9ZJDV1169y6VXX+2sO/azfddJMNJQKBQKC/vz/Nnz/fFixYkNvChQtzW7x4sbF+yZIlzLMuz/f19eXlF154wXp7e23p0qVM+Rxanm80GnkebLjhhmzLZ+dpW1tbbh0dHbQ839XVlec7OzvzdMyYMWq26qqr5vXjxo2zCRMm2Pjx42nM87fcJk6caPV6vWYtQCAQCLTbS0MgEAhAhtKzzz5rc+fONaa0//73v/bcc8/ZvHnzchMx23zzzTMxWm211WyDDTbI82uuuaa9/vWvz4RsypQpkKBMzACkChLGdNNNNxXZMpBS0t+sVqsZ0HpQXscyffjnP/9Jn/VZHBfylz/roYceYtu87sEHH+Q75c9/6qmn7Mknn2Q96xL7rbHGGrmvq6++ev4OkyZN0jx/g+gtF5ELBAKBgSxogUAgAHlJ//73vzNJ+c9//kPLZOXpp5+GSGVCst5669m6665ra6+9Ng2yQstEbK211mKdiBIN0sOiCBZT1mOdYpqtYu3t7X4b1jFtRrwGImZar+0GInJ+O/VjwM+EpLHM9+c8QEAfe+wxSGkmf5yrOXPmZHL3spe9LJO1ddZZh5bPwyte8Qoa1rz/l8AFAoFAELRAIAABS48//rg98cQTpikkAysR7kMIxlZbbQURg3Rli9bYsWMhLCJZkCqmsn7JtSniJXLmiY8jWcKgyZWmwG/TlMCpX9rO7++3Zar++/U9PT24QD1RxM2KFa7psdgGAvv3v//duru77a9//Svzmbw9+uij2dL48pe/3NZff33OLSSXBnkbbcQtEAgEQQsEAs8880yCIEAUsPxgGSPmC5cjRGyLLbawzTbbjGWImKxXkA8RMUhZJmMC68tERtByFeDY/lgse8JFPwGEUMRQ27YCImy+X2WS6QFJe+SRR+wvf/mL/e1vf4PAscz5gqjl32Dy5Mn26le/GjI3AohbIBAIghYIBHC5JQb9hx9+mIYlB4tNjgV77Wtfm6cbb7wxAfAiPyI6cvVBKvS3psSD9ZAwtqUBuSk9mWJ+eSDCpfkrrrjCZs2aBSnS50MccR2qPyzn6a233poTAYYQzYigzoHOoaYikWXi6d3Kdv/999u9995Lg7RB3vidINHE6kHeIG7DmLQFAoFIEggEAsQ+JQLbaQzoZENusskmtt1229m+++5rW2+9NVYYERcf4yUiMWDclciZh6xlECJZyDxJEWmqCp6cMU+s15133slxyn0WcRRpEzlrCUGDMHJc9VnLsuZp6glnmQBzTrFk4lJmWSD+789//rPddddd9utf/xoSlzj3G220Eb81xG1FukgDgUBY0AKBkKzAJUZcE1OC0xmgyYbccccdbcsttyR4vxwD5glTyT04IETMRC5YVqC8Ys70+bhKcfGxXvvI9QeJW24CpGOBU045xaZPn65lfzz6IMsa+0Ak6VNLLWha9m5ZWfQUr6fz6ImafifWe9dp+Vx7NylWtttuuw3CCmnDSoqbmoaldKikQQKBQBC0QCCkLIhTojEAkzGIRWz77beHkDGvQbxMEkQUmlmayi5Llv322tYTDU0VbyUCqGmzwPrKY7zA6aefbl/60pcMYHHCLQhEYHyyAn1rFTiuzsWVV15JJifyG7iT+X18MoIndZouUy6k7A4VofNEmmvklltusdmzZ9sdd9xBokc+vtoqq6zyUghbIBAIghYIhLTFPffcg2WEwTYTk5133tm22WYb23bbbYk/0iDt3ZVynckqo3VaD7nxMhYl0tMc2t8THeZ5bvzhD38gIzEnGnz84x+3d73rXRCy'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= 'dv2+3hPiMr+DdLuzXR3IYJ2j4obL2UZwO7o00b2ecWe2nze/+c0AnwTmrPM95Htj4EY1kDjW7ErGUvodeE0Q2sKheOaZZ/a6eIA0adIAWpPTTjutQ1F8/vOfx+Rvp6WSQ+HRiQpyMoA6R7OTYinHJYDrNYOEc31mWEJUyX3RGY7l/NVC4nItRC6raf9M0y7GkBmDlnFXkBXDfXXEEUdkdq9B2LgojcnS2ihTe6VEgdzTfXnW7GNGYM8ptemmm+pGxNrQn+uJT3xi//uZz3ymbkv+22YF18aLkbHndqwDvOFiYnsL8AsGJB9lO+6F38QRMfWd7MMe9jBBOYHfXJ8WO+ZOrHdZMtm3QvoPgN4mwZnPkUoFFDm37bitFk8tmbrIGYzmoGMCkrrJ8wrSaa/UE6Z90T7nMUhr0gBaE+ghuhmOno7RG4SOKisVmJYpFAZSM9uUCbg3U9FyHSQLpLtDywrLdBkJjqh2oEIcmxWNeVoSszNW5pqr0/fvPQvUsFJS7UF3nyCI+yfeC4sYLmk6H58Fcy0h6R5m2WMe85gE3LqfyLIjXgg3IdYoXPIkg5A00icS3HbbbVjwyBbFZcoygr9pv8apCfTqe9FtnbUcBWdmqgLGYMOn7ZFEwD31933wwQfj0u3LCS1dunTwvOc9L61uaZ0BQHAsz8e1jNY2m2S8aYIzwxmIO/MdZvJSWkFtA2R4kjnsO57IO6jADE8FCTK60m0nWKAPP/xwPAUdOnow/6RJi0FriQB0bowisUrUgOikrkhqATomXKFkuEVnO9FEAUEQnSWddV6n7oqqyK+44orBrrvuOrZU+QwSz4B511Ugq8Vn2iWzU00IIKieLEffgUB59913h6aFdiMQA3zRlnQ38kx8Pz1NCfKud70LEOQz1D1KXBFuVKxxCa7czti25OBi4EEb53z9esHR61//+r4NI8asaY1LV6UuTABfui6rSz3Lm/FMqMd6+umn8zuzPzkGNAvMM2B8RB6wJvmcfM98f3feeWdvRa0WS6WWeQK8w5NmZvYkJNsMgxVifbn+pz3taYPzzjuv917YJpB7770XdzwxdWSlzvHG0aRZ0JrQQXUzHVM389ETzE0h39rBOdJknvEyPSv44sWLqTFnHFjlvcoYNdc5H5eCs3MjPb6CBv+7zDp71uj0GnM/txvZRZHWF+OPmDvltsq0g7P6nLx3rEoAX8GLLtBLL72UTof/aaUyu9KOSACGNUN3D5QUPR3Gc5/73MHRRx8NOTLB+1gWeJcVqDuo0M3oHCsb7lIpOLLmYp/MkBbYtJbVEmI77bSTlttcn7+zTWGxo8wRQCzrNXp/ArT8vpyPKE2MfVQ3EfaQiUL5Lmrb3WGHHQBnujx9L2MDkE6CSM+diQwkA9h2CcOAFiQz4plwoZ977rk9CfZJJ53UobsHc1OaNIDW5Oabb6bAOZYDOj7dSpZn0hqQgMuRXG8N2H777eUgw0JA3cvsZLKsEvsL1MZmHahxXyg5gsFTOVYx044R9iWXXFLBG/c+ovWvSVon091EJ4Jbj2d5wgkn8KzpBOt75z3UwPz+GK5Li8h+++0HVQcWsB6I77333mR1sj1WNNoyPHdYgrGGEFyNRYIMX47RT094whMMxMb6pmvTNpEuaKzCWcMx45bozPk9cpYr07bbbgsYrIMVn10m4KzjAKa1wUywYIKrDl1kTKQDTTMlkRhoMnBIYMw0rhjVOlCsAzYTAhggJNULbb0O/iRexoWOVZlvizY/1xpKkwbQmnzqU5/qMKtfdNFFjO6TNsCOxFiydN8Z5E2HibVN0IZipIg5HV9mKBlTk0BtbEkEWfhcUAVwrPFwyTae3G0GsLM8Qan7rF2a6OrWhZmgXo4vStgYiF3rpNb2hZhhy/uw03X/tOxCeosVjbZI4XwsuXvttRd0GQCzPuvzhhtuYDDRgzIHGD/60Y+8FmguOA9WFQhwkyID0JftxiLZWDvgqBqpfSS4I1kAsJixba4X3NZ9'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= 'Jq4lBFoBLgCLAQiWVpkYfBU1aCgpcP0B/PVMKUhZgRVaOfpyQMrVV18dx0Z96XK9hi1lvUuTpeAsPhMjZH1eaCTPO+886KoiwwJ0GwR4QLOSMUjvFFDVBy3bgU844YSYHqnMZym4yL/vuusuUjZkMOb+iOkdiARFi4bqGZWujcsXm88Y/jy++oO0Zub27fexNHrXr6WxN19JY4fMTjPWtY3o/Pkp3fiFtOE/vpTWp7axrmm1Uu3nyGg3dT9qZ1bNRmuI9G+IDqlG50B863WrmZrQAVbi2Bg8Ef35onYLYX1ZnkZuxwXRLi84ES9PPfVUev755wGArM+ZBS677DKenf4aHlcH1exAOx2kSpUqNVgAYAKBOIAIywsmPMcZ3UocwAVS9mtqquxzAVRYN9gW80MbHECy8Jdffpky+ms5rqkBU+ODX7ATW/zRso8aEtMGmrHAPl1xvMDaIjiLrP+lc3/UjEEb4vgpsLF+BhEMW6IPdARrpbuNARoCaxQNAFDGJ5QI7ms56KRw+zniiCPIlV01aEqRJLwBwTKbiaZIXxJZ6SXME6hgh0djxkO48MILc24wy/ki33777ZhNIY0lxUM+hxJf/JFlS9M2n3sgjf30Mak5+cjU2f7rUvfz96X0xFOpc+6CNPbLs9uXd2bqjo3naM91nRYsNinNAJytz6GeGyX40NlwaRR2FAZD3HnnnUbmWO+kxKhKNG2YLg0wEJBG6gtf5jvuuAO/PX0ToqmU3zm5+uOPP25DNhAiH9v9ECOEBH2Rk40yPKfpIFWqVKmJvnHCx48M8BStCpEPLDq4R/AlcS2+S6Q5QgMDuCoJWQUT9OWYUNmHSbNAiroA2LQ2SBUlZxnf0fDB1YU51j5YMy37KYH2A9OoE3D7dOsSI/8tH4lzoyuLvGnTisNMUBalzCgkdQn3iGcEJvC6fMayDkCLwtjqMz7mmGMyFtl77707VYOGBId/fAB0LCypKQQFNqASaOy1115EfwJMMPFZxpc9I+SFCxcCFHK6oxiB6Mua3no3rf+zv07dM89KzQGHp+5bbyb0ZOmgOSn9w7LUXTuewVnqjuYAghnt71H80LZutVJjG/88Y/5NZ2o2fD5RkbOA8tFecc9gvuaTXJesYyGilXsVywuaiByKPGmo2yWw9T64HdCm/4WzFuk9YkSpQM1Ow44sOr5y3mFKlSpVqqhN0uy35557OqDHQDTJVwFWWmei2S+7nUAFRV+JG0jpasL6GCmJBYcxiGNorWC9IC1mI/A8RtFD1o4JLlpJ8DOjjJoiy2s5Yd/SHaa0RsWxRooPtXsCN0HjNBDHx6hNK82ebidDAEESgjOW6M9OcACBAoBrTaR8kh2CMbZq0IKQWLwBuZYsvz4Q18f0EjE9RozU5AZz84mEhFJCe77IGRCBpg3NEc6CpLYQTHypfVg7jG+X0sLPpvE2i8HY9x2WZlw+N71/zvw0q/U5mzUympoWnOWajLZO9yP4nTWp+agFKls1adYmmCHoF8E1ApqoOwuNze8TCaAq5nrzPsqRRmO34fqSE6Vz//338zvmbSvzfsZOyOhMn0/smFTb+5vIVAM2hiJVqlSp4qS0dPbnd5k/UuG3Evs5QBAaOI6DOZFoStZH8u7IRQbbP5o0Fiexgj/6WnNhlsnJ5RIjXSDaILe7b6yjpLiY7KL7ip9l1KXixNysCXFc5ZOxgfF02BJTTSnRl9wgQ6xkmJS9xkjSi5WOa8HEHYCtx5VJgahOtWhVg4Y/EwCtdHpXXK9EfhiWEjxoEsQZEBUmUY/6BSiwMuOESVACPlXI146vT2nuSalZ/mQaPXZO6rz3ekq/sih94lcXppZXOqWZM9J4M57WjY+lhnps+L8GO3OrNLM7Y5PMEB544AHYmwFFpcMpYMfFmRxACVDGbEvwJs2F2i650fADQ/3trEtwhekUEkQAIedzBkl5qT3Yz3OWrNL5d1TRewxD0i+//PK8vUqVKlWGTbHghDPmd0bKiHPd'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= 'DeXwnKlpjSNg7Naeo2iz6hVJe5iFhyICPGjEiQ8cOODFlw1f0FDbygxik4UfeuihmIgzISTQQu8VRRj7mtkEYNgEtsEIZ2vyPrQtob3BZm0J9rZ5LQQhCwis5y5xEUJ8++238Jrh90vnDXPZC10E2rSqcHyk9cAz1ap69equT58+bty4ca5hw4bWlmC0HNp+oUAyMYsEsIKlIaWnKzSQNjzB/mZM8rcPp3LlyngIGPkEbxoqNMOwKa/Fng/ZGmI8TEyd9w82sRFChOKMuaf422CbydKGwEDChlibE3rsQyGHvbUZYe6qLSqIgTgTQqC9V82aNa3nK0yFItQS1B8MddpFIIsUUXSI/FS09YHjCOIMeWe0M5w+AEGYcEUCbPIWVa1a1fXq1ct/SK5EaXC5Lwk//PADFCpKXKGQwxFSoZfOz/DMzs725/h5khIhhBBCXng4djDajWlQhXrWgXUcWagrkFsGb9mwYcMwvahI+bPr169H2BMj5VISyoOGgcUUZ7YRpH0wJQWqFdUYEGoIXZ5//vm4Lzc+WKpi9FEqB+JMCCGEUBUn/79P4QVPOHRBKM5Cr5pNc2jSpIn3ku3Zs8dPDWjVqhWv+0N4j7Zt2yLMmnAhTuRrQJRZdWoLBUpl2DAT9WrXro0cNTxAPEgUArAZLf89lOH7CQMMhSQnQgghhGBIEn1Ymzdvjr8RaWOKUyjObP6ZP3f33Xejj6ovVhw8eDCrM3l9kfXJqSKBxBJo33//fQTvGYeX28ZvVqiVFNw3HB917733+h5qS5YsQSUo/12EQu14Kb8lN0IIIYQqwR955JEwh9SKMea2ussvv9yHQ/Py8tAnDX3MHMG1VtSdDjqobr31Vrd169YoIQQaRzuhez+HDVMk8Usx7FhSKLbojbMhzczMTMz2RJktGsYhqc/2LvHXJB9CCCGEYFU2uOmmm1xaWprtj8ieZ4j2cX6m++abb9yIESMwxYT6BfehjglGRRWNSy65BPdOmDYbDG+ykgpflFUUYSuNEgs0PmA7x9NWdqWmpmI8jD8GrMJIToQQQghhNQcni6CnKrUCUqGysrIwAQCCzPY7DKu47X2K6kGjs4giLSGqODF0NDpVsYD5Vn7mpoGNYyGQSkWg2YpQbLb5HJVu2Jgy7J2UXAghhBCCY+GoE9DlHzMyb7jhBu8la926tX8tnBAAbE6aJXytqOzbt88tWLAATWxTyirEyfAmOuhCnLFhLEOQ1pOG86XZJykcgMzXGGvmZ8BxEoszIYQQQnDUI7UA+qFhMhEqMa+66io7o9Nfy8JCC/ur2lAnnT2nw6Z31a1bF90myt6DtnDhwghDjK3nqrwhhBBCCLX5QOQQ7T2gi66++uqy86Bt27Ytuvbaa4M+IuULIYQQQggOUQeYYgSNVGYCbePGjQ4CDd6zcooQQgghJM5sc350koBAK7s2G8g7s0NGyzNCCCGEUKiToKl+WQg0DDGPMJjUjlYqjwghhBBCsIE+q0V79uzptdI5F2gbNmxwGRkZ7MzryitCCCGEUIiT2EkFmM15rgUaZlzZvmflNcQphBBCCMEWX2zNwXZj53aSwG+//RZBGcKNxzlX5RUhhBBCKLzJPmsEYg2RxmPHjkVVqlRJOScetPXr1/vmtNatF3bt54e1sJjAHhNcG1eEEEIIoXFT1DbUR127dnU5OTnnxIPGAgGH8U7BmAQqRnzIsPN/0lZ6CiGEEEJQ44Szyk+cOHHuBFq1atU4HJ2KkSIMRQMUZnaCPM75rTA4TiHGCCGEEEJFAmFUEDM5z02RwKZNmyKGNzmvioIMf/PYuPs4yBxCLQyBcn5nUgg0IYQQQgjqIdChQwe3efPm6KwKNE4PuOaaa+gtC0tLMYcKh/gw7siRI1accRyUv47CjRPl44oQQgghJMi4MbWLkcUGDRq4Xbt2nf0QJwTYqWoER/ABGOoE2KMFB0Rcfn6+u/LKK/04qG7duiFZjh4229yWIdBYV4MKIYQQQmFO'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '666D8UuTJk1qL0S9rJRJQm/gaef7r371qxiGtuhx/PeTYjiL8U/XmM997nPsT+0sDMYE07VXas8tPOKIIwZf/OIXNSgMoZkwhV7Kdb1uude97sV3Xe2sxzzmMV3Hml122UWDpXp/OFc2xEcPYuBqnHLNPA/OY6SCZ6CByzF4v3XXcNJJJxlB6HTkgx70oKqnfectuooE/GaEMGme7rtAowyeOtUcWKYm2ooVKwbnnXcez7ABtBEJbs5JyMjXXnstGRmCnFrEtljDo5McSBKT/ZwAsjZtngvJ4zH/5je/Sf0XSlYIqhjYKBM8ZVxLrfckkKvhB0iWZOx5Dr0kuJ5Jje6B2F133UU5DAePWXOGVTte3AMf+MAMiabCyX6rKKyuKe6HP/xh+WdpNXXJAm9961u3klBTkyYtTFUNRsYzoSlK9qgz9LyrR6qRWtuJIQI+2/fAQ6WfouV+FPd74xvfOHjNa16jvs3sY/VjJpRlyFpD0XXu2wHFz3/+84Pdd9+9B4OK9wp4ABhggHr9nod7JiNdPVtD8joZ1J1sz31cfvnlXRQjE7FqmH+hS71XQD7vHqoFIPTmJInQ/+IjH/lIfoNRcs8aQFOOPfbYyc3VgHk5C4jkiFRiMevGYT0KNByA6T3LsiDzUmojwalzvFKcDw4OnfyxEFWGtTggc4DdHXfcwT1Qg67LBEU8lt43FO8555zTWzl33303Fp8KTEI2yoZyH2zLMSsPaEq+4Fe+8hXAIft4rf29Hn/88fLfmjRpMmYPhx6z1H+Mz9e//vVSKcyWtWi2gMvjTHls24nBL2YOWGL/G264Ae9Whq0x3NBzAivLD6Hz+L5mu6uHWDZj1xBaGtpee8dxOvLII6v+HVx44YXoQ7w8NSFC45Pt5PkmxzELMWeTcJa77d/85jdz7NTpi8oz6++Q73QM+Be/+MWdt+zqq68mmsIzg3eGUcAzGxU4a0kCKXiEjjnmGNL3KfWgRZFetFGCs8xIstYXQAVQg4LyOiRVD0sTnhMF6YCvBGar97OO0ABF/CDYw+9Acbp91jqrYDc9gFqltd+hFZ21Tj2GoI92HvlbJX+pdjNQQTHoVJqej20ttDt+adKkiSBEYRl6xVve8hbDdY7bBEKZBMRUOWvqI4GKmfpmdWNEUphUvmvnUSHCkokdeqM8dxY89VpNYkkvvR1PsrRM5TcKHkiWoiwE36kvM1s9+cGCttpJQQBnqNSMe/QcxVsxVs8999x8b5gctuCzPLNKgL8p4V+4aYTQea+xjgoChKXhQYe0JIERCs1RJyAeUyATMfwVIggaGcJPsj4ZZ094whM6q2ffffflWpIoX1sjzRlAVOFYWiAVCYRbUpZph8EfGOvDPztTKitBWfY31PLL7VhPVwLmCdC8zwx/4DlEuSIqMRWMPJBUkqZNY2lzLu8pgff40/CbNGmShactSM1YxosBlcJuDOo8DFX1CuMbTix0FTxcbCclQsFrJqjT8y+Qgc+apYAAYnq7BGR2HsnyTGybxl5NXFInZcN7k5YInXLdHueWW24BnHmcarRazFsdJ9jweWXyDedQ71qfry8tdf7553NedaE6edFwGzUC/M/5DiGc6TsfjxqldMAIrGsetDF60dasWYOXio72Wd07e1COhEiZVe8hL3Jdfr7ooosoqkrBveSHlSay90hS6aTHy2cB2R43MFktKACei3wMFavXlqU4DBEwV2EwN3TLc6etVnrrao0aFSPHgHvmPWs1GxLxnF5LeswMvTpYvSYU95j5F02aNKmttQQNUCPUjRpajFkoEHg+Hvawh/E9IcH0KNVevB0Aeu5zn4tRybYZJlRf9d6tN7zhDdlJhu16/trb3/52GmXjyec6ev24ZMkSwVUPGq+66qqJo48+evL73/8+Rqffqz9Zp4eNBAgBhNtxr96PwI6s8+SP+dxymf1MIKjFfPnc8X0PP/zwPqlhsUgmcFQOtyFisr1vvfXWwZlnnjkYszSANrFZNnMN'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= 'RBpkzpw5ac4tzgYO0Nw0gHbMmjVroJGV2kxbNAoXOH42WjHg+PHjiQE7dOiQBi9b9OCMDFo6RzTxsGHDklJ0ly5dIrsWPc0ydq8GYRiGYWgOkAisiIJY8oL5uGwLo7yFWKuYtuR82Qgyx9E4wL1bVSctqhBQkoOkBsFh//79zzo4c4BmYJVUGjx4cDFv3jy6Ixm4bKwq4ipFA76iwSmdGszOUfo/fPhw7pWZr5A4LnaMa6lVg3FDlLYsm6d7gBis1SYMwzAMBV6xcJ8NqKwFwXWcA5gnJMcEKcB1+XzAZ80bahxQ4NaxY0euq2aJjOY0SnkICJlfcchp0c2tg2bgb9a0f//+JKo3depUue2LtapUa0zBHBYX6JTBoHG96F+xc6cNrhjYmzZtUrOBnh+7NXWPskK7NQnDMAxDc00Ugc3FyJkHaBxAz1N1aLk1IPdRTVrM/rSqThrPwxua0pw+ffpQO9eiGzpAMySj0UTHy4kTJzB2peYrtijHlOQZB+jevXuLMWPGFEePHs3rA0Qppxcmvjw6PmvWLIJEnpW/sNrn99NvrOHgzDAMw4iEgPZivKKRus7FOJ3yHBCPCzqem6kPHz4closAUB2hVWHRGhsbSWcWnTp1KlauXAnJ0fKbOsVpMJDI7zNIhwwZkgI1DXYFRnlQpJWNCjPBrl27itGjR9O1otx+fPHUOZN3uqT7L1q0CJHBGGjpO+2bk+Oo8eDMMAzDiPNBrnWp7sy4MWcsWLCA83RdszVpul9Md3Jcx6J+Z66Nlmt0qgEhyj1x/ahRo5SRqmpw5gDNQAi2hPk46cm+ffvCqmnwasuNbPlercU49VPYT3DGwI60dPo+Fn2qxk21AytWrCiwocphGIZhGLlrjJrKqJ/GDkp1ziql0dyjc8XCyc+TIG3y5MnF7t27C0BJDUEX50twnXMl7ZHXxTFvqQOU540fPz41w9XV1aW5tGgFOMVpECw10Ro8adIkLJnUtpy2chBzhv1STGNGrbMArYQ4zktBKzJ6bBWxYIZhGIYhf0sJrSPDsXHjRmrAlA7NO/3lTqNaaITPUyPbhg0bmIs4p2w9HPfLU60xYKRTc9WqVQSKiNK2XnBmBs04Jb1Rmj59erFu3ToKKnPF5dzDExFZ0qJ6CUT7ptWFBrMYtA4dOvBycG3q0Fy/fn3q2KwUhmEYhmvVxJiJEUMInblEJEGUc4pdoLE54NixY0g5oQWq86K1YayDY6/PUYYqCdE2NDTgsdk2wZkDNGPChAmlU1tRX19PS7PYMPb6rE4bDG35G8q3rDFtrFHDUYAB3rlz5/RijB07Npqkc8rf7J15cBVll8ZPzyLbsAkoEGQH2QlGEAhLAJFdlrCpgMhidAyLoCIqYsCPfZHIxxdFZBUIoASFgCAwbAERECg2QUpAFFCgIKz6zcyd+5yqU/VOVwTRxOSG51d1q/v2vclft99+3rM8J00IIYQQ8+q0ujKLhlWvXl3i4uJk2rRpUrx4cb3mZnSAv9nNTGuRxenXr59938zW7dlk6U7/tB2MLdRABqyq8MyUvwgKNIIdgQ5Wj42Nld27d1s42XYRmBAAUYYom4aX/bM3zbnZP16jUKFCOtm/bt26+KHfdlwTIYQQYilKNxJmxuYmyFBX1qtXLylWrJibzXFHQCkWZLBo3KxZs6RPnz4WeXMjaWb5pN+3v9myZYtaUgWfkegk9SQTYA0aQfF+YO/evSrSqlSpgh+niTS3RVmF2sSJE137DH/eX0qUKKGjmypUqKB/Z9guyK75IYQQQsyj02rQ3MiY2XNgSgAyP4MGDdL3fkFm12wcIbBgAor8YfWE934xZxmhSZMmIbuE5yGmG3iSWTCCRhA2Ll++PIoptUvFUpzA3ZXA/A87F7/jv+12ypUrJ19//bVUqlQJ13CjWbuyM74pbQghhBCIM9v0G65Xp00JQOYHHZ543lhAAS+3ltr10LRnGsQX0p34zHDLe9CEAHGGMh38/0yHAo0eafCb'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= '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'
    $Speedometer &= 'r+NYuF7RMKALQBSA0RMNa25uBsY4R/tvWFlYlmVAsyzL1iAAG9Gp8/Nz9VhF4PNGA+KI2NEDfoAc0TPO0VT9QJE2+ghmimrJYkRQBowxpuc8DYAiisUYaEytsbER+GKOxjEARv4dSfqM/zbLCsuyrN8B/G2x0vxeJssAAAAASUVORK5CYII='
    Local $bString = Binary(_Base64Decode($Speedometer))
    If $bSaveBinary Then
        Local $hFile = FileOpen(@ScriptDir & "\Tacho.png", 18)
        FileWrite($hFile, $bString)
        FileClose($hFile)
    EndIf
    Return  $bString
EndFunc   ;==>_Speedometer

Func _Base64Decode($sB64String)
    Local $struct = DllStructCreate("int")
    Local $a_Call = DllCall("Crypt32.dll", "int", "CryptStringToBinary", "str", $sB64String, "int", 0, "int", 1, "ptr", 0, "ptr", DllStructGetPtr($struct, 1), "ptr", 0, "ptr", 0)
    If @error Or Not $a_Call[0] Then Return SetError(1, 0, "")
    Local $a = DllStructCreate("byte[" & DllStructGetData($struct, 1) & "]")
    $a_Call = DllCall("Crypt32.dll", "int", "CryptStringToBinary", "str", $sB64String, "int", 0, "int", 1, "ptr", DllStructGetPtr($a), "ptr", DllStructGetPtr($struct, 1), "ptr", 0, "ptr", 0)
    If @error Or Not $a_Call[0] Then Return SetError(2, 0, "")
    Return DllStructGetData($a, 1)
EndFunc   ;==>_Base64Decode
#endregion

 

Maybe you can adapt it for your needs.

 

Have fun with it...

 

Br,

UEZ

Edited by UEZ
  • Like 1

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
Share on other sites
JonBMN

Thank you for the example UEZ

Share this post


Link to post
Share on other sites
JonBMN

SOLUTION

This program is nowhere near perfect; but it increments a $MPH value within the program that makes it loop back to back; so if anyone ever wanted to play around with it here you go in all the glory that I've been able to do. No need for GPStest.au3 as I've made it so guitest.au3 is self sustaining. (i used it for learning purposes)

guitest.au3 (speedometer)

#include <INet.au3>
#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
#Include <WinAPI.au3>
#include <StaticConstants.au3>


Opt("GUIOnEventMode", 1)

Global $label_speed = 0, $meter = 0, $dir = 0, $radius = 40, $hGUI, $MPH = 0
Global $label_date, $label_time, $label_speed, $xsp, $ysp, $xep, $yep, $xpos, $ypos, $MoveNeedle
; stuff to generate data goes here, but isn't included
Global $date, $time, $pi = 3.14159, $font = "Tahoma", $MPHincrement = 5
; Create GUI & label controls
$hGUI = GUICreate("Speedometer", 100, 120, -1, -1, $WS_CAPTION, $WS_EX_TOOLWINDOW);Creates the window, but does not display it
$label_date = GUICtrlCreateLabel("", 10, 0, 80, 14, $SS_Center)
$label_time = GUICtrlCreateLabel("", 10, 15, 80, 14, $SS_Center)
GUIRegisterMsg($WM_PAINT, "RePaint")
GUISetOnEvent($GUI_EVENT_RESTORE, "RePaint") ;Will repaint if restore button is clicked
GUISetOnEvent($GUI_EVENT_CLOSE, "Finish") ;Execute the user function if close is hit
GUISetState() ;actually displays the window, but its just empty
$label_speed = GUICtrlCreateLabel("", 35, 67, 30, 16, $SS_RIGHT) ;creates speed box and makes it right justified
Paint()

While 1
Paint()
$date = @MON & "/" & @MDAY & "/" & @YEAR
$time = @HOUR & ":" & @MIN
GUICtrlSetData($label_date, $date)
GUICtrlSetData($label_time, $time)
GUICtrlSetData($label_speed, $MPH)
$MPH = $MPH + $MPHincrement
IF $MPH > 120 Or $MPH < 0 Then
$MPHincrement = $MPHincrement * -1
$MPH = $MPH + $MPHincrement
EndIf
sleep(500)
ConsoleWrite($MPH & @CR)
WEnd


Func RePaint()

GUICtrlSetGraphic($meter, $GUI_GR_PENSIZE, 2)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0x888888)
GUICtrlSetGraphic($meter, $GUI_GR_ELLIPSE, 5, 5, 80, 80)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0xcccccc)

; tick marks on dial
$xsp = $radius * Sin($pi * $index / 8)
$xep = 1.15 * $radius * Sin($pi * $index / 8)

$ysp = -1 * $radius * Cos($pi * $index / 8)
$yep = -1.15 * $radius * Cos($pi * $index / 8)


GUICtrlSetGraphic($meter, $GUI_GR_MOVE, $xsp + 45, $ysp + 45) ; moves to a position but does not draw yet
GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xep + 45, $yep + 45) ; actually draws the ticks
Next
;Heres where we draw the needle
$MoveNeedle = 10 + ($MPH * 2.5) ;Moves the needle
$xpos = 35 * Sin($pi * $MPH / 180)
$ypos = -35 * Cos($pi * $MPH / 180)
GUICtrlSetGraphic($meter, $GUI_GR_MOVE, 45, 45)
GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xpos + $MoveNeedle, $ypos + 45)


GUICtrlSetData($label_date, $date); Puts date in
GUICtrlSetData($label_time, $time)
If $label_speed <> 0 Then GUICtrlSetFont($label_speed, 10, 800)
GUICtrlSetData($label_speed, $MPH)
;MsgBox(0, "", "continue")
EndFunc ;==>RePaint

Func Paint()


$dir = $dir + $MPHincrement

; delete control if it exists

If $meter <> 0 Then
GUICtrlDelete($meter)
$meter = 0
EndIf

$meter = GUICtrlCreateGraphic(5, 30, 90, 90) ;Forces display of $meter

repaint()


EndFunc ;==>Paint

Func Finish()
Exit
EndFunc ;==>Finish

Enjoy

Edited by JonBMN

Share this post


Link to post
Share on other sites
AlainB

SOLUTION

This program is nowhere near perfect; but it increments a $MPH value within the program that makes it loop back to back; so if anyone ever wanted to play around with it here you go in all the glory that I've been able to do. No need for GPStest.au3 as I've made it so guitest.au3 is self sustaining. (i used it for learning purposes)

guitest.au3 (speedometer)

#include <INet.au3>
#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
#Include <WinAPI.au3>
#include <StaticConstants.au3>


Opt("GUIOnEventMode", 1)

Global $label_speed = 0, $meter = 0, $dir = 0, $radius = 40, $hGUI, $MPH = 0
Global $label_date, $label_time, $label_speed, $xsp, $ysp, $xep, $yep, $xpos, $ypos, $MoveNeedle
; stuff to generate data goes here, but isn't included
Global $date, $time, $pi = 3.14159, $font = "Tahoma", $MPHincrement = 5
; Create GUI & label controls
$hGUI = GUICreate("Speedometer", 100, 120, -1, -1, $WS_CAPTION, $WS_EX_TOOLWINDOW);Creates the window, but does not display it
$label_date = GUICtrlCreateLabel("", 10, 0, 80, 14, $SS_Center)
$label_time = GUICtrlCreateLabel("", 10, 15, 80, 14, $SS_Center)
GUIRegisterMsg($WM_PAINT, "RePaint")
GUISetOnEvent($GUI_EVENT_RESTORE, "RePaint") ;Will repaint if restore button is clicked
GUISetOnEvent($GUI_EVENT_CLOSE, "Finish") ;Execute the user function if close is hit
GUISetState() ;actually displays the window, but its just empty
$label_speed = GUICtrlCreateLabel("", 35, 67, 30, 16, $SS_RIGHT) ;creates speed box and makes it right justified
Paint()

While 1
Paint()
$date = @MON & "/" & @MDAY & "/" & @YEAR
$time = @HOUR & ":" & @MIN
GUICtrlSetData($label_date, $date)
GUICtrlSetData($label_time, $time)
GUICtrlSetData($label_speed, $MPH)
$MPH = $MPH + $MPHincrement
IF $MPH > 120 Or $MPH < 0 Then
$MPHincrement = $MPHincrement * -1
$MPH = $MPH + $MPHincrement
EndIf
sleep(500)
ConsoleWrite($MPH & @CR)
WEnd


Func RePaint()

GUICtrlSetGraphic($meter, $GUI_GR_PENSIZE, 2)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0x888888)
GUICtrlSetGraphic($meter, $GUI_GR_ELLIPSE, 5, 5, 80, 80)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0xcccccc)

; tick marks on dial
$xsp = $radius * Sin($pi * $index / 8)
$xep = 1.15 * $radius * Sin($pi * $index / 8)

$ysp = -1 * $radius * Cos($pi * $index / 8)
$yep = -1.15 * $radius * Cos($pi * $index / 8)


GUICtrlSetGraphic($meter, $GUI_GR_MOVE, $xsp + 45, $ysp + 45) ; moves to a position but does not draw yet
GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xep + 45, $yep + 45) ; actually draws the ticks
Next
;Heres where we draw the needle
$MoveNeedle = 10 + ($MPH * 2.5) ;Moves the needle
$xpos = 35 * Sin($pi * $MPH / 180)
$ypos = -35 * Cos($pi * $MPH / 180)
GUICtrlSetGraphic($meter, $GUI_GR_MOVE, 45, 45)
GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xpos + $MoveNeedle, $ypos + 45)


GUICtrlSetData($label_date, $date); Puts date in
GUICtrlSetData($label_time, $time)
If $label_speed <> 0 Then GUICtrlSetFont($label_speed, 10, 800)
GUICtrlSetData($label_speed, $MPH)
;MsgBox(0, "", "continue")
EndFunc ;==>RePaint

Func Paint()


$dir = $dir + $MPHincrement

; delete control if it exists

If $meter <> 0 Then
GUICtrlDelete($meter)
$meter = 0
EndIf

$meter = GUICtrlCreateGraphic(5, 30, 90, 90) ;Forces display of $meter

repaint()


EndFunc ;==>Paint

Func Finish()
Exit
EndFunc ;==>Finish

Enjoy

Not much to enjoy really!

Your code is not working. Missing things, plus there is a "Next" statement with no matching "For" statement.

Edited by AlainB

Share this post


Link to post
Share on other sites
JonBMN

Not much to enjoy really!

Your code is not working. Missing things, plus there is a "Next" statement with no matching "For" statement.

Like it was stated above "the program is nowhere near perfect"

Here is a better version.

#include <INet.au3>
#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
#Include <WinAPI.au3>
#include <StaticConstants.au3>


Opt("GUIOnEventMode", 1)

Global $label_speed = 0, $meter = 0, $dir = 0, $radius = 40, $hGUI, $MPH = 0
Global $label_date, $label_time, $label_speed, $xsp, $ysp, $xep, $yep, $xpos, $ypos, $MoveNeedle
; stuff to generate data goes here, but isn't included
Global $date, $time, $pi = 3.14159, $font = "Tahoma", $MPHincrement = 5
; Create GUI & label controls
$hGUI = GUICreate("Speedometer", 100, 120, -1, -1, $WS_CAPTION, $WS_EX_TOOLWINDOW);Creates the window, but does not display it
$label_date = GUICtrlCreateLabel("", 10, 0, 80, 14, $SS_Center)
$label_time = GUICtrlCreateLabel("", 10, 15, 80, 14, $SS_Center)
GUIRegisterMsg($WM_PAINT, "RePaint")
GUISetOnEvent($GUI_EVENT_RESTORE, "RePaint") ;Will repaint if restore button is clicked
GUISetOnEvent($GUI_EVENT_CLOSE, "Finish") ;Execute the user function if close is hit
GUISetState() ;actually displays the window, but its just empty
$label_speed = GUICtrlCreateLabel("", 35, 67, 30, 16, $SS_RIGHT) ;creates speed box and makes it right justified
Paint()

While 1
Paint()
$MoveNeedle = 10 + ($MPH * 1.6)
$date = @MON & "/" & @MDAY & "/" & @YEAR
$time = @HOUR & ":" & @MIN
GUICtrlSetData($label_date, $date)
GUICtrlSetData($label_time, $time)
GUICtrlSetData($label_speed, $MPH)
$MPH = $MPH + $MPHincrement
IF $MPH > 120 Or $MPH < 0 Then
$MPHincrement = $MPHincrement * -1
$MPH = $MPH + $MPHincrement
EndIf
ConsoleWrite($MPH & @CR)
sleep(1000)
WEnd


Func RePaint()

GUICtrlSetGraphic($meter, $GUI_GR_PENSIZE, 2)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0x888888)
GUICtrlSetGraphic($meter, $GUI_GR_ELLIPSE, 5, 5, 80, 80)
GUICtrlSetGraphic($meter, $GUI_GR_COLOR, 0x000000, 0xcccccc)

; tick marks on dial

For $index = 0 To 15

$xsp = $radius * Sin($pi * $index / 8)
$xep = 1.15 * $radius * Sin($pi * $index / 8)

$ysp = -1 * $radius * Cos($pi * $index / 8)
$yep = -1.15 * $radius * Cos($pi * $index / 8)

;GUICtrlSetData($index, $Values[$index])
GUICtrlSetGraphic($meter, $GUI_GR_MOVE, $xsp + 45, $ysp + 45) ; moves to a position but does not draw yet
GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xep + 45, $yep + 45) ; actually draws the ticks
Next
;Heres where we draw the needle
$xpos = 35 * Sin($pi * $dir / 180)
$ypos = -35 * Cos($pi * $dir / 180)
GUICtrlSetGraphic($meter, $GUI_GR_MOVE, 45, 45)
GUICtrlSetGraphic($meter, $GUI_GR_LINE, $xpos + $MoveNeedle, $ypos + 45)


GUICtrlSetData($label_date, $date); Puts date in
GUICtrlSetData($label_time, $time)
If $label_speed <> 0 Then GUICtrlSetFont($label_speed, 10, 800)
GUICtrlSetData($label_speed, $MPH)

EndFunc ;==>RePaint

Func Paint()

$dir += 2

; delete control if it exists

If $meter <> 0 Then
GUICtrlDelete($meter)
$meter = 0
EndIf

$meter = GUICtrlCreateGraphic(5, 30, 90, 90) ;Forces display of $meter

repaint()


EndFunc ;==>Paint

Func Finish()
Exit
EndFunc ;==>Finish
Edited by JonBMN

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • SharpDressedMan
      By SharpDressedMan
      Hi all,
      I need to use ControlMove() on some controls of a hidden GUI window.
      This works properly on a GUI window created with default style, but does not work on a GUI window created with style $WS_OVERLAPPEDWINDOW
      func GUItest($bOverlapped) $m = GUICreate("test", 200, 100, -1, -1, $bOverlapped ? $WS_OVERLAPPEDWINDOW : -1) $g = GUICtrlCreateButton("test", 0, 0) ControlMove($m, "", $g, 30, 30) GUISetState() endfunc GuiTest(false) ; button 'test' properly moved to (30,30) GuiTest(true) ; button 'test' not moved and still sitting at (0,0) Any reason for this unexpected behavior ?
      Any workaround to fix this ?
      Thanks for any help
    • 2Toes
      By 2Toes
      Hi all..
      I'm having slight issue that has be a bit puzzled.
      I have an Input control.. After a certain function runs, it Disables that Input control, and sets it to ReadOnly.
      When running another certain function, it re-Enables that Input control, and sets the style back to Default.
      Which does work, however, when typing into the Input control after re-Enabling it, the text appears as a light gray color, rather than its original black color.
      I'm sure there's a simple solution here.. But what that is, appears to be beyond me.
      Here is a simplified example code:
      #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form= Global $Form1 = GUICreate("Form1", 245, 215, 192, 124) Global $disableBTN = GUICtrlCreateButton("Disable", 32, 64, 75, 25) Global $enableBTN = GUICtrlCreateButton("Enable", 128, 64, 75, 25) Global $Input1 = GUICtrlCreateInput("", 32, 120, 169, 21) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $disableBTN disable() Case $enableBTN enable() EndSwitch WEnd Func disable() GUICtrlSetState($Input1, $GUI_DISABLE) GUICtrlSetStyle($Input1, $ES_READONLY) EndFunc Func enable() GUICtrlSetState($Input1, $GUI_ENABLE) GUICtrlSetStyle($Input1, $GUI_SS_DEFAULT_INPUT) EndFunc  
      Any help would be greatly appreciated
      Thank you in advance!
    • jantograaf
      By jantograaf
      Hi all,
      I'm trying to create a script that runs a JSON-query and then can retrieve some variables out of the returned, decoded object using JSON.au3. I have tried some other examples on this forum, but I'm stuck at one point. My query works perfectly and gets loaded into the variable $data. Then, decoding $data to $object seems to work as well. But then I can't get the date-field out of this JSON-structure with my script.
      The JSON-structure returned looks like this:
      { "content": [ { "id": "451ec583-8f27-4926-82a3-a2d85e57a110", "createdDate": "2018-08-08T08:40:57.449004Z", "updatedDate": "2018-08-08T08:40:57.449004Z", "lastOpenedDate": "2018-08-08T08:40:57.449004Z", "date": "2018-04-26T00:00:00", "description": "X-Ray Exam", "patient": { "id": "f857238a-c75d-4760-b8d1-8f50f8f9bbfa", "createdDate": "2018-08-08T08:40:37.623976Z", "updatedDate": "2018-08-08T08:40:37.623976Z", "lastOpenedDate": "2018-08-08T08:40:37.623976Z", "name": "Fuerstonia", "birthDate": "2014-06-08", "breed": "", "chip": "", "color": "", "damsire": "", "sire": "", "neutered": false, "orthancUuid": "", "sex": "U", "species": "Paard", "ueln": "De 431310762114", "pmsReference": "", "origin": "" }, "type": "study", "accessionNumber": "KME201806960467", "instanceUid": null, "orthancUuid": "", "sent": false, "seriesCount": 0, "modalityType": "RX", "typeAndModality": "study RX", "client": { "id": "be627195-8458-4927-8446-f1ef37b917a4", "createdDate": "2018-08-08T08:40:31.433968Z", "updatedDate": "2018-08-08T08:40:31.433968Z", "lastOpenedDate": "2018-08-08T09:26:49.512298Z", "via": "", "extraInfo": "", "pmsReference": "", "contact": { "id": "406cc555-c491-4c29-b6bb-8d903f0e35a9", "createdDate": "2018-08-08T08:40:31.428968Z", "updatedDate": "2018-08-08T08:40:31.428968Z", "lastName": "Client 1", "firstName": "", "company": "", "email": "", "language": "nl", "phone": "", "address": { "id": "6fc7703c-137a-4e0a-ba96-8c7f38f2044b", "city": "", "country": "", "line": "", "postalCode": "" } } } }, My script looks like this:
      #RequireAdmin #include <json.au3> #include <inet.au3> #include <File.au3> ;Create a handle to a logfile (will be created if it doesnt exist) Global $logfile = FileOpen("C:\VSOL\VSTK\Logs\MigrationFix\MigrationFix.log",9) FileWriteLine($logfile,"Start script") ;Create the URL with the JSON-query $URL = "http://localhost:8080/v0/studies/?seriesCount=1" ;Catch the query output into a variable $data = _INetGetSource($URL) ;Check if there is any data at all in this variable, if not, exit If Not $data Then MsgBox(1,"Error","No answer. Server is probably not running.") Exit EndIf ;For debugging purposes FileWriteLine($logfile,$data) ;Decode the JSON_string into a useable object $object = Json_Decode($data,1000) If @error Then FileWriteLine($logfile,"Error decoding JSON") Exit EndIf Local $i = 0 ;Start a loop to retrieve the study date of each study... While 1 $study_date = json_get($object,'[' & $i & '].date') If @error Then FileWriteLine($logfile,"Study-Date retrieval error") ExitLoop EndIf $i = $i + 1 WEnd ;Close the logfile FileWriteLine($logfile,"Stop script") FileClose($logfile) ;Open the logfile for quick reference ShellExecute("C:\VSOL\VSTK\Logs\MigrationFix\MigrationFix.log") If believe it has something to do with my json_get($object...)-command. Anyone who can point me in the right direction?
      Thanks in advance!
      Kind regards
    • gahhon
      By gahhon
      Hi Guys,
      I was trying to read some data from the excel file and without opening the file. But I tried a lot of methods, it still open the file.
      And also, I am able to capture the ColumnA value but not Column B.
      Thanks for advance information.
      Global $oDataA, $oDataB Call ("ExcelRead", "B2", "C2") Func ExcelRead($oColumnA, $oColumnB) Local $oPath = @ScriptDir & "\MyFile.xlsx" Local $oExcel = _Excel_Open() Local $oWorkbook = _Excel_BookOpen($oExcel, $oPath, 1, 0) $oDataA = _Excel_RangeRead($oWorkbook, "Sheet 1", $oColumnA) $oDataB = _Excel_RangeRead($oWorkbook, "Sheet 1", $oColumnB) MsgBox(0, "Test Value", $oDataA & ", " & $oDataB) EndFunc  
    • UEZ
      By UEZ
      Following script shows a parent GUI with a child GUI initialized as MDICHILD.
      #include <Constants.au3> #include <GUIConstantsEx.au3> #include <GuiReBar.au3> #include <GuiScrollBars.au3> #include <GuiToolbar.au3> #include <ScreenCapture.au3> #include <ScrollBarConstants.au3> #include <WindowsConstants.au3> _GDIPlus_Startup() Global Enum $idNew = 1000, $idOpen, $idSave, $idHelper Global Const $iImageW = @DesktopWidth, $iImageH = @DesktopHeight Global Const $hBMP_ScreenCapture = _ScreenCapture_Capture("", 0, 0, $iImageW, $iImageH, False) Global Const $hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hBMP_ScreenCapture) Sleep(50) Global Const $iW = 1500, $iH = 700, $SC_DRAGMOVE = 0xF012 Global Const $hGUI = GUICreate("Move child GUI within GUI", $iW, $iH) Global Const $hToolbar = _GUICtrlToolbar_Create($hGUI) Global Const $hReBar = _GUICtrlRebar_Create($hGUI, BitOR($CCS_TOP, $RBS_VARHEIGHT, $RBS_AUTOSIZE, $RBS_BANDBORDERS)) Global Const $height_delta = 37 Global Const $idPic = GUICtrlCreatePic("", 0, $height_delta + 2, $iW, $iH) Global $hBitmap_tmp, $hHBitmap_tmp $hBitmap_tmp = _GDIPlus_BitmapCreateFromScan0($iW, $iH) Global $hGfx_Context = _GDIPlus_ImageGetGraphicsContext($hBitmap_tmp) _GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR) _GUICtrlToolbar_AddButton($hToolbar, $idNew, $STD_FILENEW) _GUICtrlToolbar_AddButton($hToolbar, $idOpen, $STD_FILEOPEN) _GUICtrlToolbar_AddButton($hToolbar, $idSave, $STD_FILESAVE) _GUICtrlToolbar_AddButtonSep($hToolbar) _GUICtrlToolbar_AddButton($hToolbar, $idHelper, $STD_HELP) _GUICtrlRebar_AddToolBarBand($hReBar, $hToolbar, "", 0) Global Const $iVSscroll = _WinAPI_GetSystemMetrics(2) Global Const $iHSscroll = _WinAPI_GetSystemMetrics(3) Global Const $iYCaption = _WinAPI_GetSystemMetrics(4) Global Const $iYFixedFrame = _WinAPI_GetSystemMetrics(8) Global Const $iXFixedFrame = _WinAPI_GetSystemMetrics(7) Global Const $iMetricsSumX = $iVSscroll + $iXFixedFrame * 2 Global Const $iMetricsSumY = $iHSscroll + $iYCaption + $iYFixedFrame _GUIScrollBars_Init($hGUI) _GUIScrollBars_SetScrollInfoMin($hGUI, $SB_HORZ, 0) _GUIScrollBars_SetScrollInfoMax($hGUI, $SB_HORZ, $iImageW - $iW + 61 + $iMetricsSumX) _GUIScrollBars_SetScrollInfoMin($hGUI, $SB_VERT, 0) _GUIScrollBars_SetScrollInfoMax($hGUI, $SB_VERT, $iImageH - $iH + $iMetricsSumY + $height_delta - 1) GUISetState(@SW_SHOW, $hGUI) Global Const $STM_SETIMAGE = 0x0172 _WinAPI_DeleteObject(GUICtrlSendMsg($idPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hBMP_ScreenCapture)) Global $IE_offset_x = 0, $IE_offset_y = 0 DrawImage($hGfx_Context, $hBitmap, $IE_offset_x, $IE_offset_y, $iW, $iH) GUIRegisterMsg($WM_HSCROLL, "WM_HSCROLL_IE") GUIRegisterMsg($WM_VSCROLL, "WM_VSCROLL_IE") Global $iPosX_Crop = 0, $iPosY_Crop = 0, $iW_crop = 200, $iH_crop = 200, $bMove_Crop = True Global $hGUI_IE_Crop = GUICreate("", $iW_crop, $iH_crop, $iPosX_Crop, $iPosY_Crop) GUISetStyle(BitOR($WS_BORDER, $WS_POPUP), $WS_EX_MDICHILD) _WinAPI_SetParent($hGUI_IE_Crop, $hGUI) WinSetTrans($hGUI_IE_Crop, "", 0xA0) Global $iLable_CropMove = GUICtrlCreateLabel("", 0, 0, $iW_crop, $iH_crop, -1, $GUI_WS_EX_PARENTDRAG) GUISetState(@SW_SHOW, $hGUI_IE_Crop) GUIRegisterMsg($WM_MOVE, "WM_MOVE_IE_GUI_Crop") ;~ GUIRegisterMsg($WM_LBUTTONDOWN, "_WM_LBUTTONDOWN") Do Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop EndSwitch Until False GUIRegisterMsg($WM_HSCROLL, "") GUIRegisterMsg($WM_VSCROLL, "") GUIRegisterMsg($WM_MOVE, "") GUIRegisterMsg($WM_LBUTTONDOWN, "") _WinAPI_DeleteObject($hBMP_ScreenCapture) _GDIPlus_BitmapDispose($hBitmap_tmp) _GDIPlus_BitmapDispose($hBitmap) _GDIPlus_GraphicsDispose($hGfx_Context) _GDIPlus_Shutdown() Exit Func WM_HSCROLL_IE($hWnd, $iMsg, $wParam, $lParam) #forceref $iMsg, $lParam Local $Min, $Max, $Page, $TrackPos ; Get all the horizontal scroll bar information Local $tSCROLLINFO_X = _GUIScrollBars_GetScrollInfoEx($hWnd, $SB_HORZ) $Min = DllStructGetData($tSCROLLINFO_X, "nMin") $Max = DllStructGetData($tSCROLLINFO_X, "nMax") $Page = DllStructGetData($tSCROLLINFO_X, "nPage") ; Save the position for comparison later on $IE_offset_x = DllStructGetData($tSCROLLINFO_X, "nPos") $TrackPos = DllStructGetData($tSCROLLINFO_X, "nTrackPos") #forceref $Min, $Max Local $nScrollCode = BitAND($wParam, 0x0000FFFF) Switch $nScrollCode Case $SB_LINELEFT ; user clicked left arrow DllStructSetData($tSCROLLINFO_X, "nPos", $IE_offset_x - 1) Case $SB_LINERIGHT ; user clicked right arrow DllStructSetData($tSCROLLINFO_X, "nPos", $IE_offset_x + 1) Case $SB_PAGELEFT ; user clicked the scroll bar shaft left of the scroll box DllStructSetData($tSCROLLINFO_X, "nPos", $IE_offset_x - $Page) Case $SB_PAGERIGHT ; user clicked the scroll bar shaft right of the scroll box DllStructSetData($tSCROLLINFO_X, "nPos", $IE_offset_x + $Page) Case $SB_THUMBTRACK ; user dragged the scroll box DllStructSetData($tSCROLLINFO_X, "nPos", $TrackPos) EndSwitch DllStructSetData($tSCROLLINFO_X, "fMask", $SIF_POS) _GUIScrollBars_SetScrollInfo($hWnd, $SB_HORZ, $tSCROLLINFO_X) $IE_offset_x = DllStructGetData($tSCROLLINFO_X, "nPos") DrawImage($hGfx_Context, $hBitmap, $IE_offset_x, $IE_offset_y, $iW, $iH) $hHBitmap_tmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap_tmp) _WinAPI_DeleteObject(GUICtrlSendMsg($idPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBitmap_tmp)) _WinAPI_DeleteObject($hHBitmap_tmp) $bMove_Crop = False ConsoleWrite($iPosX_Crop & ", " & $iPosY_Crop & " / " & $IE_offset_x & ", " & $IE_offset_y & @CRLF) WinMove($hGUI_IE_Crop, "", -$IE_offset_x + $iPosX_Crop, -$IE_offset_y + $iPosY_Crop) ;~ DllCall("user32.dll", "bool", "MoveWindow", "hwnd", $hGUI_IE_Crop, "int", -$IE_offset_x + $iPosX_Crop, "int", -$IE_offset_y + $iPosY_Crop, "int", $iW_crop, "int", $iH_crop, "bool", True) $bMove_Crop = True Return "GUI_RUNDEFMSG" EndFunc ;==>WM_HSCROLL_IE Func WM_VSCROLL_IE($hWnd, $iMsg, $wParam, $lParam) #forceref $iMsg, $lParam Local $Min, $Max, $Page, $TrackPos ;~ ; Get all the horizontal scroll bar information Local $tSCROLLINFO_Y = _GUIScrollBars_GetScrollInfoEx($hWnd, $SB_VERT) $Min = DllStructGetData($tSCROLLINFO_Y, "nMin") $Max = DllStructGetData($tSCROLLINFO_Y, "nMax") $Page = DllStructGetData($tSCROLLINFO_Y, "nPage") ; Save the position for comparison later on $IE_offset_y = DllStructGetData($tSCROLLINFO_Y, "nPos") $TrackPos = DllStructGetData($tSCROLLINFO_Y, "nTrackPos") #forceref $Min, $Max Local $nScrollCode = BitAND($wParam, 0x0000FFFF) Switch $nScrollCode Case $SB_LINELEFT ; user clicked left arrow DllStructSetData($tSCROLLINFO_Y, "nPos", $IE_offset_y - 1) Case $SB_LINERIGHT ; user clicked right arrow DllStructSetData($tSCROLLINFO_Y, "nPos", $IE_offset_y + 1) Case $SB_PAGELEFT ; user clicked the scroll bar shaft left of the scroll box DllStructSetData($tSCROLLINFO_Y, "nPos", $IE_offset_y - $Page) Case $SB_PAGERIGHT ; user clicked the scroll bar shaft right of the scroll box DllStructSetData($tSCROLLINFO_Y, "nPos", $IE_offset_y + $Page) Case $SB_THUMBTRACK ; user dragged the scroll box DllStructSetData($tSCROLLINFO_Y, "nPos", $TrackPos) EndSwitch DllStructSetData($tSCROLLINFO_Y, "fMask", $SIF_POS) _GUIScrollBars_SetScrollInfo($hWnd, $SB_VERT, $tSCROLLINFO_Y) $IE_offset_y = DllStructGetData($tSCROLLINFO_Y, "nPos") DrawImage($hGfx_Context, $hBitmap, $IE_offset_x, $IE_offset_y, $iW, $iH) $bMove_Crop = False ConsoleWrite($iPosX_Crop & ", " & $iPosY_Crop & " / " & $IE_offset_x & ", " & $IE_offset_y & @CRLF) WinMove($hGUI_IE_Crop, "", -$IE_offset_x + $iPosX_Crop, -$IE_offset_y + $iPosY_Crop) ;~ DllCall("user32.dll", "bool", "MoveWindow", "hwnd", $hGUI_IE_Crop, "int", -$IE_offset_x + $iPosX_Crop, "int", -$IE_offset_y + $iPosY_Crop, "int", $iW_crop, "int", $iH_crop, "bool", True) $bMove_Crop = True Return "GUI_RUNDEFMSG" EndFunc ;==>WM_VSCROLL_IE Func _WM_LBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam) _SendMessage($hGUI_IE_Crop, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0) EndFunc ;==>_WM_LBUTTONDOWN Func WM_MOVE_IE_GUI_Crop($hWnd, $iMsg, $wParam, $lParam) #forceref $iMsg, $wParam If $hWnd = $hGUI_IE_Crop And $bMove_Crop Then $iPosX_Crop = _WinAPI_LoWord($lParam) $iPosY_Crop = _WinAPI_HiWord($lParam) EndIf Return "GUI_RUNDEFMSG" EndFunc ;==>WM_MOVE_IE_GUI_Crop Func WM_SIZE_IE_GUI_Crop($hWnd, $iMsg, $wParam, $lParam) Return $GUI_RUNDEFMSG EndFunc ;==>WM_SIZE_IE_GUI_Crop Func DrawImage($hGfx_Context, $hBitmap, $IE_offset_x, $IE_offset_y, $iW, $iH) _GDIPlus_GraphicsDrawImageRectRect($hGfx_Context, $hBitmap, $IE_offset_x, $IE_offset_y, $iW, $iH, 0, 0, $iW, $iH) $hHBitmap_tmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap_tmp) _WinAPI_DeleteObject(GUICtrlSendMsg($idPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBitmap_tmp)) _WinAPI_DeleteObject($hHBitmap_tmp) EndFunc  
      My problem: if you move the child window at left upper corner to another place and move either H or V scrollbar the child GUI will be moved properly. BUT if you have scrolled the scrollbars to the right bottom of the image and move the child GUI to that corner, too then the child GUI jumps if you click on one of the scrollbars.
      Is there something that I didn't consider?
×