Jump to content
Sign in to follow this  
RazerM

Wrap Highlighted Text In Tags

Recommended Posts

RazerM

is it possible to have an input box, and when certain text is highlighted and the user clicks a button, it is wrapped in tags such as:

this is some text (lets say 'some' is highlighted)

user clicks bold

the text becomes this is [bold]some[/bold] text


My Programs:AInstall - Create a standalone installer for your programUnit Converter - Converts Length, Area, Volume, Weight, Temperature and Pressure to different unitsBinary Clock - Hours, minutes and seconds have 10 columns each to display timeAutoIt Editor - Code Editor with Syntax Highlighting.Laserix Editor & Player - Create, Edit and Play Laserix LevelsLyric Syncer - Create and use Synchronised Lyrics.Connect 4 - 2 Player Connect 4 Game (Local or Online!, Formatted Chat!!)MD5, SHA-1, SHA-256, Tiger and Whirlpool Hash Finder - Dictionary and Brute Force FindCool Text Client - Create Rendered ImageMy UDF's:GUI Enhance - Enhance your GUIs visually.IDEA File Encryption - Encrypt and decrypt files easily! File Rename - Rename files easilyRC4 Text Encryption - Encrypt text using the RC4 AlgorithmPrime Number - Check if a number is primeString Remove - remove lots of strings at onceProgress Bar - made easySound UDF - Play, Pause, Resume, Seek and Stop.

Share this post


Link to post
Share on other sites
Lazycat

It's possible - of course. Very little that you can't do in Autoit :)

#include <GUIConstants.au3>

Global $EM_GETSEL = 0x00B0
Global $EM_REPLACESEL = 0x00C2

; == GUI generated with Koda ==);
$Form1 = GUICreate("AForm1", 622, 448, 192, 125)
$Edit1 = GUICtrlCreateEdit("", 8, 8, 401, 273)
GUICtrlSetData($Edit1, "this is some text (lets say 'some' is highlighted)")
$Button1 = GUICtrlCreateButton("Bold", 8, 304, 75, 25, 0)
GUISetState(@SW_SHOW)
While 1
    $msg = GuiGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
        ExitLoop
    Case $msg = $Button1 
        WrapToTag($Edit1, "bold")
    Case Else
;;;;;;;
    EndSelect
WEnd

Func WrapToTag($control, $tag)
        Local $editpos = GUICtrlRecvMsg($control, $EM_GETSEL)
        If UBound($editpos) = 0 Then Return
        Local $selection = StringMid(GUICtrlRead($control), $editpos[0]+1, $editpos[1]-$editpos[0])
        GUICtrlSendMsg($control, $EM_REPLACESEL, 0, StringFormat("[%s]%s[/%s]", $tag, $selection, $tag))
EndFunc
Edited by Lazycat

Share this post


Link to post
Share on other sites
RazerM

thanks for the reply, it works


My Programs:AInstall - Create a standalone installer for your programUnit Converter - Converts Length, Area, Volume, Weight, Temperature and Pressure to different unitsBinary Clock - Hours, minutes and seconds have 10 columns each to display timeAutoIt Editor - Code Editor with Syntax Highlighting.Laserix Editor & Player - Create, Edit and Play Laserix LevelsLyric Syncer - Create and use Synchronised Lyrics.Connect 4 - 2 Player Connect 4 Game (Local or Online!, Formatted Chat!!)MD5, SHA-1, SHA-256, Tiger and Whirlpool Hash Finder - Dictionary and Brute Force FindCool Text Client - Create Rendered ImageMy UDF's:GUI Enhance - Enhance your GUIs visually.IDEA File Encryption - Encrypt and decrypt files easily! File Rename - Rename files easilyRC4 Text Encryption - Encrypt text using the RC4 AlgorithmPrime Number - Check if a number is primeString Remove - remove lots of strings at onceProgress Bar - made easySound UDF - Play, Pause, Resume, Seek and Stop.

Share this post


Link to post
Share on other sites
SmOke_N

It's possible - of course. Very little that you can't do in Autoit :)

#include <GUIConstants.au3>

Global $EM_GETSEL = 0x00B0
Global $EM_REPLACESEL = 0x00C2

; == GUI generated with Koda ==);
$Form1 = GUICreate("AForm1", 622, 448, 192, 125)
$Edit1 = GUICtrlCreateEdit("", 8, 8, 401, 273)
GUICtrlSetData($Edit1, "this is some text (lets say 'some' is highlighted)")
$Button1 = GUICtrlCreateButton("Bold", 8, 304, 75, 25, 0)
GUISetState(@SW_SHOW)
While 1
    $msg = GuiGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
        ExitLoop
    Case $msg = $Button1 
        WrapToTag($Edit1, "bold")
    Case Else
;;;;;;;
    EndSelect
WEnd

Func WrapToTag($control, $tag)
        Local $editpos = GUICtrlRecvMsg($control, $EM_GETSEL)
        If UBound($editpos) = 0 Then Return
        Local $selection = StringMid(GUICtrlRead($control), $editpos[0]+1, $editpos[1]-$editpos[0])
        GUICtrlSendMsg($control, $EM_REPLACESEL, 0, StringFormat("[%s]%s[/%s]", $tag, $selection, $tag))
EndFunc
That's awesome LC!!

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

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  

×