LAttilaD Posted February 21, 2023 Posted February 21, 2023 Hi guys. I’m working on a little text editor which uses a _GuiCtrlRichEdit. This is Windows 7. The caret (not the mouse cursor) is just a thin vertical line, but I would like something nicer. Notepad++ can change the width of the caret, well, it wasn’t written in AutoIt, but runs on the same Windows and I know AutoIt can achieve anything possible, just my knowledge isn’t enough. Can I change, please, either or both the width or the color of the caret? Láng Attila D., LAttilaD.org
ioa747 Posted February 21, 2023 Posted February 21, 2023 look _WinAPI_CreateCaret() if help I know that I know nothing
LAttilaD Posted February 21, 2023 Author Posted February 21, 2023 51 minutes ago, ioa747 said: look _WinAPI_CreateCaret() if help Wow! Thank you. I was sure there should be a way. Well, the only problem with it – it doesn’t work in my app. The example on the help page does work, so I copied the contents of function WM_COMMAND into my one (it already does have a WM_COMMAND), replaced the variables to my ones, and – no change. Now it looks like: Global $duration=Default, $cursorbitmap = _WinAPI_CreateSolidBitmap(0, 0x00AEFF, 10, 14) ……… Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam) #forceref $iMsg $duration = -1 Switch $hWnd Case $gui Switch _WinAPI_LoWord($iwParam) Case $editor Switch _WinAPI_HiWord($iwParam) Case $EN_KILLFOCUS _WinAPI_HideCaret($ilParam) _WinAPI_DestroyCaret() _WinAPI_SetCaretBlinkTime($duration) $duration = Default Case $EN_SETFOCUS $duration = _WinAPI_SetCaretBlinkTime(-1) _WinAPI_CreateCaret($ilParam, $cursorbitmap) _WinAPI_ShowCaret($ilParam) EndSwitch EndSwitch EndSwitch Local $iCmdID = _WinAPI_LoWord($iwParam) runcommand($iCmdID) Return $GUI_RUNDEFMSG EndFunc ;==>WM_COMMAND (runcommand is my function to handle keyboard shortcuts) But still I’m seeing the old vertical line cursor. Láng Attila D., LAttilaD.org
LAttilaD Posted February 21, 2023 Author Posted February 21, 2023 Now I’ve changed the original code from the help page, replacing the GuiCtrlCreateInput with a _GuiCtrlRichEdit, and there is no orange square cursor, I’m seeing the vertical line again. So apparently it doesn’t work with a Richedit control. Láng Attila D., LAttilaD.org
Moderators Melba23 Posted February 22, 2023 Moderators Posted February 22, 2023 Moved to the appropriate AutoIt General Help and Support forum, as the Developer General Discussion forum very clearly states: Quote General development and scripting discussions. Do not create AutoIt-related topics here, use the AutoIt General Help and Support or AutoIt Technical Discussion forums. Moderation Team Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
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