siva1612 Posted March 18, 2015 Share Posted March 18, 2015 I am trying to create a custom "I AM SHERLOCKED" screen for my PC. As you can see below, in the first input box, the cursor in the input box is aligned at the bottom of the input box and the default for input box or edit box is that the cursor blinks vertically aligned. Is there any way to achieve the below effect? Link to comment Share on other sites More sharing options...
TheSaint Posted March 19, 2015 Share Posted March 19, 2015 (edited) I'm not sure I understand. Pictures don't always tell the whole story. And here we like some code too, that we can work with. Input boxes can be multiline. The cursor seems to be at the start of the second line (or apparent second line). All the text is in the middle of the image, so I see nothing at the bottom. Nothing very AutoIt about what you've provided, and what you are asking seems confusing. Edited March 19, 2015 by TheSaint Make sure brain is in gear before opening mouth! Remember, what is not said, can be just as important as what is said. Spoiler What is the Secret Key? Life is like a Donut If I put effort into communication, I expect you to read properly & fully, or just not comment. Ignoring those who try to divert conversation with irrelevancies. If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it. I'm only big and bad, to those who have an over-active imagination. I may have the Artistic Liesense to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage) Link to comment Share on other sites More sharing options...
JakeJohnson74 Posted March 19, 2015 Share Posted March 19, 2015 He's talking about the cursor itself being under the first letter (aka bottom) vs. the cursor being vertical to the right of what you are typing. Im not sure how you would achieve this, however I think I understand his question correctly Link to comment Share on other sites More sharing options...
UEZ Posted March 19, 2015 Share Posted March 19, 2015 Have a look to the function _WinAPI_CreateCaret in the help file. 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!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ Link to comment Share on other sites More sharing options...
spudw2k Posted March 19, 2015 Share Posted March 19, 2015 Have a look to the function _WinAPI_CreateCaret in the help file. Thanks for that UEZ. Seems like I learn about a new func every week. Question though...how does one create a bitmap that has a black line at the bottom and a white "mask" top? Spoiler Things I've Made: Always On Top Tool ◊ AU History ◊ Deck of Cards ◊ HideIt ◊ ICU ◊ Icon Freezer ◊ Ipod Ejector ◊ Junos Configuration Explorer ◊ Link Downloader ◊ MD5 Folder Enumerator ◊ PassGen ◊ Ping Tool ◊ Quick NIC ◊ Read OCR ◊ RemoteIT ◊ SchTasksGui ◊ SpyCam ◊ System Scan Report Tool ◊ System UpTime ◊ Transparency Machine ◊ VMWare ESX Builder Misc Code Snippets: ADODB Example ◊ CheckHover ◊ Detect SafeMode ◊ DynEnumArray ◊ GetNetStatData ◊ HashArray ◊ IsBetweenDates ◊ Local Admins ◊ Make Choice ◊ Recursive File List ◊ Remove Sizebox Style ◊ Retrieve PNPDeviceID ◊ Retrieve SysListView32 Contents ◊ Set IE Homepage ◊ Tickle Expired Password ◊ Transpose Array Projects: Drive Space Usage GUI ◊ LEDkIT ◊ Plasma_kIt ◊ Scan Engine Builder ◊ SpeeDBurner ◊ SubnetCalc Cool Stuff: AutoItObject UDF ◊ Extract Icon From Proc ◊ GuiCtrlFontRotate ◊ Hex Edit Funcs ◊ Run binary ◊ Service_UDF Link to comment Share on other sites More sharing options...
UEZ Posted March 19, 2015 Share Posted March 19, 2015 Either you use GDI or GDI+ to create a bitmap as desired with a line at the bottom. Should I create an example? 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!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ Link to comment Share on other sites More sharing options...
spudw2k Posted March 19, 2015 Share Posted March 19, 2015 (edited) I'll see if I can spin up something. edit: Good grief...my skill level with GDI = no. I was thinking I had to create a bitmap then put into a graphics context to draw on it then revert back to bitmap, but I have no idea what I am doing. I really have no idea how to go about it, less creating the bitmap manually in paint and importing...but it would be much better to gen it via code I would think. I'm not sure where to learn about this sort of thing either...besides looking at examples. I usually learn well from examples, but I think when it comes to GDI(+) some good old fashion documentation/tutorials would work best for me. Edited March 19, 2015 by spudw2k Spoiler Things I've Made: Always On Top Tool ◊ AU History ◊ Deck of Cards ◊ HideIt ◊ ICU ◊ Icon Freezer ◊ Ipod Ejector ◊ Junos Configuration Explorer ◊ Link Downloader ◊ MD5 Folder Enumerator ◊ PassGen ◊ Ping Tool ◊ Quick NIC ◊ Read OCR ◊ RemoteIT ◊ SchTasksGui ◊ SpyCam ◊ System Scan Report Tool ◊ System UpTime ◊ Transparency Machine ◊ VMWare ESX Builder Misc Code Snippets: ADODB Example ◊ CheckHover ◊ Detect SafeMode ◊ DynEnumArray ◊ GetNetStatData ◊ HashArray ◊ IsBetweenDates ◊ Local Admins ◊ Make Choice ◊ Recursive File List ◊ Remove Sizebox Style ◊ Retrieve PNPDeviceID ◊ Retrieve SysListView32 Contents ◊ Set IE Homepage ◊ Tickle Expired Password ◊ Transpose Array Projects: Drive Space Usage GUI ◊ LEDkIT ◊ Plasma_kIt ◊ Scan Engine Builder ◊ SpeeDBurner ◊ SubnetCalc Cool Stuff: AutoItObject UDF ◊ Extract Icon From Proc ◊ GuiCtrlFontRotate ◊ Hex Edit Funcs ◊ Run binary ◊ Service_UDF Link to comment Share on other sites More sharing options...
UEZ Posted March 19, 2015 Share Posted March 19, 2015 (edited) Meanwhile there are plenty of GDI+ examples in this forum which is the best documentation / tutorial. Apropos doc / tut. On German and French AutoIt forum there are GDI+ tutorials. Maybe the Google / Bing translator is good enough to understand those. Further we have added a lot of additional GDI+ functions with examples - check out the help file. Anyhow, here an example: expandcollapse popup#include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <GDIPlus.au3> #include <WinAPIRes.au3> #include <WindowsConstants.au3> Global $g_vDuration = Default, $g_hBitmap = _GDIPlus_CreateHBitmapCaretLine() OnAutoItExitRegister('OnAutoItExit') Local $hForm = GUICreate('Test ' & StringReplace(@ScriptName, '.au3', '()'), 400, 93) Local $idInput = GUICtrlCreateInput('', 20, 20, 360, 20) GUICtrlSetFont(-1, 10, 400, 0, "Lucida Console") Local $idButton = GUICtrlCreateButton('Exit', 165, 59, 70, 23) GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND') GUISetState(@SW_SHOW) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $idButton ExitLoop EndSwitch WEnd Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam) #forceref $iMsg Switch $hWnd Case $hForm Switch _WinAPI_LoWord($wParam) Case $idInput Switch _WinAPI_HiWord($wParam) Case $EN_KILLFOCUS _WinAPI_HideCaret($lParam) _WinAPI_DestroyCaret() _WinAPI_SetCaretBlinkTime($g_vDuration) $g_vDuration = Default Case $EN_SETFOCUS $g_vDuration = _WinAPI_SetCaretBlinkTime(250) _WinAPI_CreateCaret($lParam, $g_hBitmap) _WinAPI_ShowCaret($lParam) EndSwitch EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>WM_COMMAND Func OnAutoItExit() _WinAPI_DeleteObject($g_hBitmap) If Not IsKeyword($g_vDuration) Then _WinAPI_SetCaretBlinkTime($g_vDuration) EndIf EndFunc ;==>OnAutoItExit Func _GDIPlus_CreateHBitmapCaretLine($iW = 9, $iH = 14, $iLineSize = 3, $iCaretColor = 0xFF000000, $iBGColor = 0xFFFFFFFF) _GDIPlus_Startup() Local Const $hBitmap = _GDIPlus_BitmapCreateFromScan0($iW, $iH) Local Const $hGfx = _GDIPlus_ImageGetGraphicsContext($hBitmap) Local Const $hBrush = _GDIPlus_BrushCreateSolid(BitXOR(0x00FFFFFF, $iCaretColor)) _GDIPlus_GraphicsClear($hGfx, BitXOR(0x00FFFFFF, $iBGColor)) _GDIPlus_GraphicsFillRect($hGfx, 0, $iH - $iLineSize, $iW, $iLineSize, $hBrush) Local Const $hHBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap) _GDIPlus_GraphicsDispose($hGfx) _GDIPlus_BrushDispose($hBrush) _GDIPlus_BitmapDispose($hBitmap) _GDIPlus_Shutdown() Return $hHBitmap EndFunc The tricky thing is that the brush / bg color must be inverted otherwise you will see the caret inverse. Edited March 19, 2015 by UEZ spudw2k 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!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ Link to comment Share on other sites More sharing options...
spudw2k Posted March 19, 2015 Share Posted March 19, 2015 Very nice. Thanks for taking the time to do that. I was close, but didn't know how to create a bitmap of a specified size. Reading the help file for _GDIPlus_BitmapCreateFromScan0 makes perfect sense. I would have used a line/pen instead of fill/brush had I made it that far. Are fill/brush methods typically better to use or in this crude example would a line/pen method suit as well? Spoiler Things I've Made: Always On Top Tool ◊ AU History ◊ Deck of Cards ◊ HideIt ◊ ICU ◊ Icon Freezer ◊ Ipod Ejector ◊ Junos Configuration Explorer ◊ Link Downloader ◊ MD5 Folder Enumerator ◊ PassGen ◊ Ping Tool ◊ Quick NIC ◊ Read OCR ◊ RemoteIT ◊ SchTasksGui ◊ SpyCam ◊ System Scan Report Tool ◊ System UpTime ◊ Transparency Machine ◊ VMWare ESX Builder Misc Code Snippets: ADODB Example ◊ CheckHover ◊ Detect SafeMode ◊ DynEnumArray ◊ GetNetStatData ◊ HashArray ◊ IsBetweenDates ◊ Local Admins ◊ Make Choice ◊ Recursive File List ◊ Remove Sizebox Style ◊ Retrieve PNPDeviceID ◊ Retrieve SysListView32 Contents ◊ Set IE Homepage ◊ Tickle Expired Password ◊ Transpose Array Projects: Drive Space Usage GUI ◊ LEDkIT ◊ Plasma_kIt ◊ Scan Engine Builder ◊ SpeeDBurner ◊ SubnetCalc Cool Stuff: AutoItObject UDF ◊ Extract Icon From Proc ◊ GuiCtrlFontRotate ◊ Hex Edit Funcs ◊ Run binary ◊ Service_UDF Link to comment Share on other sites More sharing options...
UEZ Posted March 19, 2015 Share Posted March 19, 2015 I think in this example a pen would do also the job whereas you have to set the pen size appropriately. 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!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ 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