000
28.11.2004, 10:14 Uhr
~Abel
Gast
|
Hi, warum läuft folgendes Programm nicht?. Muss man nicht ein Hauptprogramm int main() schreiben?. Wie soll aber dieses aussehen, damit es mir die Linien und das Text ausgibt?
#include <windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
char szProgName[]="ProgName";
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPreInst,LPSTR lpszCmdLine, int nCmdShow)
{ HWND hWnd; MSG lpMsg; WNDCLASS wcApp;
wcApp.lpszClassName=szProgName; wcApp.hInstance =hInst; wcApp.lpfnWndProc =WndProc; wcApp.hCursor =LoadCursor(NULL,IDC_ARROW); wcApp.hIcon =0; wcApp.lpszMenuName =0; //wcApp.hbrBackground=GetStockObject(8); wcApp.style =CS_HREDRAW|CS_VREDRAW; wcApp.cbClsExtra =0; wcApp.cbWndExtra =0; if (!RegisterClass (&wcApp)) return 0; hWnd=CreateWindow(szProgName, "Programa sencillo en Windows",WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT, NULL,NULL,hInst,NULL); ShowWindow(hWnd,nCmdShow); UpdateWindow(hWnd); while (GetMessage(&lpMsg,0,0,0)) { TranslateMessage(&lpMsg); DispatchMessage(&lpMsg); } return(lpMsg.wParam); }
LRESULT CALLBACK WndProc(HWND hWnd,UINT messg,WPARAM wParam,LPARAM lParam)
{ HDC hdc; PAINTSTRUCT ps; switch (messg) {case WM_PAINT: hdc=BeginPaint(hWnd,&ps);
MoveToEx(hdc,0,0,NULL); LineTo(hdc,789,550); MoveToEx(hdc,300,0,NULL); LineTo(hdc,50,300);
TextOut(hdc,100,30,"<- unas cuantas líneas ->",25);
ValidateRect(hWnd,NULL); EndPaint(hWnd,&ps); break; case WM_DESTROY: PostQuitMessage(0); break; default: return(DefWindowProc(hWnd,messg,wParam,lParam)); break; } return(0); }
ich bekomme folgenden Fehlermeldung:
LIBCD.lib(crt0.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _main Debug/Gráfico.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise Fehler beim Ausführen von link.exe. |