#if !defined(AFX_DISHDLG_H__6AF25614_CFFE_494C_864F_C6F1AF65B1DF__INCLUDED_)
#define AFX_DISHDLG_H__6AF25614_CFFE_494C_864F_C6F1AF65B1DF__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "DeskPage.h"
#include "DishPage.h"
#include "OrderPage.h"
#include "PayPage.h"
/////////////////////////////////////////////////////////////////////////////
// CDishDlg dialog
class CDishDlg : public CDialog
{
// Construction
public:
CDishDlg(CWnd* pParent = NULL); // standard constructor
CDishPage m_Page1;
CDeskPage m_page2;
COrderPage m_page3;
CPayPage m_page4;
----------------------------------------------------------------------------------------------------
cpp文件:
BOOL CDishDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here Tab空间中的四个标签
m_tabDish.InsertItem(0,"菜单管理");
m_tabDish.InsertItem(1,"餐桌管理");
m_tabDish.InsertItem(2,"订单管理");
m_tabDish.InsertItem(3,"付费管理");
m_Page1.Create(IDD_DIALOG_DISH,&m_tabDish);
m_page2.Create(IDD_DIALOG_DESK,&m_tabDish);
m_page3.Create(IDD_DIALOG_ORDER,&m_tabDish);
//m_page4.Create(IDD_DIALOG_PAY,&m_tabDish); //当我把这行的注释取消的话,就会出线错误了
//如下面的图1
m_Page1.CenterWindow();
m_page2.CenterWindow();
m_page3.CenterWindow();
//m_page4.CenterWindow();
m_Page1.ShowWindow(SW_SHOW);
m_page2.ShowWindow(SW_HIDE);
m_page3.ShowWindow(SW_HIDE);
//m_page4.ShowWindow(SW_HIDE);
return TRUE; // return TRUE unless you set the focus to a control
}
void CDishDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
// If you add a minimize button to your dialog, you will need the code below
// to draw the icon. For MFC applications using the document/view model,
// this is automatically done for you by the framework.
void CDishDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
// The system calls this to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR CDishDlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}
void CDishDlg::OnSelchangeTabDish(NMHDR* pNMHDR, LRESULT* pResult)
{
switch(m_tabDish.GetCurSel())
{
case 0:
{
m_Page1.ShowWindow(SW_SHOW);
m_page2.ShowWindow(SW_HIDE);
m_page3.ShowWindow(SW_HIDE);
//m_page4.ShowWindow(SW_HIDE);
break;
}
case 1:
{
m_Page1.ShowWindow(SW_HIDE);
m_page2.ShowWindow(SW_SHOW);
m_page3.ShowWindow(SW_HIDE);
//m_page4.ShowWindow(SW_HIDE);
break;
}
case 2:
{
m_Page1.ShowWindow(SW_HIDE);
m_page2.ShowWindow(SW_HIDE);
m_page3.ShowWindow(SW_SHOW);
//m_page4.ShowWindow(SW_HIDE);
break;
}
/*case 3:
{
m_Page1.ShowWindow(SW_HIDE);
m_page2.ShowWindow(SW_HIDE);
m_page3.ShowWindow(SW_HIDE);
m_page4.ShowWindow(SW_SHOW);
break;
}*/
}
*pResult = 0;
}
同时,Tab标签的四个子页面老是对不准,有什么办法可以看起来整齐些。。
好像是要定格位置什么的,具体的代码如何,再那里添加,求教下
图一:
图二:标签对不齐...
13 个解决方案
#1
图片看不见,悲剧啊,先帮顶了
#2
现在可以看见了吧。。
#3
那是因为你CTabCtrl上的对话框的显示区域没有设置好,太靠上了。。。
#4
也就是说要移动下吗?是手动的把空间移动下,还是要编写什么代码?
#5
#7
我在ctabctrl类里面也有个问题,就是setitem重新设置标签名称后,会把我以前在标签上画的按钮给隐藏掉,我就算重新movewindow按钮也无效,这个问题怎么解决啊,有高手回答下吗
#8
谢谢,这个我看过了,可以还是不能解决标签不对称的问题呀。。
#9
lz你所说的标签不对称是什么意思?
#10
是啊
怎么个标签不对称
#11
怎么个标签不对称
---------------------
是我表达的不清楚。其实是下面页面会把“菜单管理”,“餐桌管理”,“点餐管理”这些标签覆盖掉,我重新把对话框调正大小,还是没有办法。。。。所以不知道有没哟什么好的办法,可以讲哪些子页面整齐些。
---------------------
是我表达的不清楚。其实是下面页面会把“菜单管理”,“餐桌管理”,“点餐管理”这些标签覆盖掉,我重新把对话框调正大小,还是没有办法。。。。所以不知道有没哟什么好的办法,可以讲哪些子页面整齐些。
#12
通过MoveWindow调整啊
我提供的博客里有例子啊
我提供的博客里有例子啊
#13
好的,这个已经明白了,谢谢你们了。。
#1
图片看不见,悲剧啊,先帮顶了
#2
现在可以看见了吧。。
#3
那是因为你CTabCtrl上的对话框的显示区域没有设置好,太靠上了。。。
#4
也就是说要移动下吗?是手动的把空间移动下,还是要编写什么代码?
#5
#6
#7
我在ctabctrl类里面也有个问题,就是setitem重新设置标签名称后,会把我以前在标签上画的按钮给隐藏掉,我就算重新movewindow按钮也无效,这个问题怎么解决啊,有高手回答下吗
#8
谢谢,这个我看过了,可以还是不能解决标签不对称的问题呀。。
#9
lz你所说的标签不对称是什么意思?
#10
是啊
怎么个标签不对称
#11
怎么个标签不对称
---------------------
是我表达的不清楚。其实是下面页面会把“菜单管理”,“餐桌管理”,“点餐管理”这些标签覆盖掉,我重新把对话框调正大小,还是没有办法。。。。所以不知道有没哟什么好的办法,可以讲哪些子页面整齐些。
---------------------
是我表达的不清楚。其实是下面页面会把“菜单管理”,“餐桌管理”,“点餐管理”这些标签覆盖掉,我重新把对话框调正大小,还是没有办法。。。。所以不知道有没哟什么好的办法,可以讲哪些子页面整齐些。
#12
通过MoveWindow调整啊
我提供的博客里有例子啊
我提供的博客里有例子啊
#13
好的,这个已经明白了,谢谢你们了。。