C++ window

Status
Niet open voor verdere reacties.

melle852

Gebruiker
Lid geworden
5 dec 2011
Berichten
10
Deze cpp code heb ik nu om een window te maken. Hoe kan ik hier nu dingen in doen zoals in het window schrijven Hello, World. Of bijvoorbeeld een rekenmachine maken?



[CPP]#include <windows.h>
/* Declare Windows procedure */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

/* Make the class name into a global variable */
char szClassName[ ] = "WindowsApp";

int WINAPI WinMain (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil)

{
HWND hwnd; /* This is the handle for our window */
MSG messages; /* Here messages to the application are saved */
WNDCLASSEX wincl; /* Data structure for the windowclass */

/* The Window structure */
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */
wincl.style = CS_DBLCLKS; /* Catch double-clicks */
wincl.cbSize = sizeof (WNDCLASSEX);

/* Use default icon and mouse-pointer */
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL; /* No menu */
wincl.cbClsExtra = 0; /* No extra bytes after the window class */
wincl.cbWndExtra = 0; /* structure or the window instance */
/* Use Windows's default color as the background of the window */
wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

/* Register the window class, and if it fails quit the program */
if (!RegisterClassEx (&wincl))
return 0;

/* The class is registered, let's create the program*/
hwnd = CreateWindowEx (
0, /* Extended possibilites for variation */
szClassName, /* Classname */
"Eerste Windows API window van Melle", /* Title Text */
WS_OVERLAPPEDWINDOW, /* default window */
CW_USEDEFAULT, /* Windows decides the position */
CW_USEDEFAULT, /* where the window ends up on the screen */
800, /* The programs width */
700, /* and height in pixels */
HWND_DESKTOP, /* The window is a child-window to desktop */
NULL, /* No menu */
hThisInstance, /* Program Instance handler */
NULL /* No Window Creation data */
);

/* Make the window visible on the screen */
ShowWindow (hwnd, nFunsterStil);

/* Run the message loop. It will run until GetMessage() returns 0 */
while (GetMessage (&messages, NULL, 0, 0))
{
/* Translate virtual-key messages into character messages */
TranslateMessage(&messages);
/* Send message to WindowProcedure */
DispatchMessage(&messages);
}

/* The program return-value is 0 - The value that PostQuitMessage() gave */
return messages.wParam;
}


/* This function is called by the Windows function DispatchMessage() */

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message) /* handle the messages */
{
case WM_DESTROY:
PostQuitMessage (0); /* send a WM_QUIT to the message queue */
break;
default: /* for messages that we don't deal with */
return DefWindowProc (hwnd, message, wParam, lParam);
}

return 0;
}[/CPP]

Oh Ja! Willen jullie het A.U.B. in Jip en Janneke taal doen?
 
Laatst bewerkt:
In Visual Studio C++ is er een designer. Daar kun je componenten slepen naar je form.
 
Gezien je vorige topic raad ik je toch echt aan om eerst de basis te leren voordat je begint met het ontwikkelen van grafische applicaties in C++.

@JoZ1:

De TS gebruikt geen Visual Studio (zie vorige topic). Hij gebruikt DevCPP (al zou je daar eigenlijk niet meer mee moeten beginnen, al kwam ik laatst nog een versie tegen die wel werd bijgehouden door iemand anders) en zou daarvoor of alle controls zelf moeten aanmaken en op het scherm tekenen, of inderdaad de GUI ontwikkelen met bijvoorbeeld een tool als ResEdit om de gemaakte dialog vervolgens te tonen via CreateDialog. Al bestaan er voor DevCPP wel plugins (o.a. iets als SmartWin) waarmee je een RAD ontwikkelomgeving krijgt. Maar zonder de basis te beheersen gaat de TS daar echt niet uitkomen. ;)
 
@CoD_NL: Ik denk dat je gelijk hebt, dat de TS eerst de basis moet leren.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan