My first guess, if you're a total GDI/C++ newbie, is that you are probably creating a lot of Pens and Brushes. These are constrained resources in Windows. You can only create so many of them before you start to tax your resources. So either make your Brushes and Pens and Windows, etc all at once and re-use them, or dispose of them properly when you're done. I recommend getting a copy of "the Bible" (http://www.amazon.com/Programming-Windows%C2%AE-Fifth-Microsoft/dp/157231995X/ref=sr_1_1?ie=UTF8&s=books&qid=1252788457&sr=8-1) and reading the chapters in there about drawing.
EDIT: It doesn't sound like you're modifying your brushes properly, but since I can't see the code for MakeBrush, I don't know. You're probably creating a lot of brushes behind the scenes and you don't even know it. Seriously, get a copy of Petzold's book and spend an hour or two. You'll end up with more hair on your head later! ;-)
It appears to be a mess to you, because you are refusing to do the ground work, and learn about the anatomy of the system you are working with. Read the [WM_PAINT message](https://docs.microsoft.com/en-us/windows/desktop/gdi/wm-paint) documentation to understand, why your solution exhibits flicker. Better yet, get Petzold's [Programming Windows®](https://www.amazon.com/dp/157231995X). This is the most efficient way to learn Windows programming.
This question (and potential answers) are not generally useful. Please take the time to properly abstract the problem you are trying to solve, instead of just asking how to fix your code. Helping you fix your code just means fixing more of your code. If you want to get a handle on programming the Windows API, get Petzold's [Programming Windows®, Fifth Edition](https://www.amazon.com/dp/157231995X).
[About Painting and Drawing](https://msdn.microsoft.com/en-us/library/dd183315.aspx) explains all of this in exhaustive detail. Although no amount of formal (and informal) documentation can replace a good book. You'll want to get a copy of Petzold's [Programming Windows®, Fifth Edition](https://www.amazon.com/dp/157231995X).
If you are accessing Windows directly (not using a framework), I recommend [*Programming Windows* by Petzold](https://www.amazon.com/Programming-Windows%C2%AE-Fifth-Developer-Reference/dp/157231995X). Also search the MSDN database (e.g. "MSDN C++ transfer window text").
This is explained under the [Device Contexts](https://docs.microsoft.com/en-us/cpp/mfc/device-contexts) topic. In order to understand that document, you're going to have to get a firm grasp on the Windows API first, specficially [Device Contexts](https://msdn.microsoft.com/en-us/library/dd183553.aspx). If that doesn't help, consider getting a good book, e.g. Petzold's [Programming Windows®](https://www.amazon.com/dp/157231995X).
Clearly, the [documentation](https://msdn.microsoft.com/en-us/library/windows/desktop/ms648045.aspx) suggests, that you do **not** want to use `LR_DEFAULTSIZE`. Besides, learning off of YouTube videos is most certainly not going to be a successful undertaking. Get a [good book](https://www.amazon.com/dp/157231995X) and take it from there.
`SRCCOPY` doesn't perform alpha blending. A simple block transfer (which `SRCCOPY` does) is a *lot* faster than alpha blending. Given the code, it's unclear, what you really need. The code (like its formatting) is severely broken. Get a copy of Petzold's [Programming Windows®](https://www.amazon.com/dp/157231995X).
[WM_COMMAND](https://msdn.microsoft.com/en-us/library/windows/desktop/ms647591.aspx). You need a copy of Petzold's [Programming Windows®](https://www.amazon.com/dp/157231995X). Badly.
You cannot hope to become proficient at MFC without a *solid* understanding of the Windows API. Start with Petzold's [Programming Windows®](https://www.amazon.com/dp/157231995X).
There is just so much wrong with the code, it boggles the mind: `1` Don't render in a `WM_LBUTTONDOWN`-handler. Instead, `InvalidateRect` and have the `WM_PAINT`-handler do the rendering. `2` You save the old font, but then just throw it away. You need to select it back into the DC when done. `3` Calling `EndPaint` without `BeginPaint` makes no sense. `4` Inconsistent mixture of generic-text and ANSI strings. `5` No `break;` in a `case` clause. You won't get far by guessing. You need to get a [book](https://www.amazon.com/dp/157231995X).
[Learn to Program for Windows in C++](https://msdn.microsoft.com/en-us/library/windows/desktop/ff381399.aspx). It's also very unlikely that you get anywhere without a good [book](https://www.amazon.com/dp/157231995X). When done, come back and ask a *specific* question.
One glaring issue with your code is resource management. You delete objects you do not own, and forget to delete objects you do own. Destroying a device context while you still have objects selected into it you own is a sure recipe for disaster, too. Guessing won't help you solve the issue. Get a [book](https://www.amazon.com/dp/157231995X), and take it from there.
The generally accepted bible for Win32 is the Petzold book:
http://www.amazon.com/Programming-Windows%C2%AE-Fifth-Microsoft/dp/157231995X
It's not online, but worth purchasing if you're serious about Win32, IMHO.
My first guess, if you're a total GDI/C++ newbie, is that you are probably creating a lot of Pens and Brushes. These are constrained resources in Windows. You can only create so many of them before you start to tax your resources. So either make your Brushes and Pens and Windows, etc all at once and re-use them, or dispose of them properly when you're done. I recommend getting a copy of "the Bible" (http://www.amazon.com/Programming-Windows%C2%AE-Fifth-Microsoft/dp/157231995X/ref=sr_1_1?ie=UTF8&s=books&qid=1252788457&sr=8-1) and reading the chapters in there about drawing.
EDIT: It doesn't sound like you're modifying your brushes properly, but since I can't see the code for MakeBrush, I don't know. You're probably creating a lot of brushes behind the scenes and you don't even know it. Seriously, get a copy of Petzold's book and spend an hour or two. You'll end up with more hair on your head later! ;-)
The classic is Petzold http://www.amazon.com/Programming-Windows-Microsoft-Charles-Petzold/dp/157231995X
Petzolds Programming Windows is probably a good start. It's very extensive.