标签: mfc-feature-pack

如何在CDockablePane中放置MFC CFormView?

如何将MFC CFormView放在VS 2008 MFC功能包中引入的CDockablePane中?

c++ mfc mfc-feature-pack

5
推荐指数
1
解决办法
8298
查看次数

禁用/启用MFC功能包的功能区按钮

我正在使用MFC功能包,我在功能区栏上有一些按钮,CMFCRibbonButton的实例.问题是我想在某些条件下启用和禁用其中一些,但是在运行时.我怎样才能做到这一点?因为没有具体的方法...我听说解决方案是在运行时附加/分离事件处理程序,但我不知道如何...

c++ mfc mfc-feature-pack

4
推荐指数
1
解决办法
1万
查看次数

如何设置CMFCPropertyListCtrl的列宽?

我正在向类型对象添加属性,CMFCPropertyGridCtrl如下所示:

myPropertyListCtrl.AddProperty(
    new CMFCPropertyGridProperty(
        _T("Name"),
        foo.GetName())
);
Run Code Online (Sandbox Code Playgroud)

结果是只有第二列可见,但不是第一列应该包含"名称".

  • 我发现CMFCPropertyGridCtrl::GetPropertyColumnWidth()但似乎没有相应的Set...方法......
  • 我查看了NewControls样本,其中列大小似乎是全自动的.但是,我找不到与我的代码相关的差异.

我错过了什么?

c++ mfc mfc-feature-pack

4
推荐指数
3
解决办法
4400
查看次数

如何在CTreeCtrl中显示自定义工具提示?

我有一个源自的课程CTreeCtrl。在OnCreate()我用CToolTipCtrl自定义对象替换默认对象:

int CMyTreeCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CTreeCtrl::OnCreate(lpCreateStruct) == -1)
        return -1;

    // Replace tool tip with our own which will
    // ask us for the text to display with a TTN_NEEDTEXT message
    CTooltipManager::CreateToolTip(m_pToolTip, this, AFX_TOOLTIP_TYPE_DEFAULT);
    m_pToolTip->AddTool(this, LPSTR_TEXTCALLBACK);
    SetToolTips(m_pToolTip);

    // Update: Added these two lines, which don't help either
    m_pToolTip->Activate(TRUE);
    EnableToolTips(TRUE);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的消息处理程序如下所示:

ON_NOTIFY_EX(TTN_NEEDTEXT, 0, &CMyTreeCtrl::OnTtnNeedText)
Run Code Online (Sandbox Code Playgroud)

但是,我从未收到任何TTN_NEEDTEXT消息。我查看了Spy ++,它看起来也好像从未发送过此消息。

这可能是什么问题?

更新资料

我不确定这是否相关:CTreeCtrl的父窗口的类型为CDockablePane。可能需要一些额外的工作才能使它正常工作吗?

c++ mfc tooltip mfc-feature-pack

3
推荐指数
1
解决办法
7671
查看次数

如何删除Visual C++"扩展菜单"箭头?

在Visual C++中创建带子菜单的菜单时,我发现子菜单以箭头开头,我必须单击该箭头才能展开以查看其内容.是否有一种方法(以编程方式)使子菜单弹出已经扩展(没有箭头点击)?

这是我正在谈论的图片,在点击上述箭头之前和之后: 屏幕截图http://www.postimage.org/Pq1qL6rr-94b725163c3880972bb5b7518d00732b.jpg 也在这里

expand mfc-feature-pack submenu visual-c++

3
推荐指数
1
解决办法
2688
查看次数

为什么CMFCMenuBar没有使用加速器表?

在使用VS2008的doc/view项目中,MFCMenuBar似乎从项目中加载了正确的MENU资源(IDR_MAINFRAME),因为添加和删除菜单项会反映在菜单的UI中.它甚至会将加速器附加到默认菜单项(例如Ctrl + O到Open ...项目).但是,加速器表(IDR_MAINFRAME)似乎没有连接到菜单.将Open ...的默认Ctrl + O更改为Ctrl + 7之类的功能不起作用.Ctrl + O仍然附加到Open ...菜单项,Ctrl + O仍然调用Open ...处理程序.资源文件中只有一个加速器表,所以我不知道CMFCMenuBar在哪里获取其加速器信息.

此时,我已经能够通过手动加载IDR_MAINFRAME加速器表并自己翻译消息来使加速器工作.但CMFCMenuBar仍然附加默认加速器.

谁能解释一下这里发生了什么?如何强制MFCMenuBar使用我的加速器表并且不附加加速器或附加正确的加速器?

c++ mfc accelerator mfc-feature-pack

3
推荐指数
2
解决办法
3090
查看次数

CMFCPropertyGridProperty数字输入

我正在使用MFC功能包,我有一个可停靠的属性窗口.如何限制用户在值字段中单独键入任何其他字符,但仅限数字?

谢谢...

c++ mfc-feature-pack visual-c++

3
推荐指数
1
解决办法
1669
查看次数

在 MFC 中将 CFrameWnd 更改为 CFrameWndEx 会导致未处理的异常 - 有什么想法吗?

仍在适应这个 MFC 百灵鸟,我在这个特定问题上遇到了困难。我正在更新一些旧代码以使用 MFC 功能包中提供的一些更精致的控件。

按照网上给出的更新旧 MFC 应用程序的示例,将应用程序基类更改为 CWinAppEx 效果很好,但是当我将 CFrameWnd 更改为 CFrameWndEx 时,我收到来自 mfc90d.dll!AFXGetRegPath 中某处的“调试断言失败”错误消息。忽略此消息会导致出现大量 0xC0000005:访问冲突错误。

对于如何解决此问题的任何建议,我将不胜感激。

干杯。

c++ mfc mfc-feature-pack

3
推荐指数
1
解决办法
3574
查看次数

是否可以将CMFCToolBar添加到对话框中?

我只是尝试了将CToolbar添加到新CMFCToolBar上的对话框的标准方法.但它不起作用.我想深入了解新的实现,我想知道它是否真的可行?

c++ mfc mfc-feature-pack visual-c++

2
推荐指数
1
解决办法
3984
查看次数

如何关闭动态创建的CDockablePane窗口?

在我的MFC(Feature Pack)应用程序中,可以动态创建停靠窗格以显示图表/表格等.
但是,我不想让用户打开相同的东西两次.

我创建一个像这样的窗格:

// Create CMyDockablePane pPane
pPane->Create(...);
pPane->EnableDocking(CBRS_ALIGN_ANY);
// Create CRect rcPane
pPane->FloatPane(rcPane);
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常.

这就是我尝试检查窗格是否已存在的方法.窗格由其类型(类)和参数标识.

BOOL CanOpenPane(const type_info & paneType, const CMyParameter & parameter) const
{
    CMainFrame* pFrm = GetMainFrame();
    CDockingManager* pDockMan = pFrm->GetDockingManager();


    // Check if there already is a pane of the same type which also has the same parameter.
    bool canOpen = true;
    CObList panes;
    pDockMan->GetPaneList(panes);
    POSITION pos = panes.GetHeadPosition();
    while (pos)
    {
        CMyDockablePane* pPane = dynamic_cast<CMyDockablePane*>(panes.GetNext(pos));
        if (NULL == pPane) { continue; }

        if …
Run Code Online (Sandbox Code Playgroud)

c++ docking mfc-feature-pack pane

2
推荐指数
1
解决办法
6410
查看次数

标签 统计

mfc-feature-pack ×10

c++ ×9

mfc ×7

visual-c++ ×3

accelerator ×1

docking ×1

expand ×1

pane ×1

submenu ×1

tooltip ×1