Draw on Title Bar | CodeGuru

Draw on Title Bar

Many people was asking how to change the title bar of a window. Here is a small sample, which draws a color gradient on the title bar. First, we create a simple dialog box without system menu. Then, we have to intercept the WM_NCPAINT message and set up an own hanler, which draws the title […]

Written By
CodeGuru Staff
CodeGuru Staff
Dec 17, 1999
1 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

Many people was asking how to change the title bar of a window. Here is a small sample,
which draws a color gradient on the title bar.

First, we create a simple dialog box without system menu. Then, we have to intercept the
WM_NCPAINT message and set up an own hanler, which draws the title bar of the window.
To draw on the title bar, we must set up a CWindowDC device context, to draw on non-client
area of the window. To draw the system buttons, we use the DrawFrameControl member.

That’s all!! If you don’t want system menu, close or minimize button. But if we want some
of these, you need to set up handlers for mouse events. (WM_NCLBUTTONDOWN, WM_NCHITTEST,
WM_NCLBUTTONUP)

The small sample project draws a gradient title bar for a dialog window, with close button.
(I compiled with VisualC++ 5.0)

Downloads

Download demo project – 17 Kb

CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.