c++添加对话框后如何添加控件栏

投稿:山水相逢 优质问答领域创作者 发布时间:2023-10-04 10:59:32
c++添加对话框后如何添加控件栏

1. 在c++添加对话框后,可以添加控件栏。
2. 添加控件栏的原因是为了方便用户在对话框中进行操作,提高用户体验。
控件栏可以包含多种控件,如按钮、文本框、下拉框等,可以根据需要进行添加。
3. 在c++中添加控件栏需要进行以下步骤:首先在对话框资源视图中添加控件栏,然后在代码中定义控件栏变量并进行初始化,最后在对话框类的OnInitDialog()函数中添加控件栏。
具体的实现方法可以参考相关的c++教程或者文档。

c++添加对话框后如何添加控件栏

1、添加工具栏资源ID为IDR_TOOLBAR

2、在对话框的类定义中加:

CToolBar m_ToolBar;

3、在OnInitDialog中或其它合适的消息响应中加如下代码:(函数可查看MSDN)

01 m_ToolBar.Create(this);//创建工具栏

02 m_ToolBar.LoadToolBar(IDR_TOOLBAR);//加载工具栏

03

04 //得出控件条大小.

05 CRect rect;

06 CRect rectNow;

07 GetClientRect(rect);

08 RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0,reposQuery,rectNow);

09

10 //放置控件条位置

11 CPoint ptOffset(rectNow.left-rect.left,rectNow.top-rect.top);

12

13 CRect rcChild;

14 CWnd* pwndChild=GetWindow(GW_CHILD);

15 while(pwndChild)

16 {

17 pwndChild->GetWindowRect(rcChild);

18 ScreenToClient(rcChild);

19 rcChild.OffsetRect(ptOffset);

20 pwndChild->MoveWindow(rcChild,FALSE);

21 pwndChild=pwndChild->GetNextWindow();

22 }

23

24 //调整对话框尺寸

25 CRect rcWindow;

26 GetWindowRect(rcWindow);

27 rcWindow.right+=rect.Width()-rectNow.Width();

28 rcWindow.bottom+=rect.Height()-rectNow.Height();

29 MoveWindow(rcWindow, FALSE);

30

31 //控件条定位

32 RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);

33

34 //对框居中

35 CenterWindow();

4、手工添加处理函数

1 afx_msg voidOnBtnXXX();//消息响应函数声明

2 ON_COMMAND(ID_BTN_XXX/*工具按钮ID*/,OnBtnXXX/*函数名*/)//消息映射

3 voidCXXXDlg::OnBtnXXX(){}//消息处理函数