还是关于标签使用的问题---标签显示了,但标签里的内容不显示(API)

psl_87 2009-02-13 08:54:59
按理说对话框IDD_TABLE1在程序启动后会显示,但为什么不显示呢?感觉少了点东西,网上查了下没查到API的例子

RECT rect;
TCITEM tci;
case WM_INITDIALOG:
GetClientRect(hChief, &rect);
hTable = CreateWindow(WC_TABCONTROL, "",
WS_VISIBLE | WS_TABSTOP| WS_CHILD | WS_THICKFRAME,
0, 0, rect.right/2, 2*rect.bottom/3,
hChief, NULL, hInst, NULL);
tci.mask = TCIF_TEXT;
tci.pszText = "标签1";
TabCtrl_InsertItem(hTable, 0, &tci);
tci.pszText = "标签2";
TabCtrl_InsertItem(hTable, 1, &tci);
hDlg = CreateDialog(hInst, (LPCSTR)IDD_TABLE1, hTable, (DLGPROC)AnodeProc);
break;
...全文
92 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
psl_87 2009-02-13
  • 打赏
  • 举报
回复
我刚正在看老师的课件,无意中我发现问题所在了,现把那段话贴上来:
如果对话框定义时没有包括WS_VISIBLE样式,则在创建完对话框后,非模态对话框不会自动显示,必须调用函数ShowWindow(hDlg,nCmdShow)函数显示非模态对话框。

不过还是谢谢各位了
cnzdgs 2009-02-13
  • 打赏
  • 举报
回复
标签被子对话框挡住了。创建窗口后调整窗口的大小和位置,注意上面要留出标签的位置。
psl_87 2009-02-13
  • 打赏
  • 举报
回复
还要用到类啊,不用这么复杂吧?有没有简单点的办法?
oyljerry 2009-02-13
  • 打赏
  • 举报
回复
m_TabBase.AddPage("商品类别", &m_oClassdlg, IDD_DIALOG_CLASS);
分别是对话框名,插入的对话框对象,对话框的ID值
psl_87 2009-02-13
  • 打赏
  • 举报
回复
不是很明白,怎么把对话框插入标签?
oyljerry 2009-02-13
  • 打赏
  • 举报
回复
先创建对话框,再插入标签
psl_87 2009-02-13
  • 打赏
  • 举报
回复
hDlg = CreateDialog(hInst, (LPCSTR)IDD_TABLE1, hTable, (DLGPROC)AnodeProc);
就是这一句不起作用,调试发现hDlg不为零,应该是创建成功了,用ShowWindow()的话IDD_TABLE1对话框倒是显示了,但不在标签里面.

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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