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

📄 helper.c

📁 这是一个编写输入法程序的代码。演示了怎样利用输入法接口。
💻 C
字号:
#include "imesample.h"
#include "helper.h"
#include <stdarg.h>
 
/**********************************************************************/
/*                                                                    */
/* UI_IsIMEMessage(message)                                            */
/*                                                                    */
/* Any UI window should not pass the IME messages to DefWindowProc.   */
/*                                                                    */
/**********************************************************************/
BOOL Helper_IsIMEMessage(UINT message)
{
    switch(message)
    {
	case WM_IME_STARTCOMPOSITION:
	case WM_IME_ENDCOMPOSITION:
	case WM_IME_COMPOSITION:
	case WM_IME_NOTIFY:
	case WM_IME_SETCONTEXT:
	case WM_IME_CONTROL:
	case WM_IME_COMPOSITIONFULL:
	case WM_IME_SELECT:
	case WM_IME_CHAR:
		return TRUE;
	default:
		return FALSE;
    }
}

//*****************************************************
//	工具接口:显示位图
//******************************************************
void Helper_DrawBMP(HDC hdc,RECT rc,UINT bmpID)
{
	HDC memdc=CreateCompatibleDC(hdc);
	HBITMAP hbkbmp=(HBITMAP)LoadBitmap(g_hInst,MAKEINTRESOURCE(bmpID));
	HBITMAP holdbmp=(HBITMAP) SelectObject(memdc,hbkbmp);
	BitBlt(hdc,rc.left,rc.top,rc.right,rc.bottom,memdc,0,0,SRCCOPY);
	SelectObject(memdc,holdbmp);
	DeleteObject(hbkbmp);
	DeleteDC(memdc);
}

void Helper_Trace(char * pszFormat,...)
{
	va_list args; 
	char buf[1024];
	va_start( args, pszFormat );
	_vsnprintf(buf,sizeof(buf)-1, pszFormat,args);
	va_end (args);
	buf[sizeof(buf)-1]=0;
	OutputDebugString(buf);
#ifdef LOGFILE
	{
	FILE *f=fopen(LOGFILE,"a+");
	if(f)
	{
		fprintf(f,buf);
		fclose(f);
	}
	}
#endif
}

void Helper_CenterWindow(HWND hWnd)
{
	RECT rc,screenrc;
	int x,y;
	SystemParametersInfo(SPI_GETWORKAREA,
		0,
		&screenrc,
		0);
	GetWindowRect(hWnd,&rc);
	x=(screenrc.right-rc.right+rc.left)/2;
	y=(screenrc.bottom-rc.bottom+rc.top)/2;
	SetWindowPos(hWnd,NULL,x,y,0,0,SWP_NOSIZE|SWP_NOZORDER);
}

⌨️ 快捷键说明

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