Win32API block mouse effects - winapi

I'm currently programming in c++ with the native windows library. Here is the thing: my program has to allow the user to capture a part of his screen. He has to select an area of the screen (with the mouse) while pressing the Ctrl key. Thus the question is how to disable the mouse effects (text selection on websites for example...) while he's pressing the the Ctrl key?
Thank you in advance!

Related

Listbox won't show keyboard caret when clicked on by mouse or focus programatically set

I'm using a CListBox with Extended selection. When I click on the control, no keyboard caret is shown. Using the up and down arrows also doesn't allow me to show the caret. If I press tab and then shift tab, I can then see the caret. Using GotoDlgCtrl(&listboxCtrl) or listboxCtrl.SetFocus() also don't work.
How can I get the keyboard caret to show up on mouse click or programmatically?
Using the mouse is not supposed to display the keyboard related UI features:
For example, if the last input came from the mouse, the system will hide the keyboard cues. And, if the last input came from the keyboard, the system will show the keyboard cues.
To fake a change you can use:
PostMessage/SendMessage(hListBox, WM_UPDATEUISTATE, MAKELONG(UIS_CLEAR, UISF_HIDEACCEL|UISF_HIDEFOCUS), 0);
...or send it to your top-level window if you want to apply the change to all children.

plugin to set selection start cursor in Firefox without holding mouse button?

when selecting large swaths of text from webpage I have to keep left mouse button pressed while searching for the selection's end. It would be nice if the browser would "remember" selection's start point and let me search for the ending point, e.g. by dragging the scrollbar downwards, without pressing the mouse button.
Does a plugin or other implementation of this sort already exist?
The answer to this is OS/Windowing system specific. In most/all systems there is a normal way to have the system perform what you are desiring. An add-on for Firefox is not required.
Windows:
If you click (button down and up, not button down and hold) at the start, or the end of the selection you desire then move the mouse to the other end of the desired selection (scrolling the page as needed to get the the other end) you can then hold the shift key down and click again. This will select the entire region from the first point you clicked to the second point you clicked while holding the shift key. You can adjust the selection by continuing to hold the shift key while doing any of: clicking on a different location, performing a click-drag movement, or using the keyboard cursor keys. This adjustment does not change the point at which you first clicked, just the second, end point.
It is also possible to use the control key to select individual items. This is possible in combination with clicks, double-clicks, and triple-clicks. An example would be to move your mouse around in this paragraph holding the ctrl key down while double-clicking on various words. Your selection will include just the words on which you double-clicked. In some instances, when using only a single ctrl-click to select from a discrete list (e.g. a Windows Explorer folder display), a second ctrl-click on the same item will de-select it. You can also combine the use of ctrl-click and shift-click to create more complex selections with the beginning of the shift-click selection starting at the most recent ctrl-click location.
The Mouse and Pointers page in the Windows Dev Center provides some fairly technical descriptions as guidelines for Windows developers.
Linux (using GNOME):
The interactions are similar to What was described for Windows, but a bit different. Section 10.1.2. Selecting Objects of the GNOME Human Interface Guidelines 2.2.3 provides a good description.
Apple/OSX:
The Macintosh Human Interface Guidelines describes how selections can be made on Apple machines.

FocusIn/FocusOut not generated

Can someone please clarify the default focus handling of the X11 server? My understanding is that the focus 'follows the mouse' and sure enough if I move the mouse between separate terminals I can see the cursor changing as each window aquires/loses the focus.
But when I run two xev windows and move the pointer between them, I see plenty of MotionNotify/EnterNotify/LeaveNotify as the pointer moves from one window to another - but FocusIn and FocusOut are nowhere to be seen. Is this an oddity in xev? Is there some special mask or property which needs to be applied in order for these events to be generated?
Many thanks, R.
While I do not fully understand the answer(s), I am grateful to parkydr, minitech and any others who may have stopped by.
Thanks again, R.
Having focus refers to the window which receives keyboard input when you press a key.
The focus handling depends on your window manager. The most common mode is click to focus, which your window manager is set to, where you only get focus when you click on the window. An alternative is that the keyboard focus follows the mouse, which is what you are expecting.
There should be a setting to change this in your window manager settings.
The cursor changing does not indicate focus, just that the terminal has defined a different cursor.
To demonstrate, open a terminal and an xev window.
Click on the xev window and press a key, you will see key events.
Move the mouse to the terminal window, you'll see the motion and leave events
Press a key and you'll still see key events from xev
Click on the terminal window, xev will give a focus out event
Press a key, the characters will be displayed in the terminal window
Move the mouse over the xev window and press a key, the character will still come out in the terminal window

CTRL+mouse wheel in gvim (windows) not paging

I'm loving vim, but one thing that's bugging me is that when I hold the control key and mouse wheel up or down, the window scrolls normally when the bindings are telling it to page up/down.
I'm using the exact same vimrc file (and plugins) on one of my linux machines and the CTRL+mouse wheel does page up down (as opposed to just normally scrolling like in windows).
Is there some way to force gvim to response to a ctrl+MouseUp/Down event? It seems to be ignoring it in windows ='[
In insert mode, pressing <Ctrl+V>, holding <Ctrl>, and then scrolling with the mouse doesn't input an escape sequence, which implies that it's not possible to remap actions from the scroll wheel. Compare, for example, <Ctrl+V> then <Ctrl> with a left click, which inserts <C-LeftMouse>. There doesn't seem to be anything in the help about mouse events beyond the clicks either.

Favorite Windows keyboard shortcuts [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I'm a keyboard junkie. I love having a key sequence to do everything. What are your favorite keyboard shortcuts?
I'll start by naming a couple of mine:
1 - Alt-Space to access the windows menu for the current window
2 - F2 to rename a file in Windows Explorer
Win + Pause/Break to bring up computer information and to access environment variables under the Advanced tab.
Win + R to go straight to the run box (though I barely use this anymore since I started with Launchy).
Of course Alt + Tab but also Alt + Shift + Tab for going backwards.
Oh, and personally, I hate Ctrl + F4 for closing tabs - too much of a pinky stretch.
Oh and try Win + Tab on Windows 7 (with Aero on).
Win + 1 .. 9 -- Start quick launch shortcut at that index (Windows Vista).
Ctrl + Scroll Lock, Scroll Lock -- Crash your computer: Windows feature lets you generate a memory dump file by using the keyboard
#gabr -- Win + D is show desktop, Win + M minimizes all windows. Hitting Win + D twice brings everything back as it has only shown the desktop window in front of the other windows.
Alt-F4 to close a program.
WindowsKey + L to lock my workstation
Ctr-Shift-Ins to copy text from a textbox
Alt-Print Screen to capture a shot of just a window
WindowsKey + R to open the "Run" dialog (XP Pro only- does something else on XP Home)
Win-D to minimize all applications
Ctrl-Shift-Esc to open Task Manager
Win-L to lock the computer..
To maximize a window: Alt+Space, X
To restore a window: Alt+Space, R
To minimize a window: Alt+Space, N
To close a window: Alt+Space, C
I try to stick to my keyboard as well. I frequently use...
Win+L to Lock my system
Alt+F4 to close a program
Win+R to launch from the Run Window (Used for frequent programs instead of going through QuickLaunch)
F2 to rename a file
Win+D to go to Desktop
Alt+Tab and Alt+Tab+Shift to cycle through open programs
Visual Studio
Alt, D (debug), P (process), W (webdev process)
Alt, T (Tools), P (process), W (webdev process) for VS 2008
Alt, M, O to collapse to definitions
F5 to launch
F9, F10, and F11 for stepping through debugger
Alt+K, D to format a document
Alt+K, C to comment
Alt+K, U to uncomment
Browser
Alt+W to close tab
F6 to focus on the address bar
How is this not here?
+Pause to System Information. Then the system PATH variable is only 2 clicks away (Advanced system settings,Environment Variables...)
F4 in windows explorer to access the location bar trivially.
Menu key (next to the right-hand windows key) + W + F to create a new folder in explorer.
Win + E to open an Windows Explorer reference
Win + R from the Run box
Ctrl + Esc to open the start menu
And, of course, Alt + F4 to close things.
A few basic keyboard shortcuts for clipboard operations, text selection, and navigation that work in most Windows programs:
Clipboard
Ctrl+X - Clipboard Cut
Ctrl+C - Clipboard Copy
Ctrl+V - Clipboard Paste
Selecting Text
Ctrl+A - Select All (in the current field or document)
Shift+[navigate with ▲/▼, Home/End, or Pg Up/Pg Dn] - Select text between the caret's previous and new positions. Continue to hold Shift and navigate to select more text.
Navigation
Ctrl+left arrow / Ctrl+right arrow - Move the caret to the previous/next word
Ctrl+Home / Ctrl+End - Go to beginning/end of the current field or document
Bonus Tip!
Before submitting a web form where you've entered a lot of text into a text field (for example, an email in a web-based mail client -- or a new question or answer on Stack Overflow!), do a quick Ctrl+A, Ctrl+C on the field. That way, if something goes wrong with the submit (even if the browser crashes), you haven't lost your work -- you have a copy of it sitting on the clipboard.
Ctrl+Shift+Esc to go straight to the task manager without any intermediate dialogs.
In calc, F5, F6, F7, F8 cycle between Hex, Dec, Oct, Bin mode.
I use the free AutoHotKey, then I define my own shortcuts:
dobule tap F4 quickly => Close active Windows (like Alt+F4 but with one finger only)
double tap Right Alt quickly => Find and Run Robot task manager
F12 => open Find and Run Robot Locate32 plugin (I use it like a very lightweight desktop search)
Ctrl+Up / Down in a command window => scroll back / forward command line like the mouse wheel
Ctrl+w in a command windows => close window
etc.
For when you have a window stuck under an appbar and can't get at that window's system menu to move it:
alt-spacebar -> M -> arrow keys -> return
On Windows Vista, if you bring up the Start menu and search for a program, pressing Ctrl+Shift+Enter will run the selected program as Administrator. So to open an Administrator command prompt:
Windows key, type "cmd", Ctrl+Shift+Enter
My personal favourite is WinKey, U, Enter - shuts Windows down! ;-)
win+M to minimise all. Useful for quick trips to the desktop.
+[type name of program] to launch a program in Vista
+E for explorer
+F for find
Alt+Tab to swap between programs
Ctrl+Tab to swawp between tabs
Not really a 'Windows' shortcut, but the Ctrl+Alt+numpad and Ctrl+Alt+[arrows] to move and resize windows and move them to another monitor using WinSplit Revolution are absolutely great. I would never use large or multiple monitors without them.
Ctrl + Shift + ESC : Run Task Manager
Ctrl/Shift + Insert : Copy/Paste
Shift + Delete : Cut (text)
Win + L : Lock System
Win + R : Run
Ctrl + Pause Break : Break Loop (Programming)
Ctrl + Tab : Tab Change
Win+Pause/Break for System Properties
Win+E: open windows explorer
Win+F: find
Win+R: run
Win+M: minimize all windows
Win+Shift+M: restore all windows
Alt+F4: close program
Alt+Tab: switch between tasks
Ctrl+Alt+Del: task manager
Repeat Ctrl + Alt + Del Twice!
Many say that Win-D minimises all applications. Not true. It simply shows the desktop. Use Win-M to minimise all open windows. Use Win-Shift-M to restore them to their previous state.
By the way, did you notice that the Sift key can be combined with most of the usual shortcuts? e.g. Alt+Tab : cycle through applications 1->2->3->4->...1 Add Shift to the shortcut and you will be cycling in the opposite direction 1<-2<-3<-4<- ...1
Control+Tab to switch between Tabs in most Windows applications (sadly not in Eclipse) - you can already guess what Ctr+Shift+Tab will do. Especially handy in Firefox, IE, etc... where you have more than one Tab open and try going to the previous one. Very handy.
And one more tip, this is soooo handy, I love it. Only found out about it a couple of weeks ago:
FireFox users: tired of rightclick->Open Link in New Tab?
Click a link with MIDDLE mouse button and it will open in a new tab (depends on your Tabs settings in Tools->Options but by default would work). The magical thing about this is that it works even for the browser's Back button! Also when you type a search term into the Google box (usually in top right corner) and middle-click the search button, the search results are opened in a new tab. Closing tabs is also much easier with the middle mouse button (of course you can do Ctrl+W but sometimes the mouse is simply in your hand). You don't have to click the tab's red button to close it. Simply middle-click anywhere on the tab and it will be closed.
EDIT
I just tried the middle button in IE 7 and seems to work just like it does in FF, except for the Back-button and Search widget.
Ctrl + Shift + Esc -> Open Task Manager
Ctrl + W -> closes windows in MDIs where Ctrl+F4 doesn't work
Those and the Win + Number is Vista are used constantly.
Also a nice trick is Win + Tab -> cycles through program groups on task bar in Windows Xp and Server 2003. (i.e. same as Vista without the previews).
It's not a keyboard shortcut, but my favourite trick is to bind the large thumb button on the rat to move window, the smaller thumb button to resize. That way, windows can be moved and resized very easily and naturally. You can probably to that in windows too.
As for keyboard tricks, I use right ctrl+keypad to pick (one of nine) virtual screens. Very quick and natural.
In any dialog with tabs, Ctrl-Page Up/Down to cycle between the tabs.
Not really an answer, but a hint for a good source to look from - if no one cited it above wikipedia has all ( for the most important OS's) - not the best
I don't have favorites among keyboard shortcuts -- they are all utility entities to me...
Except for +L, which means another coffee break!
Windows
Windows right click key, next to the right alt can be very useful.
For the noobs,
tab and shift-tab to cycle through inputs
alt-tab and alt-shift-tab to cycle through the windows
ctrl-tab and alt-shift-tab to cycle through the tabs
ctrl-printscreen to snapshot the entire screen
and alt-printscreen to snapshot the current window
for some dialog windows ctrl-c will copy the message
Console
alt-space then e,p to paste in windows console
alt-space then e,k to mark in console
tab and shifttab to cycle autocomplete in console
Visual Studio
ctrl-shift-f Search in files
ctrl-f Search page
F12 Goto definition of the current word
F2 Rename selected text
F4 Open properties tab for selected
Highlight section and tab or shifttab Indent a block of text
ctrl-k,d Format Document
ctrl-k,c Comment out highlighted text
ctrl-k,u,c Un-comment highlighted text
ctrl-m,o Collapse to definitions
ctrl-m,m Toggle open and close the current method/function
ctrl-alt,l Open solution pane
ctrl-alt,o Open output pane
and of course ctrl-space for intellisense
My favourites are the following (which I have not been able to spot in the responses above):
F12 Save as in Office applications
Ctrl + Home Scroll to the top of the page in most applications or go to cell A1 in Excel
Ctrl + Delete Go back to the cursor in a Word document or back to the active cell in Excel
Ctrl + Shift + End Select a whole table in Excel from its top-left corner. If the table starts at A1, use in conjunction with the above for super speedy one-handed table selecting
It's already been said, but I'm repeating F6 to go directly to the browser address bar because it rocks!

Resources