MFC Support for Direct2D – Part 5: Interoperability with GDI
There are two ways to combine Direct2D with Windows GDI API in the same application: Drawing Direct2D content to a GDI device context Drawing GDI content to a Direct2D GDI-compatible render target...
View ArticleDouble-click in MDI Client
It’s hard to believe that handling mouse double-clicks in MDI Client windows can be super useful, but I found this problem in a discussion forum. I presumed that it was not only for fun, so I tried to...
View ArticleEasy Screen Capture with MFC
In an older article published at Codeguru, I showed how easy is to make screen capture using CImage ATL/MFC class. Here is the sample code from that article:BOOL CScreenImage::CaptureRect(const...
View ArticleMFC Support for DirectWrite – Part 11: About Trimming Again
In a previous article, I showed how to trim a text which overflows the layout box. In the example presented there, the ellipsis is added at the end of truncated text. But if, let’s say, we have to show...
View ArticleThree Ways to Find Files
Let’ say we have to implement a function that search a folder to recursively find files having an extension from a given list of extensions. This article shows three possible implementations: one using...
View ArticleMFC Support for Direct2D – Part 7: Saving to files
Once have enabled Direct2D support in an MFC application, there is no sweat to load an image from a file, by using one of CD2DBitmap constructors. Unfortunately, we cannot find a CD2DBitmap method to...
View ArticleMFC Support for Windows Animation
Let’s say we have to make a slide show presentation using Cross Fade effect. If the target system is Windows 10, that’s quite easy because Direct2D offers built-in Cross Fade effect. Cross Fade effect...
View ArticleCodexpert – 2017 Articles Summary
MFC Support for Direct2D – Part 3: Multithreading MFC Support for DirectWrite – Part 8: Trimming MFC Support for DirectWrite – Part 9: Hit-Test MFC Support for DirectWrite – Part 10: Outlined Text MFC...
View ArticleMFC Support for Direct2D – Part 8: Lost Render Target
As stated in the Direct2D documentation, the graphics device might become unavailable. If the device is lost, the render target also becomes invalid, along with any device-dependent resources that were...
View ArticleMFC Support for Direct2D – Transforms (1)
Direct2D supports linear transforms like translation, scale, rotation and skew. If using MFC, we can apply transforms to render targets by calling CRenderTarget::SetTransform. Here is an example that...
View Article