vc2010添加富文本控件 运行出错

在WIN7系统上,使用VC2010通过拖富文本控件进入对话框后,运行会出错。原因是,通过拖动,而相应的类库在控件初始化前未能加入,所以还应手动加入,例如LoadLibrary(TEXT("riched20.dll")),这样就可以了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以通过将按钮添加为列表控件的子项来在VC++中实现在 ListCtrl 中添加按钮控件的效果。下面是一种可能的实现方法: 1. 在 ListCtrl 控件上启用 `LVS_OWNERDRAWFIXED` 样式,以便自定义绘制子项。 2. 在 ListCtrl 控件添加按钮控件时,使用插入项的自定义绘制消息(`NM_CUSTOMDRAW`)来处理按钮的绘制和交互。 以下是一个简单的示例代码,演示如何在 ListCtrl 中添加按钮控件: ```cpp // 添加按钮的自定义绘制消息处理函数 BOOL CMyDialog::OnCustomDrawListCtrl(NMHDR* pNMHDR, LRESULT* pResult) { NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>(pNMHDR); *pResult = CDRF_DODEFAULT; // 判断子项类型 if (pLVCD->nmcd.dwDrawStage == CDDS_ITEMPREPAINT) { // 获取当前子项的索引 int nIndex = static_cast<int>(pLVCD->nmcd.dwItemSpec); // 判断当前子项是否为按钮 if (IsButton(nIndex)) { // 绘制按钮 DrawButton(pLVCD->nmcd.hdc, pLVCD->nmcd.rc); *pResult = CDRF_SKIPDEFAULT; // 跳过默认绘制 } } return TRUE; } // 绘制按钮函数 void CMyDialog::DrawButton(HDC hdc, const RECT& rect) { // 使用 GDI 绘制按钮外观 // ... // 绘制按钮文本 DrawText(hdc, _T("Button"), -1, &rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE); } // 判断子项是否为按钮函数 BOOL CMyDialog::IsButton(int nIndex) { // 根据索引判断子项是否为按钮 // ... return TRUE; // 假设所有子项都是按钮 } // 在初始化对话框中添加 ListCtrl 控件并启用自定义绘制 BOOL CMyDialog::OnInitDialog() { CDialogEx::OnInitDialog(); // 创建 ListCtrl 控件 m_listCtrl.Create(WS_VISIBLE | WS_CHILD | LVS_REPORT | LVS_OWNERDRAWFIXED, CRect(10, 10, 200, 200), this, IDC_LIST_CTRL); // 启用自定义绘制 m_listCtrl.SetExtendedStyle(m_listCtrl.GetExtendedStyle() | LVS_EX_FULLROWSELECT); m_listCtrl.SetCallbackMask(LVIS

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值