(MFC)RPG角色生成器

本文介绍如何在VC++6.0环境下利用MFC构建一个角色生成器,玩家可以输入名字、选择性别、种族和职业,不同职业对应不同的随机属性。涉及的技术包括编辑框、组合框、按钮、子窗口、变量关联以及类继承等。
摘要由CSDN通过智能技术生成

角色生成器需要记录玩家输入的名字,选择的性别,种族,职业,并且根据不同职业所随机生产的属性也不相同。

编辑环境VC++6.0。

用MFC编辑过程中所应用到的知识点有编辑框,组合框,按钮,子窗口,变量关联,类的继承,子对话框类继承父对话类。

发放一些关键代码

//位图使用背景
void CRPGDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIc
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MFC 是 Microsoft Foundation Class 的缩写,是一种基于 Windows 操作系统的 C++ 类库,用于开发 Windows 应用程序。如果想要用 MFC 解析 PDF 并生成片,则需要使用第三方库。 以下是使用 MFC 和第三方库解析 PDF 并生成片的步骤: 1. 下载并安装 PDF 解析库,例如 Adobe Acrobat SDK 或 Foxit PDF SDK。 2. 在 MFC 应用程序中添加 PDF 解析库的头文件和库文件。 3. 加载 PDF 文件,可以使用 PDF 解析库提供的接口或 MFC 的 CFile 类。 4. 通过 PDF 解析库提供的接口或 MFC 的 CDC 类创建位和绘制 PDF 页面。 5. 将位保存为片文件,可以使用 MFC 的 CImage 类或 Windows API。 下面是一个使用 Adobe Acrobat SDK 的示例代码: ``` // 加载 PDF 文件 CAcroApp app; app.Initialize(); CAcroAVDoc avDoc; avDoc.Open("example.pdf", ""); CAcroPDDoc pdDoc = avDoc.GetPDDoc(); // 创建位 CAcroRect rect(0, 0, 612, 792); // 页面大小 HBITMAP hBitmap = CreateBitmap(rect.right, rect.bottom, 1, 32, NULL); // 绘制 PDF 页面 CDC dc; dc.CreateCompatibleDC(NULL); HDC hdc = dc.GetSafeHdc(); HBITMAP hOldBitmap = (HBITMAP)SelectObject(hdc, hBitmap); pdDoc.DrawPage(hdc, 0, rect); // 保存为片文件 CImage image; image.Attach(hBitmap); image.Save("example.png", Gdiplus::ImageFormatPNG); // 清理资源 SelectObject(hdc, hOldBitmap); DeleteDC(hdc); DeleteObject(hBitmap); pdDoc.Close(); avDoc.Close(); app.Exit(); ``` 需要注意的是,PDF 文件可能包含多个页面,需要循环遍历并绘制每一页。此外,不同的 PDF 解析库提供的接口和使用方法可能不同,需要按照具体的库文档进行操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值