问题遇到的现象和发生背景
自己做了个多文档MFC程序,想在某个位置点击一下按钮,然后把自己的内容显示到输出窗口里面。
问题相关代码,请勿粘贴截图
下面这是我写的,一直不好使
#include "OutputWnd.h"
// CMainView 消息处理程序
void CMainView::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
COutputWnd m_wndOutput;
m_wndOutput.m_wndOutputBuild.AddString(_T("还没调好啊,闹心啊"));
}
但是我看程序在刚启动的时候,自带的程序是好使的。
int COutputWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDockablePane::OnCreate(lpCreateStruct) == -1)
return -1;
CRect rectDummy;
rectDummy.SetRectEmpty();
// 创建选项卡窗口
if (!m_wndTabs.Create(CMFCTabCtrl::STYLE_FLAT, rectDummy, this, 1))
{
TRACE0("未能创建输出选项卡窗口\n");
return -1; // 未能创建
}
// 创建输出窗格
const DWORD dwStyle = LBS_NOINTEGRALHEIGHT | WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL;
if (!m_wndOutputBuild.Create(dwStyle, rectDummy, &m_wndTabs, 2) ||
!m_wndOutputDebug.Create(dwStyle, rectDummy, &m_wndTabs, 3) ||
!m_wndOutputFind.Create(dwStyle, rectDummy, &m_wndTabs, 4))
{
TRACE0("未能创建输出窗口\n");
return -1; // 未能创建
}
UpdateFonts();
CString strTabName;
BOOL bNameValid;
// 将列表窗口附加到选项卡
bNameValid = strTabName.LoadString(IDS_BUILD_TAB);
ASSERT(bNameValid);
m_wndTabs.AddTab(&m_wndOutputBuild, strTabName, (UINT)0);
bNameValid = strTabName.LoadString(IDS_DEBUG_TAB);
ASSERT(bNameValid);
m_wndTabs.AddTab(&m_wndOutputDebug, strTabName, (UINT)1);
bNameValid = strTabName.LoadString(IDS_FIND_TAB);
ASSERT(bNameValid);
m_wndTabs.AddTab(&m_wndOutputFind, strTabName, (UINT)2);
// 使用一些虚拟文本填写输出选项卡(无需复杂数据)
FillBuildWindow();
FillDebugWindow();
FillFindWindow();
return 0;
}
我就奇怪了
运行结果及报错内容
我的解答思路和尝试过的方法
尝试过如下方法,都失败了
https://bbs.csdn.net/topics/320241792
我想要达到的结果
你们谁帮我看看问题出在哪里,谢过了。