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

📄 mainwnd.h

📁 PPC上的任务管理器源代码, 可以列表, 中止等操作, 并自动过滤PPC内部程序任务.
💻 H
字号:



////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 预处理
#pragma once
#include <Windows.h>
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// CMainWnd 类
class CMainWnd
{
public:
	static HWND m_hWnd;						// 窗口句柄
	static HWND m_hMenuBar;					// 菜单栏句柄
	static HMENU m_hMenu;					// 菜单句柄

public:
	// 创建主窗口
	static HWND Create();

	// 显示主窗口
	static VOID Show(INT iCmdShow = SW_SHOWNORMAL);

private:
	// 回调函数
	static LRESULT CALLBACK MainWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);

	// 窗口被创建
	static VOID OnCreate();

	// 命令处理
	static VOID OnCommand(WPARAM wParam, LPARAM lParam = 0);

	// 弹出菜单
	static VOID OnMenuPopup(HMENU hMenu);

public:
	// 获取菜单项文本
	inline static BOOL GetMenuText(UINT uCmd, PTSTR ptzText)
	{
		MENUITEMINFO miItem;
		miItem.cbSize= sizeof(MENUITEMINFO);
		miItem.fMask = MIIM_TYPE;
		miItem.cch = MAX_PATH;
		miItem.dwTypeData = ptzText;
		return GetMenuItemInfo(m_hMenu, uCmd, FALSE, &miItem);
	}

	// 获取菜单项文本
	inline static BOOL IsMenuChecked(UINT uCmd)
	{
		MENUITEMINFO miItem;
		miItem.cbSize= sizeof(MENUITEMINFO);
		miItem.fMask = MIIM_STATE;
		return GetMenuItemInfo(m_hMenu, uCmd, FALSE, &miItem) && (miItem.fState & MFS_CHECKED);
	}

	// 使菜单有效
	inline static BOOL EnableMenu(UINT uCmd, BOOL bEnable = TRUE)
	{
		return EnableMenuItem(m_hMenu, uCmd, bEnable ? MF_ENABLED : MF_GRAYED);
	}

	// 使菜单选择
	inline static BOOL CheckMenu(UINT uCmd, BOOL bChecked = TRUE)
	{
		return CheckMenuItem(m_hMenu, uCmd, bChecked ? MF_CHECKED : MF_UNCHECKED);
	}

	// 使菜单单选选择
	inline static BOOL CheckMenuRadio(UINT uFirst, UINT uLast, UINT uCmd)
	{
		return CheckMenuRadioItem(m_hMenu, uFirst, uLast, uCmd, MF_BYCOMMAND);
	}

public:
	// 消息框
	inline static INT MsgBox(PCTSTR ptzText, PCTSTR ptzCaption = STR_AppName, UINT uType = MB_ICONINFORMATION)
	{
		return MessageBox(m_hWnd, ptzText, ptzCaption, uType);
	}

	// 错误提示框
	inline static INT ErrBox(PCTSTR ptzText, PCTSTR ptzCaption = STR_AppName)
	{
		return MsgBox(ptzText, ptzCaption, MB_ICONSTOP);
	}

	// 消息框
	inline static INT MsgBox(PCTSTR ptzText, UINT uCmd, UINT uType = MB_ICONINFORMATION)
	{
		TCHAR tzCmd[MAX_PATH];
		TCHAR tzCaption[MAX_PATH];
		GetMenuText(uCmd, tzCmd);
		wsprintf(tzCaption, TEXT("%s - %s"), STR_AppName, tzCmd);
		return MsgBox(ptzText, tzCaption, uType);
	}

	// 错误提示框
	inline static INT ErrBox(PCTSTR ptzText, UINT uCmd)
	{
		return MsgBox(ptzText, uCmd, MB_ICONSTOP);
	}
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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