⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demo.c

📁 Linux库例程系列一
💻 C
字号:
/*************************************************************************	This is a simple of how to Programming a  Application , it *	show some main functions such as "Menu" "DialogBox" "EditBox"*	and the others .*NOTE: to use menu_info in Menu ; dialog_info in DialogBox*	1.*	 LoadMenuEx(NAMEINFO *minfo, LPCSTR lpMenuName,int count);*	                     |                 |             |*	               menu_info          MENU NAME      Total numbers*	2.*	DialogBoxEx(HINSTANCE, LPCSTR, HWND, DLGPROC, NAMEINFO *  , int);*	                 |        |      |       |          |         |*	                NULL    NAME   Parent  proc_func dialog_info  Max Items************************************************************************/#include <stdio.h>#include <stdlib.h>#include <windows.h>#include <wintools.h>#include <resources.h>#include <xime.h>#include "demo.h"extern NAMEINFO menu_info[];		//Menu data in (.rc  ->  .res.c ) extern NAMEINFO dialog_info[];		//Dialog data in (.rc  ->  .res.c ) HFONT GetSystemFontObject( void );extern int WINAPI RegisterHelpClass(HINSTANCE hInstance); extern int WINAPI RegisterAboutClass( HINSTANCE hInstance );void SetDefaultSwitchWindow (HWND);HWND hxime;void ReturnXime(HWND hxime_parent){	if ( hxime_parent ) {		ShowWindow( hxime, SW_HIDE );		setXime( hxime_parent );	}}HWND CallXime(HWND hwnd){	HWND pwin;		ShowWindow( hxime, SW_SHOW );	pwin = setXime( hwnd );	selectXime( XIME_DEFAULT );	return ( pwin) ;}LRESULT CALLBACK create_proc( HWND hwnd, UINT iMsg, WPARAM wParam,			      LPARAM lParam ){	static HWND hxime_parent =NULL;	switch ( iMsg ) {	    case WM_CREATE:		    hxime_parent = CallXime(hwnd);		    break;	    case WM_COMMAND:		    switch ( LOWORD( wParam ) ) {			case BTN_DEMO_CREATE:					ReturnXime(hxime_parent);					EndDialog( hwnd, TRUE );		    			break;		    }		    break;	    default:		    return DefWindowProc( hwnd, iMsg, wParam, lParam );	}	return 0;}LRESULT CALLBACK main_proc( HWND hwnd, UINT iMsg, WPARAM wParam,			      LPARAM lParam ){	PAINTSTRUCT ps;	HDC hdc;	switch ( iMsg ) {	    case WM_PAINT:			    hdc = BeginPaint( hwnd, &ps );			    SelectObject (hdc, GetSystemFontObject ()); 			    TextOut( hdc, P1X, P1Y, STR1, - 1 );			    TextOut( hdc, P2X, P2Y, STR2, - 1 );			    EndPaint( hwnd, &ps );		    		   	    break;	    case WM_COMMAND:		    switch ( LOWORD( wParam ) ) {			case BTN_BROWSE_CREATE:				DialogBoxEx( NULL, "DEMO_CREATE",					     hwnd, create_proc,					     dialog_info, MAX_CREATE );				break;			case BTN_BROWSE_CLOSE:		//Button Message			case ID_CLOSE:			//Menu Message				PostQuitMessage( 0 );				break;			case ID_HELP:				showhelp("demo","demo");				break;			case ID_ABOUT:				showabout("demo");				break;		    }				break;	    default:		    return DefWindowProc( hwnd, iMsg, wParam, lParam );	}	return 0;}int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,		    PSTR szCmdLine, int iCmdShow ){	static char szAppName[] = "DEMO";	HWND hwnd;	WNDCLASS wndclass;	MSG msg;	wndclass.style = CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW | CS_OWNDC;	wndclass.lpfnWndProc = ( WNDPROC ) main_proc;	wndclass.cbClsExtra = 0;	wndclass.cbWndExtra = 0;	wndclass.hInstance = 0;	wndclass.hIcon = 0;	wndclass.hCursor = 0;	wndclass.hbrBackground = ( HBRUSH ) GetStockObject( WHITE_BRUSH );	wndclass.lpszMenuName = "BRMENU";	wndclass.lpszClassName = szAppName;	RegisterClass( &wndclass );	hwnd = CreateWindowEx( 0L, szAppName, "DEMO",			       WS_PDAMENU | WS_VISIBLE, 			       	0, 0,			       CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL,			       hInstance, NULL );	hwnd->hMenu = LoadMenuEx(menu_info,"BRMENU",MAX_MENU);	hxime = initXime( hwnd, XIME_DEFAULT );	//Initiate Input Box (Xime)	ShowWindow( hxime, SW_HIDE );		// to hide Xime.	CreateWindowEx(0L,"BUTTON",			CAPTION_CREATE,			WS_CHILD|WS_VISIBLE |BS_BEEP,			33,219,30,15,			hwnd,(HMENU)BTN_BROWSE_CREATE,NULL,NULL);	CreateWindowEx(0L,"BUTTON",			CAPTION_EXIT,			WS_CHILD|WS_VISIBLE |BS_BEEP,			96,219,30,15,			hwnd,(HMENU)BTN_BROWSE_CLOSE,NULL,NULL);	/* Set Window Handle to recieve task-switch messages */	SetDefaultSwitchWindow( hwnd );	RegisterHelpClass(hInstance);	RegisterAboutClass( hInstance );	ShowWindow( hwnd, iCmdShow );	UpdateWindow( hwnd );	while ( GetMessage( &msg, NULL, 0, 0 ) ) {		TranslateMessage( &msg );		DispatchMessage( &msg );	}	return msg.wParam;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -