• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

machi

[C++] Ajuda: Dialog (Resolvido)

9 mensagens neste tópico

Estou a começar a aprender a trabalhar com aplicações MFC no VC++ (Visual Studio 2005)  e encontro-me com uma dúvida.

Que passos devo seguir para programar o botão de uma barra de navegação de forma a que ao pressionar esse botão se abra uma caixa de diálogo?

No meu caso, por exemplo :

mfc_.jpg

Ao carregar no botao Musica fazer aparecer o Dialog correspondente.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Fazes clique direito no item de menu Musica, "Add event handler...", escolhes COMMAND e a classe apropriada, Mudas o nome do método se quiseres, clicas Finish, e ele cria o método que vai ser chamado quando seleccionares esse item.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Apesar de já ter feito isso, ao correr o programa e pressionar a opção que pretendo não me vai aparecer o dialog correspondente.

Já criei um dialog chamado IDD_MUSICA.

Agora para ligar a opção Musica (barra de tarefas) ao dialog IDD_MUSICA , como fazer ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se estás a aprender, já consideraste a opção de usar a framework em vez de MFC?

Não que te queira mudar, só entender a razão que te leva a escolher esta tecnologia em vez do novo modelo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estou a utilizar esta tecnologia , pois foi a que o professor sugeriu. :(

O trabalho era para ser feito em consola, só que apareceu a ideia de se fazer a aplicação em modo gráfico.

As explicações que ele deu foi com MFC , daí estar a utilizar esta tecnologia!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O único código que tenho até agora é o que é gerado automaticamente quando faço aquilo que me disseste anteriormente...

Fazes clique direito no item de menu Musica, "Add event handler...", escolhes COMMAND e a classe apropriada, Mudas o nome do método se quiseres, clicas Finish, e ele cria o método que vai ser chamado quando seleccionares esse item.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Entao... mas isso só cria uma função e associa-a ao clique no menu. Nessa função tens que colocar o código para mostrar a dialog que criaste.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já está resolvido !  :biggrin:

O problema estava na forma como estava a definir a nova classe.

A classe criada é a seguinte:

class CMusicaDlg : public CDialog
{
DECLARE_DYNAMIC(CMusicaDlg)

public:
CMusicaDlg(CWnd* pParent = NULL);   // standard constructor
virtual ~CMusicaDlg();

enum { IDD = IDD_NOVA_MUSICA };  // nome dado ao Dialog

protected:
virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support

DECLARE_MESSAGE_MAP()
public:
afx_msg void OnMusicaAdicionar();
};

O Dialog vai ser chamado da seguinte forma

void CTrabalhoGraficoApp::OnMusicaAdicionar()
{
CMusicaDlg MusicaDlg;
MusicaDlg.DoModal();
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora