Fenstergröße

dirk_red

Grünschnabel
Habe gerade angefangen mit der MFC zu Arbeiten und mache dazu ein par Übungen!

Ich habe einen Dialog erstellt bei dem sich die Größe ändern lässte. In diesem Dialog zeichne ich ein rechteck. Nun möchte ich die größe des rechtecks anpassen wenn sich die Größe des Dialogs verändert! Komme aber nicht ganz klar welche Nachricht muss ich abfangen muss ich das rechteck ungültig erklären ?

Code:
  void CDialogDlg::OnPaint() 
  {
  	if (IsIconic())
  	{
  		CPaintDC dc(this); // Gerätekontext zum Zeichnen
  
 		SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
  
  		// Symbol in Clientrechteck zentrieren
  		int cxIcon = GetSystemMetrics(SM_CXICON);
  		int cyIcon = GetSystemMetrics(SM_CYICON);
  		CRect rect;
  		GetClientRect(&rect);
  		int x = (rect.Width() - cxIcon + 1) / 2;
  		int y = (rect.Height() - cyIcon + 1) / 2;
  
  		// Symbol zeichnen
  		dc.DrawIcon(x, y, m_hIcon);
  	}
  	else
  	{
  		CPaintDC dc(this);
   
   		CRect dlgRect;
   		
   		GetClientRect(dlgRect);
   		desRct1.SetRect(10,10,dlgRect.Width()-10,80);
   		dc.FillRect(desRct1,&CBrush(RGB(0,0,122)));
     
  	}
  
  }

Danke und Gruß Dirk

Arbeite mit VC++.Net
 
erkläre den Dialogbereich in OnSize für ungültig dann klappts aber leider flackert jetzt das gezeichnete rechteck beim ändern der größe des Dialogs
was mach ich falsch
Gruß Dirk
 
Hy!

Das flackern ist ganz normal, du siehst das der Zeichenbereich gelöscht wird, und dann erst wieder das Rechteck gezeichnet wird.

mfg
uhu01
 
Zurück