MFC = Blä!
Får väl klistra in ett litet fönster i värsta Ernst-stil då:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <windowsx.h>
#include <stdio.h>
#include <math.h>
//Definitioner:
#define WINDOW_CLASS_NAME "WINCLASS1"
//Globala:
HWND main_window_handle = NULL; //Fönsterhandtag
//Deklarationer:
LRESULT CALLBACK WindowProc(HWND hwnd,
UINT msg,
WPARAM wparam,
LPARAM lparam)
{
//meddelandehanterare
PAINTSTRUCT ps; //-> använt i WM_PAINT
HDC hdc; //-> handtaget till enhetsinnehållet
switch(msg)
{
case WM_CREATE: // när fönstret skapas
{
return 0;
} break;
case WM_PAINT: // när fönstret behöver ritas
{
hdc = BeginPaint(hwnd,&ps);
EndPaint(hwnd,&ps);
return 0;
} break;
case WM_DESTROY: // när fönstret avslutas
{
PostQuitMessage(0); //-\> avslutar progget
return 0;
} break;
default:break;
}
//bearbeta meddelanden som inte behandlats
return(DefWindowProc(hwnd,msg,wparam,lparam));
} // end WinProc
//********************** M A I N ***********************
int WINAPI WinMain(HINSTANCE hinstance,
HINSTANCE hprevinstance,
LPSTR lpcmdline,
int ncmdshow)
{
WNDCLASS winclass;
HWND hwnd;
MSG msg;
winclass.style = CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW;
winclass.lpfnWndProc = WindowProc;
winclass.cbClsExtra = 0;
winclass.cbWndExtra = 0;
winclass.hInstance = hinstance;
winclass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
winclass.hCursor = LoadCursor(NULL,IDC_ARROW);
winclass.hbrBackground = GetStockObject(BLACK_BRUSH);
winclass.lpszMenuName = NULL;
winclass.lpszClassName = WINDOW_CLASS_NAME;
//registrera fönsterklassen:
if(!RegisterClass(&winclass))
return 0;
//Skapa fönstret:
if(!(hwnd = CreateWindow(WINDOW_CLASS_NAME, //class
"Ett litet fönster!", //titel
WS_OVERLAPPEDWINDOW | WS_VISIBLE, //flagga
0,0, //x och y
320,200, //bredd och höjd
NULL, //handtag moder
NULL, //handtag till meny
hinstance,
NULL))) //skapa parametrar
return 0;
//spara fönsterhandtaget globalt:
main_window_handle = hwnd;
//gå in i huvudhändelseloopen:
while(1)
{
if(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
if(msg.message == WM_QUIT) break;
TranslateMessage(&msg); //översätt nycklar
DispatchMessage(&msg); //skicka meddelande
}
// placera fortsättningen här
}
return(msg.wParam); //återgå till windows
}
Funkar klockrent i Borland 5.02
------------------
Ancilla, face mea laganum!
[Redigerat av PeW den 23 nov 2001]