Registerkarten mit der WinAPI

Teerow

Grünschnabel
Hi!

Ich bin gerade am Programmieren eines kleinen programmes. oben soll ein Textfeld (als Log-Anzeige) sein und dadrunter Registerkarten mit den einzelnen Optionen! Nur weiß ich nicht, wie ich die Registerkarten mache. Kann mir das einer Erklären?

Der Quelltext meines Programmes bisher:
Code:
#include "verbindung.h"

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

HINSTANCE hInstGlobal;
HWND					hEdit;

int APIENTRY WinMain(HINSTANCE hInstance,
					 HINSTANCE hPrevInstance,
					 LPSTR lpCmdLine,
					 int nCmdShow)
{
	hInstGlobal			=	hInstance;

	WNDCLASS				wc;
	wc.cbClsExtra		=	0;
	wc.cbWndExtra		=	0;
	wc.hbrBackground	=  (HBRUSH)		(COLOR_MENU+12);
	wc.hCursor			=	LoadCursor	(NULL, IDC_ARROW);
	wc.hIcon			=	LoadIcon	(NULL, IDI_APPLICATION);
	wc.hInstance		=	hInstance;
	wc.lpfnWndProc		=	WndProc;
	wc.lpszClassName	=	"WinProg";
	wc.lpszMenuName		=	0;
	wc.style			=	0;

	RegisterClass(&wc);


	HWND			hWindow;
	hWindow		=	CreateWindow	("WinProg", "MyTobox",
									WS_OVERLAPPEDWINDOW, 
									50, 50, 700, 450, NULL, NULL, 
									hInstance, NULL);
	ShowWindow(hWindow, nCmdShow);
	UpdateWindow(hWindow);

	MSG			msg;
	while(GetMessage(&msg, NULL, 0, 0))
	{
		DispatchMessage(&msg);
		TranslateMessage(&msg);
	}
	return(msg.wParam);
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT uiMsg, WPARAM wParam, 
						 LPARAM lParam)
{
	switch(uiMsg)
	{
		case WM_CREATE:
			HMENU					hMenu;
			hMenu				=	CreateMenu();

				///////////////SEPARATOR//////////////////////
				MENUITEMINFO			miisep;
				miisep.cbSize		=	sizeof(MENUITEMINFO);
				miisep.fType		=	MFT_SEPARATOR;
				miisep.fMask		=	MIIM_TYPE | MIIM_ID;
				//////////////////////////////////////////////

				HMENU					hMenu2;
				hMenu2				=	CreatePopupMenu();
				MENUITEMINFO			mii;
				mii.cbSize			=	sizeof(MENUITEMINFO);
				mii.fMask			=	MIIM_TYPE | MIIM_ID;
				mii.fType			=	MFT_STRING;
				char					*string;
				string				=	new char[40];
				lstrcpy					(string, "Beenden");
				mii.dwTypeData		=	string;
				mii.cch				=	lstrlen(string);
				mii.fState			=	MFS_ENABLED;
				mii.wID				=	1;
				InsertMenuItem			(hMenu2, 0, FALSE, &miisep);
				InsertMenuItem			(hMenu2, 0, FALSE, &mii);



			lstrcpy					(string, "Datei");
			mii.fMask			=	MIIM_TYPE | MIIM_SUBMENU;
			mii.hSubMenu		=	hMenu2;
			InsertMenuItem			(hMenu, 0, FALSE, &mii);
			
			SetMenu(hWnd, hMenu);
			delete [] string;

			RECT					rect;
			GetClientRect			(hWnd, &rect);

			hEdit				=	CreateWindow	("EDIT", "", 
													WS_CHILD | WS_VISIBLE |
													WS_BORDER | ES_MULTILINE |
													ES_AUTOVSCROLL | WS_VSCROLL |
													ES_AUTOHSCROLL | WS_HSCROLL, 
													10, 10, (rect.right-20), 50, 
													hWnd, (HMENU) 1, 
													hInstGlobal, NULL);


			return 0;
		case WM_SIZE:
			GetClientRect			(hWnd, &rect);
			MoveWindow				(hEdit, 10, 10, (rect.right-20), 200, TRUE);
			return 0;
		case WM_COMMAND:
			if(HIWORD(wParam) == 0)
			{
				switch(LOWORD(wParam))
				{
					case 1:
						DestroyWindow(hWnd);
						return 0;
					default:
						return 0;
				}
			}
			return 0;
		case WM_DESTROY:
			PostQuitMessage(0);
			return 0;
		default:
			return DefWindowProc	(hWnd, uiMsg, 
									wParam, lParam);
	}
}
Die verbindung.h sieht dann folgender maßen aus (bisher so gut wie nichts drin, aber ohne gehts net!:
Code:
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <winsock2.h>

Hoffe mit kann jemand helfen

Grüße
teerow
 
Zurück