Yes, you can programmatically change the contents of a static control. Change the identifier to something other than IDC_STATIC , then you can assign it a member variable. You can set the text using your_var.SetWindowText() .
Edit: how many changes do you make and how fast? I made a quick test program with a timer (set to a duration of 0) that formats and writes a new line to the control when the time is triggered, so it is constantly updated. Here's what it looks like after starting for a while:

And this is what the Task Manager shows:

The spike on the right (at least basically) is the selection of a screenshot of the save program, etc. As soon as I stopped doing such things, the CPU usage returned to the noise level (with a random burst). I left the program running - after half an hour or later, it still succeeds without noticeable CPU usage (quickly, according to the Task Manager, it had not yet used another second of processor time).
source share