Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gogumelo

Imagem de Background

Recommended Posts

Opa!

 

To precisando fazer umas alterações em um programa, e uma das alteraçoes é por uma imagem de fundo na janela principal.

 

Como faz isso? já que ele cria a janela pelo CreateWindow, atualmente ele tá criando uma janela transparente, que exibe apenas um swf.

 

o código tá assim

 

HWND hwndFlashPlayerControl =

CreateWindowEx(WS_EX_TOOLWINDOW | WS_EX_LAYERED,

(LPCTSTR)FPC_GetClassAtom(m_hFPC),

NULL,

WS_POPUP | WS_VISIBLE,

rc.left,

rc.top,

rc.right - rc.left,

rc.bottom - rc.top,

NULL,

NULL,

NULL,

NULL);

 

CFlashPlayerControlWnd* pFlashProjectorWnd = new CFlashPlayerControlWnd;

 

pFlashProjectorWnd->SubclassWindow(hwndFlashPlayerControl);

pFlashProjectorWnd->SetWindowText(_T("Software Teste"));

pFlashProjectorWnd->TrayMessage(NIM_ADD);

pFlashProjectorWnd->CenterWindow();

pFlashProjectorWnd->ShowWindow(SW_SHOW);

pFlashProjectorWnd->UpdateWindow();

 

 

existe alguma propriedade que já seta o background? eu to boiando nao manjo nada de c++ ehehe

 

qualquer ajuda é bem-vinda!

 

obrigado

absss

Compartilhar este post


Link para o post
Compartilhar em outros sites

em bibliotecas graficas como o bgi tem o setbkcolor(), que altera a cor do fundo, se nao resolver olhe o help que ele pode te ajudar,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigo, você está usando que Ambiente de programação ? Qual Compilador?

 

Bom, ao inves de usar o (LPCTSTR)FPC_GetClassAtom, no segundo parametro do CreateWindowEx, você pode registrar uma classe de window...

 

WNDCLASS wndcls;

memset(&wndcls, 0, sizeof(WNDCLASS));   // start with NULL defaults

wndcls.style = CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW;
wndcls.lpfnWndProc = ::DefWindowProc;
wndcls.hInstance = m_hInstance;
wndcls.hIcon = LoadIcon(m_hInstance, MAKEINTRESOURCE(IDR_MAINFRAME)); // or load a different icon
wndcls.hCursor = LoadCursor(m_hInstance, MAKEINTRESOURCE( IDC_ARROW ));

wndcls.hbrBackground =  (HBRUSH) (COLOR_WINDOW + 1);//Cor de Fundo

wndcls.lpszMenuName = NULL;
	
wndcls.lpszClassName = NOME DA CLASSE;(usado depois pelo createWindowEx)

if(!RegisterClass(&wndcls))
{
	return false;
}

Só lembre depois, quando não for mais utilizar a classe da window registrada, chamar o:

UnregisterClass(NOME DA CLASSE,m_hInstance);

Qualquer dúvida, há outras maneiras...

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.