Bricscad toolbars

Can Bricscad toolbars be locked? They seem to have a tendency to move (accidentally or otherwise).
Thank you in advance for your help.
--
Phil

Comments

  • Hi Phillip,

    as far as I'm aware there isn't any built-in features to lock a toolbars location.

    Toolbar visibility and location are captured with your Profile. You could setup your toolbars how you like, then export your profile to disk. To reset your toolbars back to your preferences, you would import the previously saved profile from disk.

    Regards,

    Jason Bourhill

    CAD Concepts


  • I use AutoHotKey to do this.  www.autohotkey.com   The concept (from Owen Wengerd) is to fire an immediate "left mouse button up" after a "left mouse button down" is detected.  The reason the toolbars get moved is that all mouse clicks in Windows are treated as "drag and drop" actions.  If the mouse movement between click an release is very small Windows assumes you want to select.  If the distance is larger Windows assumes you want to move something. 

    The section with XPosition and YPosition carves out buttons with flyouts.  For these you must have drag and drop working.  I used AHK_Window_Info_v1.7.ahk to determine the edges of the buttons that needed drag and drop.  If you do carve-outs on toolbars on the right or bottom be aware that the required X and Y values for those toolbar buttons change if you shrink the screen.  What I show needs to have Bricscad full screen.

    The ~Rbutton: code is an attempt to fix a problem I have with quick left click then right click, such as a selection then a right click to say "I'm done".  Bricscad tends to miss the right click if the clicks overlap.

    If you use V12 change "BricsCAD" in the #ifWinActive line to "Bricscad".

    [code]
    #NoEnv
    #Persistent
    #SingleInstance force
    #UseHook on
    Process, priority, , high
    SetTitleMatchMode 1

    #ifWinActive BricsCAD
    {
      ~Lbutton::
        MouseGetPos, XPosition, YPosition, WindowID, ControlName
        ControlGetText, ControlText, ControlName
        StringLeft, String, ControlName, 7                                       
        if (String = "Toolbar")
          {
            if    (XPosition >=  975 AND XPosition <= 1020 AND YPosition >=   47 AND YPosition <=   68)<br>           OR (XPosition >= 1136 AND XPosition <= 1181 AND YPosition >=   47 AND YPosition <=   68)<br>           OR (XPosition >=  701 AND XPosition <=  723 AND YPosition >=   78 AND YPosition <=   99)<br>           OR (XPosition >= 1836 AND XPosition <= 1858 AND YPosition >=  361 AND YPosition <=  404)<br>           OR (XPosition >= 1867 AND XPosition <= 1889 AND YPosition >=  361 AND YPosition <=  404)<br>           OR (XPosition >= 1898 AND XPosition <= 1920 AND YPosition >=  361 AND YPosition <=  382)<br>           OR (XPosition >= 1836 AND XPosition <= 1858 AND YPosition >=  735 AND YPosition <=  756)<br>           OR (XPosition >= 1836 AND XPosition <= 1858 AND YPosition >=  779 AND YPosition <=  800)<br>           OR (XPosition >= 1867 AND XPosition <= 1889 AND YPosition >=  779 AND YPosition <=  800)<br>        {
            }
          else
            {
              send {LButton up}
            }
          }
      Return
     
      ~Rbutton::
        GetKeyState, state, Lbutton
        if state = D
          send {LButton up}
        send {RButton down}
      Return 
    }
    [/code]

This discussion has been closed.