I know it is complicated, but I know almost everything to do up until GUI and it would be a good learning experience. All I need is a little help.
First of all, what sort of file should i create to support a window. I don't want anything fancy. Just a box with a title, minimize, restore, and close button. I'm currently using this code:
#include <windows.h>
const char g_szClassName[] = "myWindowClass";
// Step 4: the Window Procedure
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_LBUTTONDOWN: // <-
// <- we just added this stuff
break; // <-
case WM_CLOSE:
DestroyWindow(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, msg, wParam, lParam);
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASSEX wc;
HWND hwnd;
MSG Msg;
// Step 2: Creating the Window
hwnd = CreateWindowEx(
WS_EX_CLIENTEDGE,
g_szClassName,
"The title of my window",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 240, 120,
NULL, NULL, hInstance, NULL);
The only real problem i notice is that the title is a bunch of squares, when it should be "The Title of My Window". What is the error I have experienced?
Looks like you're trying to use Win32 directly. While that's possible, you'll probably find it much easier to go with a GUI toolkit. A few options are MFC (Windows only), or one of the cross-platform ones (QT, WxWidgets, GTK+, FLTK, etc).
Use TEXT("The title of my window") instead of "The title of my window".
And for a much simpler way to create a window, I'll prefer you to use Dialog Editor to create a Dialog window and call that by CreateDialog() or DialogBox(). It'll pretty much easy to you.
Try using a different program for producing GUI's. I use Qt. I find that it has alot of easy to understand commands that can be used to do just about whatever you want it to do and it is cross-platform which is always a ++
Bookmarks