📄 1.c
字号:
/*generic.c*/
#include "windows.h"
#include "generic.h"
HANDLE hInst;
int PASCAL WinMain(hInstance,hPrevInstance,lpCmdLine,nCmdShow)
HANDLE hInstance;
HANDLE hPrevInstance;
LPSTR lpCmdLine;
int nCmdShow;
{
MSG msg;
if(!hPrevInstance)
if(!InitApplication(hInstance))
return(FALSE);
if(!InitInstance(hInstance,nCmdShow))
return(FALSE);
while(GetMessage(&msg,NULL,NULL,NULL))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return(msg.wParam);
}
BOOL InitApplication(hInstance)
HANDLE hInstance;
{
WNDCLASS wc;
wc.style=NULL;
wc.lpfnWndProc=MainWndProc;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hInstance=hInstance;
wc.hIcon=LoadIcon(NULL,IDC_APPLICATION);
wc.hCursor=LoadCursor(NULL,IDC_ARROW);
wc.hbrBackground=GetStockObject(WHITE_BRUSH);
wc.lpszMenuName="GenericMenu";
wc.lpszClassName="GenericWClass";
return(RegisterClass(&wc));
}
BOOL InitInstance(hInstance,nCmdShow)
HANDLE hInstance;
int nCmdShow;
{
HWND hWnd;
hInst=hInstance;
hWnd=CreateWindow("GenericWCLass","Generic Sample Application",WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL
);
if(!hWnd)
return(FALSE);
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
return(TRUE);
}
long FAR PASCAL MainWndProc(hWnd,message,wParam,lParam)
HWND hWnd;
unsigned message;
WORD wParam;
LONG lParam;
{
FARPROC lpProcAbout;
switch(message)
{
case WM_COMMAND:
if(wParam==IDM_ABOUT)
{
lpProcAbout=MakeProcInstance(About,hInst);
DialogBox(hInst,"AboutBox",hWnd,lpProcAbout);
FreeProcInstance(lpProcAbout);
break;
}
else
return(DefWindowProc(hWnd,message,wParam,lParam));
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return(DefWindowProc(hWnd,message,wParam,lParam));
}
return(NULL);
}
BOOL FAR PASCAL About(hDlg,message,wParam,lParam)
HWND hDlg;
unsigned message;
WORD wParam;
LONG lParam;
{
switch(message)
{
case WM_INITDIALOG:
return(TRUE);
case WM_COMMAND:
if(wParam==IDOK||wParam==IDCANCEL)
{
EndDialog(hDlg,TRUE);
return(TRUE);
}
break;
}
return(FALSE);
}
/*generic.h*/
#define IDM_ABOUT 100
#define IDC_APPLICATION 200
int PASCAL WinMain(HANDLE,HANDLE,LPSTR,int);
BOOL InitApplication(HANDLE);
BOOL InitInstance(HANDLE,int);
long FAR PASCAL MainWndProc(HWND,unsigned,WORD,LONG);
BOOL FAR PASCAL About(HWND,unsigned,WORD,LONG);
/*generic.rc*/
#include "windows.h"
#include "generic.h"
IDC_APPLICATION ICON LOADONCALL MOVEABLE
GenericMenu MENU
BEGIN
POPUP "&Help"
BEGIN
MENUITEM"About Generic...",IDM_ABOUT
END
END
Aboutbox DIALOG 22,17,144,75
STYLE DS_MODALFAME|WS_CAPTION|WS_SYSMENU
CAPTION"About Generic"
BEGIN
CTEXT "Microsoft Windows" -1,0,5,144,8
CTEXT "Generic Application" -1,0,14,144,8
CTEXT "Version 3.0" -1,0,34,144,8
DEFPUSHBUTTON "OK" IDOK,53,59,32,14,WS_GROUP
END
/*generic.def*/
NAME Generic;
DESCRIPTION 'Sample Microsoft Windows Application';
EXETYPE WINDOWS ;
STUB 'WINSTUB.EXE';
CODE MOVEABLE DISCARDABLE;
DATA MOVEABLE MULTIPLE;
HEAPSIZE 1024;
STACKSIZE 5120;
EXPORTS
MainWndProc @1;
AboutDlgProc @2;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -