Jump to content


Photo

Win32 programming


  • Please log in to reply
2 replies to this topic

#1 TheUnforgiven512

TheUnforgiven512

    Young Padawan

  • Members
  • Pip
  • 102 posts

Posted 20 January 2006 - 04:59 PM

http://img77.imagesh...4/window6gn.jpg

I was wondering if anybody knows how to get rid of that white box. I am using DevC++

#2 Indigo

Indigo

    Official Alien

  • Members
  • PipPipPip
  • 617 posts
  • Gender:Male
  • Location:Trondheim, Norway
  • Interests:Computing in general, especially design and programming of all kinds.

Posted 20 January 2006 - 05:03 PM

Maybe you could insert the code too?
anyway, winprog.org have a few tutorials on stuff like that, maybe that'll help?

#3 TheUnforgiven512

TheUnforgiven512

    Young Padawan

  • Members
  • Pip
  • 102 posts

Posted 20 January 2006 - 06:25 PM

ok here is the code
#include <windows.h>
//#include "MakeWindow.h"

/*void CreateWindow(int widthW, int heightW, char titleH[]){*/
	 /*  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 */
		   "Windows App",	   /* Title Text */
		   WS_OVERLAPPEDWINDOW, /* default window */
		   CW_USEDEFAULT,	   /* Windows decides the position */
		   CW_USEDEFAULT,	   /* where the window ends up on the screen */
		   544,				 /* The programs width */
		   375,				 /* 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)
{
	static RECT clientRect = {0};	  /* Holds the dimensions of the window */
	TEXTMETRIC textInfo;			   /* Holds Font Information */
	PAINTSTRUCT paintStruct;		   /* handles the painting */
	HDC hdc=NULL;					  /* Communicate with the graphics card to draw */
	char textMsg[] = "This will be displayed";		 /* This will be displayed on the window */
	char textMsg2[] = "New Text";
	switch (message)				  /* handle the messages */
	{
		case WM_SIZE:
			 GetClientRect(hwnd, &clientRect);
			 break;
		case WM_PAINT:
			 hdc = BeginPaint(hwnd, &paintStruct);		   /* This begins the painting process */
			 GetTextMetrics(hdc, &textInfo);				 /* gets text height, width, and other information of the font */
			 SetTextColor(hdc, RGB(13, 45, 75));			  /* colors the text */
			 TextOut(hdc, 0, 0, textMsg, strlen(textMsg));   /* Prints the text on the client area */
			 EndPaint(hwnd, &paintStruct);				   /* end the painting process */
			 break;	
		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;
}





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users