Tutorial by Examples: w

A WM_CREATE message is sent to your window procedure during the window's CreateWindowEx call. The lp argument contains a pointer to a CREATESTRUCT which contains the arguments passed to CreateWindowEx. If an application returns 0 from WM_CREATE, the window is created. If an application returns -1, ...
This message is sent to your window procedure when a window is being destroyed. It is sent after the window is removed from the screen. Most applications free any resources, like memory or handles, obtained in WM_CREATE. If you handle this message, return 0. LRESULT CALLBACK winproc(HWND hwnd, UINT...
Sent when an application's close button is clicked. Do not confuse this with WM_DESTROY which is sent when a window will be destroyed. The main difference lies in the fact that closing may be canceled in WM_CLOSE (think of Microsoft Word asking to save your changes), versus that destroying is when t...
This message is sent to the window's window procedure after it's size has changed. The most common reason for handling this message is to adjust the position of any child windows. For example, in Notepad, when the window is resized the child window (edit control) is also resized. Return 0 if you han...
Sent to a window procedure when: the user selects an item from a menu a control sends a notification to its parent window an accelerator keystroke is translated Message SourceHIWORD(wp)LOWORD(wp)lpMenu0Menu ID (IDM_*)0Accelerator1Accel ID (IDM_*)0Controlnotification codeControl idHWND of con...
When you have an input with well defined boundaries and are expecting more than one match in your string, you have two options: Using lazy quantifiers; Using a negated character class. Consider the following: You have a simple templating engine, you want to replace substrings like $[foo] whe...
To get version 5394 use: svn co --revision r5394 https://svn.example.com/svn/MyRepo/MyProject/trunk Or the shorter version: svn co -r 5394 https://svn.example.com/svn/MyRepo/MyProject/trunk Or by using pegged revisions: svn co https://svn.example.com/svn/MyRepo/MyProject/trunk@5394 If al...
pip doesn't current contain a flag to allow a user to update all outdated packages in one shot. However, this can be accomplished by piping commands together in a Windows environment: for /F "delims= " %i in ('pip list --outdated --local') do pip install -U %i This command takes all pa...
To make artisan migrate a fresh database before running tests, use DatabaseMigrations. Also if you want to avoid middleware like Auth, use WithoutMiddleware. <?php use Illuminate\Foundation\Testing\WithoutMiddleware; use Illuminate\Foundation\Testing\DatabaseMigrations; class ExampleTest ...
In the timeline of any DisplayObject that is attached as a descendant of the display tree, you can utilise the root property. This property points to the main timeline in the case of no custom document class, or the document class if you do define one. Because root is typed DisplayObject, the compi...
where can serve two purposes in C#: type constraining in a generic argument, and filtering LINQ queries. In a generic class, let's consider public class Cup<T> { // ... } T is called a type parameter. The class definition can impose constraints on the actual types that can be suppl...
git blame <file> will show the file with each line annotated with the commit that last modified it.
Sometimes repos will have commits that only adjust whitespace, for example fixing indentation or switching between tabs and spaces. This makes it difficult to find the commit where the code was actually written. git blame -w will ignore whitespace-only changes to find where the line really came fr...
Output can be restricted by specifying line ranges as git blame -L <start>,<end> Where <start> and <end> can be: line number git blame -L 10,30 /regex/ git blame -L /void main/, git blame -L 46,/void foo/ +offset, -offset (only for <end>) git blame -...
It is a good idea to maintain a web-scraping session to persist the cookies and other parameters. Additionally, it can result into a performance improvement because requests.Session reuses the underlying TCP connection to a host: import requests with requests.Session() as session: # all req...
Current version (log4j2) Using Maven: Add the following dependency to your POM.xml file: <dependencies> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.6.2</version> </de...
First need to create a final static logger object: final static Logger logger = Logger.getLogger(classname.class); Then, call logging methods: //logs an error message logger.info("Information about some param: " + parameter); // Note that this line could throw a NullPointerException!...
'Will return whether an element is present in the array Public Function IsInArray(values() As String, ByVal whatToFind As String) As Boolean Dim i As Integer i = 0 While i < UBound(values) And values(i) <> whatToFind i = i + 1 Wend IsInArray = valu...
Sometimes you need to keep a linear (non-branching) history of your code commits. If you are working on a branch for a while, this can be tricky if you have to do a regular git pull since that will record a merge with upstream. [alias] up = pull --rebase This will update with your upstream so...
You can use the star * when writing a function to collect all positional (ie. unnamed) arguments in a tuple: def print_args(farg, *args): print("formal arg: %s" % farg) for arg in args: print("another positional arg: %s" % arg) Calling method: print_args(1, &...

Page 66 of 319