Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    536

    [visual c++] sfondo dialog

    Ciao a tutti volevo sapere
    come si fa ad impostare un colore come sfondo (o un'immagine)?
    1) a tutta la dialog principale di un progetto visual c++ (6);
    2) oppure solo ad una parte di essa, che permetta poi di aggiungere sopra
    dei pulsanti, degli edit box ecc ecc.
    Ho spostato un'immagine che avevo inserito in un mio vecchio progetto
    per tutta la Dialog e questa si ritrovava infatti sempre sotto alle scritte,
    agli edit e ai pulsanti (anche sotto gli static text, anche se lo sfondo grigio
    di quest'ultimi era visibile e antiestetico, non si può creare un scritta
    con sfondo trasparente?).
    Dopo la compilazione e l'esecuzione però la ritrovavo sopra ad essi però!!
    Potete aiutarmi a capire come si procede?
    Grazie e buone ferie

  2. #2
    Bisogna sovrascrivere il metodo OnCtrlcolor() di CDialog che gestisce il messaggio WM_CTRLCOLOR
    eccoti un esempio:

    codice:
    HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    	
    	if(nCtlColor==CTLCOLOR_DLG||nCtlColor==CTLCOLOR_STATIC)
    	{
    		pDC->SetBkMode(TRANSPARENT);
    		
    		CBitmap sfondo;
    		sfondo.LoadBitmap(IDB_SFONDO);
    		hbr=CreatePatternBrush(HBITMAP(sfondo));
    		sfondo.DeleteObject();
    	}
    	
    	// TODO: Return a different brush if the default is not desired
    	return hbr;
    }
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    536
    lo provo e ci risentiamo ok?
    Grazie tante

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.