Alef Postado Dezembro 1, 2009 Denunciar Share Postado Dezembro 1, 2009 Pessoal, buenas! :blink: Digitei o código abaixo no Dev C++ e pimba... além de uma lista de erros o primeiro da lista é o "HJAN" UNDECLARED!Alguém arrisca alguma dica??? Como faço para esse código funcionar?? rsAgradeço possíveis sugestões!#include <windows.h> #include "generic.h" HINSTANCE hCop; LPCTSTR lpszNomeAplic = "Genérico"; LPCTSTR lpszTitulo = "Aplicativo Genérico"; BOOL RegisterWin95(CONST WNDCLASS* lpwc); int APIENTRY WinMain (HINSTANCE hCopia, HINSTANCE hCopiaAnt, LPSTR lpLinhaCmd, int nCmdExibe) { MSG msg; [b]HJAN hJan;[/b] <_< aqui é o valorzinho "undeclared" entre outros conflitos WNDCLASS cj; cj.style = CS_HREDRAW | CS_VREDRAW; cj.lpfnWndProc = (WNDPROC) ProcJan; cj.cbClsExtra = 0; cj.cbWndExtra = 0; cj.hInstance = 0; cj.hIcon = LoadIcon(hCopia, lpszNomeAplic); cj.hCursor = LoadCursor(NULL, IDC_ARROW); cj.hbrBackground = (HBRUSH) (COLOR_WINDOW+1); cj.lpszMenuName = lpszNomeAplic; cj.lpszClassName = lpszNomeAplic; if(!RegisterWin95(&cj)) return false; hCop = hCopia; hJan = CreateWindow (lpszNomeAplic, lpszTitulo, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hCopia, NULL); if(!hJan) return false; ShowWindow(hJan, nCmdExibe); UpdateWindow(hJan); while(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return(msg.wParam); } BOOL RegisterWin95 (CONST WNDCLASS* lpcj) { WNDCLASSEX cjex; cjex.style cjex.lpfnWndProc cjex.cbClsExtra cjex.cbWndExtra cjex.hInstance cjex.hIcon cjex.hCursor cjex.hbrBackground cjex.lpszMenuName cjex.lpszClassName cjex.cbSize cjex.hIconSm return'RegisterClassEx(&cjex); } LRESULT CALLBACK ProcJan(HJAN hJan, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch(uMsg) { case WM_COMMAND: switch(LOWORD(wParam)) { case IDM_TESTAR : break case IDM_SAIR : DestroyWindow(hJan); break; } break; case WM_DESTROY : PostQuitMessage(0); break; default: return (DefWindowProc(hJan, uMsg, wParam, lParam)); } return(0L); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Dezembro 1, 2009 Denunciar Share Postado Dezembro 1, 2009 Esse tipo HJAN não existe (ao menos nunca ouvi falar). Você deve ter esquecido algum typedef. Tente trocar por HWND hJan=[...] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alef Postado Dezembro 2, 2009 Autor Denunciar Share Postado Dezembro 2, 2009 Esse tipo HJAN não existe (ao menos nunca ouvi falar). Você deve ter esquecido algum typedef. Tente trocar por HWND hJan=[...]Sua dica acertou em cheio, mas aí a linha abaixo se tornou a "UNDECLARED":cj.lpfnWndProc = (WNDPROC); ProcJan;Esse tipo HJAN não existe (ao menos nunca ouvi falar). Você deve ter esquecido algum typedef. Tente trocar por HWND hJan=[...]Sua dica acertou em cheio, mas aí a linha abaixo se tornou a "UNDECLARED":cj.lpfnWndProc = (WNDPROC); ProcJan;Bom... mudei o cj.lpfnWndProc = (WNDPROC); ProcJan; para cj.lpfnWndProc = (WNDPROC); hJan; mas agora travou mais embaixo, literalmente! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Dezembro 2, 2009 Denunciar Share Postado Dezembro 2, 2009 Tem que ser o ProcJan mesmo, pois essa é a função CALLBACK para a qual o Windows enviará as mensagens. Só que ficou um ; (ponto-e-vírgula sobrando ali).Troque:(WNDPROC); ProcJan; Por: (WNDPROC) ProcJan; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alef Postado Dezembro 2, 2009 Autor Denunciar Share Postado Dezembro 2, 2009 Ai, meu Deus do céu... rs :wacko: fiz umas alterações, mas agora avisa que o "generic.h" não existe!Mais sugestões? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alef Postado Dezembro 2, 2009 Autor Denunciar Share Postado Dezembro 2, 2009 Enfim,.... fiz isto... o prog abre mas trava... :huh: #include <windows.h> //#include "generic.h" HINSTANCE hCop; //ocorrencia atual LPCTSTR lpszNomeAplic = "Genérico"; LPCTSTR lpszTitulo = "Aplicativo Genérico"; BOOL RegisterWin95(CONST WNDCLASS* lpwc); int APIENTRY WinMain (HINSTANCE hCopia, HINSTANCE hCopiaAnt, LPSTR lpLinhaCmd, int nCmdExibe) { MSG msg; HWND hJan; HWND procJan; WNDCLASS cj; cj.style = CS_HREDRAW | CS_VREDRAW; cj.lpfnWndProc = (WNDPROC) procJan; cj.cbClsExtra = 0; cj.cbWndExtra = 0; cj.hInstance = 0; cj.hIcon = LoadIcon(hCopia, lpszNomeAplic); cj.hCursor = LoadCursor(NULL, IDC_ARROW); cj.hbrBackground = (HBRUSH) (COLOR_WINDOW+1); cj.lpszMenuName = lpszNomeAplic; cj.lpszClassName = lpszNomeAplic; if(!RegisterWin95(&cj)) return false; hCop = hCopia; hJan = CreateWindow (lpszNomeAplic, lpszTitulo, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hCopia, NULL); if(!hJan) return false; ShowWindow(hJan, nCmdExibe); UpdateWindow(hJan); while(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return(msg.wParam); } BOOL RegisterWin95 (CONST WNDCLASS* lpcj) { WNDCLASSEX cjex; cjex.style = lpcj->style; cjex.lpfnWndProc = lpcj->lpfnWndProc; cjex.cbClsExtra = lpcj->cbClsExtra; cjex.cbWndExtra = lpcj->cbWndExtra; cjex.hInstance = lpcj->hInstance; cjex.hIcon = lpcj->hIcon; cjex.hCursor = lpcj->hCursor; cjex.hbrBackground = lpcj->hbrBackground; cjex.lpszMenuName = lpcj->lpszMenuName; cjex.lpszClassName = lpcj->lpszClassName; cjex.cbSize = sizeof(WNDCLASSEX); cjex.hIconSm = LoadIcon(cjex.hInstance, "PEQUENO"); return RegisterClassEx(&cjex); } LRESULT CALLBACK hJan(HWND hJan, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch(uMsg) { case WM_COMMAND: switch(LOWORD(wParam)) { case 'IDM_TESTAR': break; case 'IDM_SAIR': DestroyWindow(hJan); break; } break; case WM_DESTROY : PostQuitMessage(0); break; default: return (DefWindowProc(hJan, uMsg, wParam, lParam)); } return(0L); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Alef
Pessoal, buenas! :blink:
Digitei o código abaixo no Dev C++ e pimba... além de uma lista de erros o primeiro da lista é o "HJAN" UNDECLARED!
Alguém arrisca alguma dica??? Como faço para esse código funcionar?? rs
Agradeço possíveis sugestões!
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.