コード例 #1
0
ファイル: docwin.cpp プロジェクト: srirammca53/mywork
LRESULT CALLBACK DocWin::WndProc(
    HWND hwnd,
    UINT msg, 
    WPARAM wParam, 
    LPARAM lParam
    ) {
    switch(msg) {
    case WM_CREATE:
        return WmCreate(hwnd, wParam, lParam);
    case WM_SIZE:
        return WmSize(hwnd, wParam, lParam);
    case WM_CLOSE:
        return WmClose(hwnd, wParam, lParam);
    case WM_MDIACTIVATE:
        return WmMDIActivate(hwnd, wParam, lParam);
    case WM_INITMENUPOPUP:
        return WmInitMenuPopup(hwnd, wParam, lParam);
    case WM_COMMAND:
        return WmCommand(hwnd, wParam, lParam);
    }
    return DefMDIChildProc(hwnd, msg, wParam, lParam);
}
コード例 #2
0
ファイル: Window.cpp プロジェクト: acook/out_asio
LRESULT
SWindow::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	if(HWindow == NULL) HWindow = hwnd;

	Org_Mes	OrgMes;

	OrgMes.AutoDelete      = AutoDelete;
	OrgMes.ControlMode     = ControlMode;
	OrgMes.HWindow         = hwnd;
	OrgMes.OriginalWndProc = OriginalWndProc;

	OrgMes.uMsg   = uMsg;
	OrgMes.wParam = wParam;
	OrgMes.lParam = lParam;

	OrgMes.ExecMessage = false;
	OrgMes.RetProcCode = 0;

	bool	RetMessage = false;
	LRESULT	RetCode;

	switch(uMsg) {
	case WM_COMMAND:
		WmCommand(&OrgMes, HIWORD(wParam), LOWORD(wParam), reinterpret_cast<HWND>(lParam));
		break;
	case WM_SYSCOMMAND:
		WmSysCommand(&OrgMes, static_cast<UINT>(wParam), GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
		break;
	case WM_APPCOMMAND:
		RetMessage = true;
		RetCode = WmAppCommand(&OrgMes, lParam);
		break;
	case WM_NOTIFY:
		RetMessage = true;
		RetCode = WmNotify(&OrgMes, static_cast<UINT>(wParam), reinterpret_cast<LPNMHDR>(lParam));
		break;
	case WM_SHOWWINDOW:
		WmShowWindow(&OrgMes, wParam, lParam);
		break;
	case WM_SIZE:
		WmSize(&OrgMes, static_cast<UINT>(wParam), LOWORD(lParam), HIWORD(lParam));
		break;
	case WM_MOVE:
		WmMove(&OrgMes, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
		break;
	case WM_PAINT:
		WmPaint(&OrgMes);
		break;
	case WM_MOUSEMOVE:
		WmMouseMove(&OrgMes, static_cast<UINT>(wParam), GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
		break;
	case WM_LBUTTONDOWN:
		WmLButtonDown(&OrgMes, static_cast<UINT>(wParam), GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
		break;
	case WM_RBUTTONDOWN:
		WmRButtonDown(&OrgMes, static_cast<UINT>(wParam), GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
		break;
	case WM_LBUTTONUP:
		WmLButtonUp(&OrgMes, static_cast<UINT>(wParam), GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
		break;
	case WM_RBUTTONUP:
		WmRButtonUp(&OrgMes, static_cast<UINT>(wParam), GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
		break;
	case WM_LBUTTONDBLCLK:
		WmLButtonDblClk(&OrgMes, static_cast<UINT>(wParam), GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
		break;
	case WM_RBUTTONDBLCLK:
		WmRButtonDblClk(&OrgMes, static_cast<UINT>(wParam), GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
		break;
	case WM_DROPFILES:
		WmDropFiles(&OrgMes, reinterpret_cast<HDROP>(wParam));
		break;
	case WM_KEYDOWN:
		WmKeyDown(&OrgMes, static_cast<int>(wParam), static_cast<UINT>(lParam));
		break;
	case WM_CHAR:
		WmChar(&OrgMes, static_cast<TCHAR>(wParam), static_cast<UINT>(lParam));
		break;
	case WM_CONTEXTMENU:
		WmContextMenu(
					&OrgMes,
					reinterpret_cast<HWND>(wParam),
					GET_X_LPARAM(lParam),
					GET_Y_LPARAM(lParam));
		break;
	case WM_MENUSELECT:
		WmMenuSelect(&OrgMes, LOWORD(wParam), HIWORD(wParam), reinterpret_cast<HMENU>(lParam));
		break;
	case WM_DRAWITEM:
		RetMessage = true;
		RetCode = WmDrawItem(
						&OrgMes,
						static_cast<int>(wParam),
						reinterpret_cast<LPDRAWITEMSTRUCT>(lParam));
		break;
	case WM_TIMER:
		WmTimer(&OrgMes, static_cast<UINT>(wParam), reinterpret_cast<TIMERPROC*>(lParam));
		break;
	case WM_ACTIVATE:
		WmActivate(&OrgMes, LOWORD(wParam), HIWORD(wParam) != 0, reinterpret_cast<HWND>(lParam));
		break;
	case WM_SETCURSOR:
		WmSetCursor(&OrgMes, reinterpret_cast<HWND>(wParam), LOWORD(lParam), HIWORD(lParam));
		break;
	case WM_SETFOCUS:
		WmSetFocus(&OrgMes, reinterpret_cast<HWND>(wParam));
		break;
	case WM_KILLFOCUS:
		WmKillFocus(&OrgMes, reinterpret_cast<HWND>(wParam));
		break;
/*
	case WM_CTLCOLORDLG:
		RetMessage = true;
		RetCode = reinterpret_cast<LRESULT>
							(WmCtlColorDlg(&OrgMes, reinterpret_cast<HWND>(lParam),
							reinterpret_cast<HDC>(wParam)));
		break;
	case WM_CTLCOLORSTATIC:
		RetMessage = true;
		RetCode = reinterpret_cast<LRESULT>
							(WmCtlColorStatic(&OrgMes, reinterpret_cast<HWND>(lParam),
							reinterpret_cast<HDC>(wParam)));
		break;
	case WM_CTLCOLOREDIT:
		RetMessage = true;
		RetCode = reinterpret_cast<LRESULT>
							(WmCtlColorEdit(&OrgMes, reinterpret_cast<HWND>(lParam),
							reinterpret_cast<HDC>(wParam)));
		break;
	case WM_CTLCOLORLISTBOX:
		RetMessage = true;
		RetCode = reinterpret_cast<LRESULT>
							(WmCtlColorListBox(&OrgMes, reinterpret_cast<HWND>(lParam),
							reinterpret_cast<HDC>(wParam)));
		break;
	case WM_ERASEBKGND:
		RetMessage = true;
		RetCode = WmEraseBkGnd(&OrgMes, reinterpret_cast<HDC>(wParam));
		break;
*/
	case WM_CREATE:
		RetMessage = true;
		RetCode = WmCreate(&OrgMes, reinterpret_cast<LPCREATESTRUCT>(lParam));
		SetupWindow();
		break;
	case WM_INITDIALOG:
		RetMessage = true;
		RetCode = WmInitDialog(&OrgMes, reinterpret_cast<HWND>(wParam), static_cast<LONG>(lParam));
		break;
	case WM_CLOSE:
		WmClose(&OrgMes);
		break;
	case WM_DESTROY:
		WmDestroy(&OrgMes);
		if(OrgMes.AutoDelete) {
			SetWindowLongPtr(GWLP_USERDATA, NULL);
			delete this;
		}
		break;
	case WM_SYSCOLORCHANGE:
		WmSysColorChange(&OrgMes);
		break;
	case WM_QUERYENDSESSION:
		RetMessage = true;
		RetCode = WmQueryEndSession(&OrgMes, static_cast<UINT>(wParam));
		break;
	case WM_ENDSESSION:
		WmEndSession(&OrgMes, wParam != 0);
		if(OrgMes.AutoDelete && wParam) {
			SetWindowLongPtr(GWLP_USERDATA, NULL);
			delete this;
		}
		break;
	default:
		if((uMsg >= WM_USER) && (uMsg <= 0x7fff)) {
			RetMessage = true;
			RetCode = WmUser(&OrgMes, uMsg, wParam, lParam);
		} else {
			DefaultProc(&OrgMes);
		}
		break;
	}

	if(RetMessage == false) {
		if(OrgMes.OriginalWndProc || (OrgMes.ControlMode == ControlMode_Normal)) {
			RetCode = OrgMes.ExecMessage ? 0 : OrgMes.RetProcCode;
		} else {
			RetCode = OrgMes.ExecMessage;
		}
	}

	return RetCode;
}