一个32位窗口程序,在客户区如何增加文字,菜单,按扭?
园区宅男 2004-01-29 09:56:58 // MyWin.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
//窗口函数说明
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
char lpszClassName[]="窗口";
char lpszTitle[]="手工写的窗口";
//获取屏幕的宽度与高度,让窗口铺满屏幕
int swidthSize=::GetSystemMetrics (SM_CXSCREEN);
int sheightSize=::GetSystemMetrics (SM_CYSCREEN);
//窗口类的定义
WNDCLASS wcts;
wcts.style =CS_VREDRAW | CS_HREDRAW;
wcts.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH);
wcts.hIcon =LoadIcon(NULL,IDI_APPLICATION);
wcts.hCursor =LoadCursor(NULL,IDC_ARROW);
wcts.hInstance =hInstance;
wcts.cbWndExtra =0;
wcts.cbClsExtra =0;
wcts.lpszClassName =lpszClassName;
wcts.lpszMenuName =NULL;
wcts.lpfnWndProc =(WNDPROC)WndProc;
//窗口类的注册
if(!RegisterClass(&wcts))
{
return FALSE;
}
//创建窗口
HWND hWnd;
hWnd=CreateWindow(lpszClassName,lpszTitle,WS_OVERLAPPEDWINDOW & ~WS_MAXIMIZEBOX,
0,0,swidthSize,sheightSize,
NULL,NULL,hInstance,NULL);
if(!hWnd)
{
return FALSE;
}
//显示窗口
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
//消息循环
MSG msg;
while (GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
//返回操作系统
return msg.wParam ;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_DESTROY:
PostQuitMessage(0);
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return (0);
}