machi Posted November 20, 2006 at 02:15 AM Report #65409 Posted November 20, 2006 at 02:15 AM 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, ao carregar no botão Musica fazer aparecer o Dialog correspondente.
TheDark Posted November 20, 2006 at 03:56 AM Report #65411 Posted November 20, 2006 at 03:56 AM 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. Desaparecido.
machi Posted November 21, 2006 at 12:56 PM Author Report #65703 Posted November 21, 2006 at 12:56 PM 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 ?
shumy Posted November 21, 2006 at 01:08 PM Report #65706 Posted November 21, 2006 at 01:08 PM 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. Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!
machi Posted November 21, 2006 at 01:26 PM Author Report #65708 Posted November 21, 2006 at 01:26 PM 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!
TheDark Posted November 21, 2006 at 03:14 PM Report #65721 Posted November 21, 2006 at 03:14 PM Mostra o código 😞 Desaparecido.
machi Posted November 21, 2006 at 03:43 PM Author Report #65734 Posted November 21, 2006 at 03:43 PM 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.
TheDark Posted November 21, 2006 at 04:24 PM Report #65742 Posted November 21, 2006 at 04:24 PM 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. Desaparecido.
machi Posted November 21, 2006 at 05:07 PM Author Report #65756 Posted November 21, 2006 at 05:07 PM Já está resolvido ! 😁 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(); }
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now