1个回答
展开全部
#include <windows.h>
#define ID_EDIT 1
LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM );
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpcmdLine, int nCmdShow)
{
static TCHAR szAppName[] = TEXT("SimpleEdit");
static TCHAR szClassName[] = TEXT("SimpleEditClass");
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon( NULL, IDI_APPLICATION );
wndclass.hCursor = LoadCursor( NULL,IDC_ARROW );
wndclass.hbrBackground = (HBRUSH)GetStockObject( WHITE_BRUSH );
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = szClassName;
if ( !RegisterClass( &wndclass ) )
{
MessageBox( NULL, TEXT("This program requires Windows NT!"),
szAppName, MB_ICONERROR );
return 0;
}
hwnd = CreateWindow( szClassName, TEXT("Simple Edit Control Program"),
WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL );
ShowWindow( hwnd, nCmdShow );
UpdateWindow( hwnd );
while ( GetMessage( &msg, NULL, 0, 0 ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
static HWND hwndEdit;
switch( message )
{
case WM_CREATE:
hwndEdit = CreateWindow( TEXT("edit"), NULL,
WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | WS_BORDER
| ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_LEFT,
0, 0, 0, 0, hwnd, (HMENU) ID_EDIT,
(HINSTANCE) GetWindowLong( hwnd, GWL_HINSTANCE ), NULL );
return 0;
case WM_SIZE:
MoveWindow( hwndEdit, 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE );
return 0;
case WM_SETFOCUS:
SetFocus( hwndEdit );
return 0;
case WM_COMMAND:
if( LOWORD(wParam) == ID_EDIT )
if( HIWORD(wParam) == EN_ERRSPACE )
MessageBox( hwnd, "Out Of Memory!", "Edit Error", MB_OK | MB_ICONSTOP );
if( HIWORD(wParam) == EN_MAXTEXT )
MessageBox( hwnd, "Already Max Text!", "Edit Error", MB_OK | MB_ICONSTOP );
return 0;
case WM_DESTROY:
PostQuitMessage( 0 );
return 0;
}
return DefWindowProc( hwnd, message, wParam, lParam );
}
#define ID_EDIT 1
LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM );
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpcmdLine, int nCmdShow)
{
static TCHAR szAppName[] = TEXT("SimpleEdit");
static TCHAR szClassName[] = TEXT("SimpleEditClass");
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon( NULL, IDI_APPLICATION );
wndclass.hCursor = LoadCursor( NULL,IDC_ARROW );
wndclass.hbrBackground = (HBRUSH)GetStockObject( WHITE_BRUSH );
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = szClassName;
if ( !RegisterClass( &wndclass ) )
{
MessageBox( NULL, TEXT("This program requires Windows NT!"),
szAppName, MB_ICONERROR );
return 0;
}
hwnd = CreateWindow( szClassName, TEXT("Simple Edit Control Program"),
WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL );
ShowWindow( hwnd, nCmdShow );
UpdateWindow( hwnd );
while ( GetMessage( &msg, NULL, 0, 0 ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
static HWND hwndEdit;
switch( message )
{
case WM_CREATE:
hwndEdit = CreateWindow( TEXT("edit"), NULL,
WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | WS_BORDER
| ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_LEFT,
0, 0, 0, 0, hwnd, (HMENU) ID_EDIT,
(HINSTANCE) GetWindowLong( hwnd, GWL_HINSTANCE ), NULL );
return 0;
case WM_SIZE:
MoveWindow( hwndEdit, 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE );
return 0;
case WM_SETFOCUS:
SetFocus( hwndEdit );
return 0;
case WM_COMMAND:
if( LOWORD(wParam) == ID_EDIT )
if( HIWORD(wParam) == EN_ERRSPACE )
MessageBox( hwnd, "Out Of Memory!", "Edit Error", MB_OK | MB_ICONSTOP );
if( HIWORD(wParam) == EN_MAXTEXT )
MessageBox( hwnd, "Already Max Text!", "Edit Error", MB_OK | MB_ICONSTOP );
return 0;
case WM_DESTROY:
PostQuitMessage( 0 );
return 0;
}
return DefWindowProc( hwnd, message, wParam, lParam );
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询