Click here to Skip to main content
15,896,348 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: How to stop flickering of controls in my Dialog window Pin
Victor Nijegorodov28-Feb-19 1:02
Victor Nijegorodov28-Feb-19 1:02 
GeneralRe: How to stop flickering of controls in my Dialog window Pin
manoharbalu28-Feb-19 1:56
manoharbalu28-Feb-19 1:56 
AnswerRe: How to stop flickering of controls in my Dialog window Pin
mo149228-Feb-19 3:01
mo149228-Feb-19 3:01 
GeneralRe: How to stop flickering of controls in my Dialog window Pin
manoharbalu1-Mar-19 1:09
manoharbalu1-Mar-19 1:09 
GeneralRe: How to stop flickering of controls in my Dialog window Pin
Victor Nijegorodov1-Mar-19 2:25
Victor Nijegorodov1-Mar-19 2:25 
GeneralRe: How to stop flickering of controls in my Dialog window Pin
mo14921-Mar-19 3:18
mo14921-Mar-19 3:18 
GeneralRe: How to stop flickering of controls in my Dialog window Pin
mo14921-Mar-19 3:33
mo14921-Mar-19 3:33 
AnswerRe: How to stop flickering of controls in my Dialog window Pin
leon de boer1-Mar-19 6:48
leon de boer1-Mar-19 6:48 
I am not a real fan of MFC but I can tell you what windows API is doing.

Dialog backgrounds paint by WM_CTLCOLORDLG, WM_CTLCOLORSTATIC it used to be WM_CTLCOLOR and I suspect MFC still uses WM_CTLCOLOR because it has a couple of bugs.

Usually what you want to do is return a NULL_BRUSH with GetStockObject(NULL_BRUSH);

So this one if you paint the entire dialog then return a NULL_BRUSH
WM_CTLCOLORDLG message - Windows applications | Microsoft Docs[^]

MFC may use this one and again return a NULL_BRUSH
WM_CTLCOLOR message - Windows applications | Microsoft Docs[^]

That means it doesn't paint the background before it sends you an WM_PAINT Smile | :)

If you want/need to transparent overlay the bitmap you have to use a transparent colour to stop flashing
void CDemoDialog::OnPaint()
{
   CPaintDC dc(this); // device context for painting
 
   // transfer the bitmap into paint DC using a transparent color  
   dc.TransparentBlt(
      10, 10, bmp.bmWidth, bmp.bmHeight, // destination coordinates and sizes
      &pDCTmp,                           // source DC .. your DC with bitmap
      0, 0, bmp.bmWidth, bmp.bmHeight,   // source coordinates and sizes
      RGB(255, 0, 0));                   // transparent color

}

In vino veritas


modified 1-Mar-19 12:54pm.

QuestionDialog box margins Pin
Alexander Kindel21-Feb-19 0:24
Alexander Kindel21-Feb-19 0:24 
AnswerRe: Dialog box margins Pin
Richard MacCutchan21-Feb-19 1:04
mveRichard MacCutchan21-Feb-19 1:04 
AnswerRe: Dialog box margins Pin
mo149221-Feb-19 8:45
mo149221-Feb-19 8:45 
GeneralRe: Dialog box margins Pin
Alexander Kindel21-Feb-19 9:30
Alexander Kindel21-Feb-19 9:30 
GeneralRe: Dialog box margins Pin
mo149221-Feb-19 10:02
mo149221-Feb-19 10:02 
GeneralRe: Dialog box margins Pin
leon de boer22-Feb-19 6:05
leon de boer22-Feb-19 6:05 
GeneralRe: Dialog box margins Pin
mo149222-Feb-19 10:01
mo149222-Feb-19 10:01 
AnswerRe: Dialog box margins Pin
Maximilien22-Feb-19 4:23
Maximilien22-Feb-19 4:23 
GeneralRe: Dialog box margins Pin
leon de boer22-Feb-19 5:39
leon de boer22-Feb-19 5:39 
GeneralRe: Dialog box margins Pin
Maximilien23-Feb-19 1:49
Maximilien23-Feb-19 1:49 
GeneralRe: Dialog box margins Pin
leon de boer23-Feb-19 4:30
leon de boer23-Feb-19 4:30 
AnswerRe: Dialog box margins Pin
leon de boer22-Feb-19 5:37
leon de boer22-Feb-19 5:37 
GeneralRe: Dialog box margins Pin
Alexander Kindel22-Feb-19 9:04
Alexander Kindel22-Feb-19 9:04 
GeneralRe: Dialog box margins Pin
leon de boer22-Feb-19 10:00
leon de boer22-Feb-19 10:00 
SuggestionRe: Dialog box margins Pin
David Crow24-Feb-19 16:23
David Crow24-Feb-19 16:23 
QuestionTraceability of Dynamic Memory Allocation Faults Pin
HS_C_Student16-Feb-19 22:24
HS_C_Student16-Feb-19 22:24 
AnswerRe: Traceability of Dynamic Memory Allocation Faults Pin
leon de boer17-Feb-19 20:53
leon de boer17-Feb-19 20:53 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.