Nanashi-softプログラマ専用Windows Mobile 6


◇Windows Mobile 6-ウィンドウ表示と画面サイズ-

一口に Windows Mobile機と言っても、画面サイズも表示方向も様々です
しかも、各ユーザーが設定を変更して使っています

[メモ]WM6で画面を縦に使うか横に使うかを設定する方法
スタート→設定→システム→画面
向きを、縦、横(右きき)、横(左きき)から選択できます

・適当にウィンドウを表示する

表示した後は、ユーザーに好きなサイズにしてもらう
普通に Windowsでウィンドウを出すのと同じように書けば良い

#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
wchar_t szClassNme[] = L"sample";  //これがクラス名
int WinMain(HINSTANCE hInstance, HINSTANCE hPreInst, LPWSTR lpszCmdLine, int nCmdShow)
{
	MSG msg;
	WNDCLASS myProg;
	if(!hPreInst){
		myProg.style= CS_HREDRAW | CS_VREDRAW;
		myProg.lpfnWndProc= WndProc;
		myProg.cbClsExtra= 0;
		myProg.cbWndExtra= 0;
		myProg.hInstance= hInstance;
		myProg.hIcon= NULL;
		myProg.hCursor= LoadCursor(NULL, IDC_ARROW);
		myProg.hbrBackground= GetStockObject(WHITE_BRUSH);
		myProg.lpszMenuName= NULL;
		myProg.lpszClassName= szClassNme;
		if(!RegisterClass(&myProg)){
			return FALSE;
		}
	}
	HWND hWnd= CreateWindow(szClassNme, L"サンプル", 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 msg, WPARAM wParam, LPARAM lParam)
{
	switch(msg){
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	default:
		return(DefWindowProc(hWnd, msg, wParam, lParam));
	}
	return(0L);
}

どこにでも転がっているような、Windowsのウィンドウ表示と制御の雛形です

こうして表示したウィンドウは、ユーザー操作によって自由に位置やサイズを調整できます



Nanashi-softプログラマ専用Windows Mobile 6