VS2010 下VC++ MFC对话框应用程序怎么创建工具栏

VS2010 下VC++ MFC对话框应用程序怎么创建工具栏,第1张

1,solution explorer 右键添加resource (Add ->Resource),然后选择toolbar并新建

2,然后自己画BUTTON吧

3,记得给每个button一个ID啊。。。

4,对了toolbar的ID是IDR_TOOLBAR1,对话框的.h文件中添加

CToolBar m_FirstToolBar

5,.cpp文件中,函数OnInitDialog()中添加

if(!m_FirstToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | 

WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | 

CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || 

!m_FirstToolBar.LoadToolBar(IDR_TOOLBAR1))

{

   EndDialog(IDCANCEL)

}

RepositionBars(AFX_IDW_CONTROLBAR_FIRST, \

    AFX_IDW_CONTROLBAR_LAST,0)

m_FirstToolBar.MoveWindow(10, 10,100, 25, 1 )

6,如果要每个button有处理动作,那么就响应消息吧,

BEGIN_MESSAGE_MAP(CmfcdialogDlg, CDialogEx)

ON_WM_SYSCOMMAND()

ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

ON_EN_CHANGE(IDC_EDIT1, &CmfcdialogDlg::OnEnChangeEdit1)

ON_BN_CLICKED(IDC_BUTTON1, &CmfcdialogDlg::OnBnClickedButton1)

ON_BN_CLICKED(IDC_BUTTON2, &CmfcdialogDlg::OnBnClickedButton2)

ON_BN_CLICKED(IDC_BUTTON3, &CmfcdialogDlg::OnBnClickedButton3)

ON_BN_CLICKED(IDC_BUTTON4, &CmfcdialogDlg::OnBnClickedButton4)

END_MESSAGE_MAP()

7,再看消息处理函数

void CmfcdialogDlg::OnBnClickedButton2()

{

m_edit1.SetWindowTextW(_T("2 on toolbar"))

// TODO: Add your control notification handler code here

}

8,嗯,基本就这样,附件贴了项目文件(VS2010)

程序在注册表里保留了FRAME上次的状态,包括大小位置以及各工具类窗口的布局等.

解决方法有二,其中第一个简单, 第二更稳妥:

1.)在InitInstance(..)调用CleanState(_T("WorkSpace"))

2.)让MainFrame按它的习惯布局完了再调整大小, 在此之前让MainFrame不显示.关键点: WM_CREATE, WM_WINDOWPOSCHANGING

你可能还会发现FRAME有时候会闪一下, 看着不舒服, 用第二个方法同样管用.

CFont  m_myFont//定义字体类型

//***

//cHeight是字体的高度。

//cWidth是字体的宽度。

//cEscapement是字体的倾斜角

//cOrientation是字体的倾斜角。

//cWeight是字体的粗细。

//bItalic是字体是否斜体。

//bUnderline是字体是否有下划线。

//bStrikeOut是字体是否有删除线。

//iCharSet是字体使用的字符集。

//iOutPrecision是指定如何选择合适的字体。

//iClipPrecision是用来确定裁剪的精度。

//iQuality是怎么样跟选择的字体相符合。

//iPitchAndFamily是间距标志和属性标志。

//pszFaceName是字体的名称。

m_myFont.CreateFont(8, 8, 0, 0, 200, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_MODERN, _T("楷体"))

////****应用

例如你要写 文件的控件变量

CEdit edit

SetFont()函数 先设置  edit.SetFont(m_myFont)

写字体


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12005544.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存