C++のコードをワードプレスに表示する方法とか ~Crayon Syntax Highlighter~

前回の簡単な<PRE>タグよりもきれいに表示できるものもあるようです。

表示のされ方は以下のとおり。(ソースのサンプルはあくまでサンプルです)

しかし、前回シンプルな表示に使えた<PRE>タグの拡張なので、ワードプレスの記事すべての<PRE>タグに対して色の変更をしてくれるようだ。

プラグインページはこちら

詳しい使い方:WordPress でソースコードをキレイに表示するプラグイン「Crayon Syntax Highlighter」

int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
					 _In_opt_ HINSTANCE hPrevInstance,
					 _In_ LPTSTR    lpCmdLine,
					 _In_ int       nCmdShow)
{
	UNREFERENCED_PARAMETER(hPrevInstance);
	UNREFERENCED_PARAMETER(lpCmdLine);

	// TODO: Place code here.
	MSG msg;
	HACCEL hAccelTable;

	// Initialize global strings
	LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
	LoadString(hInstance, IDC_FRAMERATE, szWindowClass, MAX_LOADSTRING);
	MyRegisterClass(hInstance);


	//COM initialization
	HRESULT hr = CoInitialize(NULL);
	if (SUCCEEDED(hr))
	{

		// Perform application initialization:
		if (!InitInstance(hInstance, nCmdShow))
		{
			return FALSE;
		}

		hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_FRAMERATE));

		// Main message loop:
		//while (GetMessage(&amp;msg, NULL, 0, 0))
		//{
		//	if (!TranslateAccelerator(msg.hwnd, hAccelTable, &amp;msg))
		//	{
		//		TranslateMessage(&amp;msg);
		//		DispatchMessage(&amp;msg);
		//	}
		//}
		DWORD dwCount = 0;
		DWORD dwPreviousTime = ::GetTickCount();
		DWORD dwFrameRate = 20;
		DWORD dwFrameTime = 1000 / dwFrameRate;
		DWORD dwTimeSum = 0;
		while (TRUE) {
			dwCount = ::GetTickCount();
			if (PeekMessage(&amp;msg, NULL, 0, 0, PM_REMOVE)) {

				if (msg.message == WM_QUIT) break;
				DispatchMessage(&amp;msg);
				::StringCchPrintfW(strDisplayTimeInfo, 1024, L"%d:PeekMessage-DispatchMessage\nFrameRate:%d, FrameTime:%d", dwCount, dwFrameRate, dwFrameTime);
				
			}
			else {
				dwTimeSum = dwCount - dwPreviousTime;
				if (dwTimeSum &gt; dwFrameTime)
				{
					dwInc += 1;
					::StringCchPrintfW(strDisplayTimeInfo, 1024, L"%d:%d:PeekMessage-Time Out:TimeSum:%d, FrameRate:%d, FrameTime:%d", dwInc, dwCount, dwTimeSum, dwFrameRate, dwFrameTime);


					dwPreviousTime = ::GetTickCount();
					::InvalidateRect(hMainWnd, NULL, TRUE);
				}
				//else
				//{
				//	::Sleep(0);
				//}
			}
		}



		::CoUninitialize();
	}
	else
	{
		//CoInitialize Failed.
		return -1;

	}



	return (int) msg.wParam;
}