SetDlgItemText()的问题,100分送

sunxuan526 2006-07-12 05:10:00
我的程序主要功能是打开位图文件并显示其宽高位等信息,在窗口左侧添加了一个dialogbar并在上面加上statictext来显示信息`但是现在我的SetDlgItemText()却无法正常显示,请问是什么原因呢?
我把如下语句:
SetDlgItemText(IDC_STATIC_SCD,"你要的内容!");
SetDlgItemText(IDC_STATIC_FTH,"你要显示的内容");
SetDlgItemText(IDC_STATIC_SX, "你要的内容!");
添加到了onfileopen()函数的最后,该函数是响应用户点击打开菜单命令的`有什么不对的地方?ID我都修改过了。谢谢各位!!!
...全文
967 15 打赏 收藏 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunxuan526 2006-07-13
  • 打赏
  • 举报
回复
分已给出`
多谢各位的帮忙!~~~
sunxuan526 2006-07-13
  • 打赏
  • 举报
回复
谢谢!
终于可以了`
但是现在文本中的字是横着的`请问怎么改?
折腾_苏州 2006-07-13
  • 打赏
  • 举报
回复
#include "MainFrame.h"
sunxuan526 2006-07-13
  • 打赏
  • 举报
回复
晕`还是有错误`
D:\Documents and Settings\孙璇\桌面\bbb1\bbbView.cpp(103) : error C2065: 'CMainFrame' : undeclared identifier
D:\Documents and Settings\孙璇\桌面\bbb1\bbbView.cpp(103) : error C2059: syntax error : ')'
D:\Documents and Settings\孙璇\桌面\bbb1\bbbView.cpp(104) : error C2059: syntax error : ')'
D:\Documents and Settings\孙璇\桌面\bbb1\bbbView.cpp(105) : error C2059: syntax error : ')'
mynamelj 2006-07-12
  • 打赏
  • 举报
回复
晕~~这个复制过去没用的.因为它是对象在没有创建前是不能用的.

你可以在view中这样写:

((CMainFrame*)AfxGetMainWnd())->m_wndMyDialogBar.SetDlgItemText(IDC_STATIC_SCD,"你要的内容!");

m_wndMyDialogBar但这个对象必须是公有的成员
sunxuan526 2006-07-12
  • 打赏
  • 举报
回复
我在CMainFrame中找到了
if (!m_wndMyDialogBar.Create(this, CG_IDD_MYDIALOGBAR,
CBRS_LEFT | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_HIDE_INPLACE,
CG_ID_VIEW_MYDIALOGBAR))
{
TRACE0("Failed to create dialog bar m_wndMyDialogBar\n");
return -1; // fail to create
}

m_wndMyDialogBar.EnableDocking(CBRS_ALIGN_LEFT | CBRS_ALIGN_RIGHT);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndMyDialogBar);
这个m_wndMyDialogBar应该就是变量名吧?我把MainFrm.h中的CDialogBar m_wndMyDialogBar;复制到了bbbView.h,因为我的onfileopen函数在这个文件里。然后编译可以通过,但是到这个语句的时候弹出了错误提示,debug assertion failed,这是为什么呢?
mynamelj 2006-07-12
  • 打赏
  • 举报
回复
不是,你在CFrameMain中找
sunxuan526 2006-07-12
  • 打赏
  • 举报
回复
是不是在 CMyDlgBar.h 里面加一句 CMyDlgBar m_dialogbar 就可以了?
mynamelj 2006-07-12
  • 打赏
  • 举报
回复
你让编译器添加的,编译器会自动生成代码的.
sunxuan526 2006-07-12
  • 打赏
  • 举报
回复
您说得我明白了
不过不大清楚该怎么做
当时我的dialogbar就是从project->add to project->components and controls 添加上去的`
然后找到资源class wizard,生成了一个dlgbar的类`好像没有别的操作`
那我应该怎么做呢?
折腾_苏州 2006-07-12
  • 打赏
  • 举报
回复
dialogbar指针->SetDlgItemText(....)
or
BOOL SetDlgItemText(
HWND hDlg, // handle of dialogbar
int nIDDlgItem, // identifier of control
LPCTSTR lpString // text to set
);
mynamelj 2006-07-12
  • 打赏
  • 举报
回复
静态控件的父是dialogbar,所以你只能通过dialogbar来设置它的文字

你的dialogbar在哪创建的,应该有个对象存在吧,这个你应该清楚.
sunxuan526 2006-07-12
  • 打赏
  • 举报
回复
mynamelj(风之羽翼)
您说的这个m_dialogbar应该声明为什么变量?还有什么其它操作没?谢谢!
lixiaosan 2006-07-12
  • 打赏
  • 举报
回复
http://support.microsoft.com/kb/185672/en-us
mynamelj 2006-07-12
  • 打赏
  • 举报
回复
m_dialogbar.SetDlgItemText(IDC_STATIC_SCD,"你要的内容!");

再试试

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧