c++图形界面开发_在界面用显示时间的步骤

c++图形界面开发_在界面用显示时间的步骤BCGControlBarLibraryProfessionalEdition installation:整个库的源代码安装在\BCGCBPro目录下面.可执行文件(*.dll)安装在\Bin(forVisualStudio6.0)或\Bin7(forVisualStudio.NET)下面。请在你的源代码中做如下的改变:·                    

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

BCGControlBarLibrary Professional Edition installation:

整个库的源代码安装在<installdir>\BCGCBPro目录下面.可执行文件(*.dll)安装在 <install dir>\Bin (for VisualStudio 6.0) <installdir>\Bin7 (for VisualStudio.NET)下面。

请在你的源代码中做如下的改变:

·                            在应用程序的Include路径中加入BCGCBPro目录,具体添加办法如下:vs2005下面打开菜单工具的Option项,选择项目解决方案vc++目录,然后将包含文件<installdir>\BCGCBPro添加进去。

·                            确信在你的应用程序的 InitInstance() 方法中调用了AfxOleInit()

·                            stdafx.h中加入下面的包含文件:

#include “BCGCBProInc.h”

·                            使你的应用程序派生自:CBCGPWorkspace

classCMyApp : publicCWinApp,
                        
publicCBCGPWorkspace

·                            第一步,你需要定义一个在注册表里保存个性化数据的项并且鼠标,键盘和上下文菜单都需要。为了实现这一点,CMyApp::InitInstance set registry entry and initializecustomization managers:

SetRegistryBase (_T(“Settings“));

// Initialize customization managers:
InitMouseManager();
InitContextMenuManager();
InitKeyboardManager();

·                            如果你决定使你的鼠标和菜单具有个性化,你需要 “attach”一个需要的视图初始化鼠标和菜单的个性化管理。重载 CBCGPWorkspace::PreLoadState方法:

classCMyApp ….
{


virtual voidPreLoadState();

};

voidCMyApp::PreLoadState()
{

   
// Associate mouse event with specific view(s):
    GetMouseManager()->AddView (iIdTestView, _T(“Test view“), IDR_VIEW);

   // Initialize context menus:
    GetContextMenuManager()->AddMenu (_T(“Test menu“), idMenu); 
}

·                            把框架文件中的基类CMDIFrameWnd 改为 CBCGPMDIFrameWnd(in case of SDI application change CFrameWnd to CBCGPFrameWnd)

·                            将子框架的基类 CMDIChildWnd 改为  CBCGPMDIChildWnd

·                             CToolbar 改为 CBCGPToolBar并且加入一个embedded menu bar 在你的CMainFrame类中:

CBCGPMenuBar    m_wndMenuBar;   // New menu bar
CBCGToolBar      m_wndToolBar;     // Application toolbar

·                            CMainFrame::OnCreate()方法中加入下面几行以实现菜单的功能:

// Create menu bar (replaces the standard menu):
if (!m_wndMenuBar.Create (this))
{

      TRACE0(“Failed to create menubar\n”);
      return -1;     
// fail to create
}

m_wndMenuBar.SetBarStyle (m_wndMenuBar.GetBarStyle() |
                                          CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);

·                            加入以下代码以实现ca:

m_wndMenuBar.EnableDocking (CBRS_ALIGN_ANY);
DockControlBar (&m_wndMenuBar);

Important:在你的应用程序中,你可以使用多个CBCGPToolBar .所用工具条的图像将自动合并到一张位图上 .但是只有一个CBCGPMenuBar 对象可以使用.
 

为了具有自定义工具条和菜单条, 请做如下改变:

·                            加入 toolbar/menucustomization command (for example, View| Customize…)

·                            Implement OnViewCustomize method. The codewill look something like this:

void CMainFrame::OnViewCustomize()
{

 // Create a customize toolbars dialog:
 CBCGPToolbarCustomize* pDlgCust = new CBCGToolbarCustomize (this,
TRUE
);

 // Add predefined toolbars:
 pDlgCust->AddToolBar (“Main”, IDR_MAINFRAME);
 ….

 // Add user-defined commands:
 pDlgCust->AddButton (“User”, CBCGPToolbarButton (ID_USER_TOOL1, 1, “User Tool 1”, TRUE));
 pDlgCust->AddButton (“User”, CBCGToolbarButton (ID_USER_TOOL2, 2, “User Tool 2”, TRUE));
 pDlgCust->AddButton (“User”, CBCGToolbarButton (ID_USER_TOOL3, 3, “User Tool 3”, TRUE));
 ….

 pDlgCust->SetUserCategory (“User”);

 // Enable Create/Delete of the user-defined toolbars:
 pDlgCust->EnableUserDefinedToolbars ();

 pDlgCust->Create ();
}

为了能具有 MicrosofteOffice 2000 的菜单风格:

·                            Define your own basic commands set (usuallyin CMainFrame::OnCreate()):

CList<UINT, UINT> lstBasicCoomads;
 

lstBasicCoomads.AddTail (ID_FILE_NEW);
lstBasicCoomads.AddTail (ID_FILE_OPEN);
lstBasicCoomads.AddTail (ID_FILE_SAVE);

……
lstBasicCoomads.AddTail (ID_APP_ABOUT);

CBCGPToolBar::SetBasicCommands (lstBasicCoomads);

·                            这些命令将使得这些菜单能保持常见.

使菜单项是否具有阴影的风格:

CBCGPMenuBar::EnableMenuShadows (BOOL bEnable = TRUE)

Note: pleasedon’t use menu shadows if your views content may be dynamically changed whenthe popup menu is shown (e.g., views shows animation, HTML page). In this casemenu shadow “is remember” the previous view image.

在运行时改变菜单的字体:

CBCGPMenuBar::SetMenuFont (LPLOGFONT lpLogFont, BOOL bHorz = TRUE);

使工具条具有”pager”(customization) button just call:

m_wndToolBar.EnableCustomizeButton (TRUE, id_of_customize_command,
_T(“Customize…”));

使工具条的按钮下具有文字:

m_wndToolBar.EnableTextLabels (BOOL bEnable = TRUE);

使用户能自定义工具:

·                            Add a new menu item: ID_TOOLS_ENTRY. Thisitem will be automatically replaced by the actual tools list

·                            Add the following items to the STRINGresource:
 

1.                                                   ID_TOOL1    “Activatesuser-defined tool\nUser Tool”

2.                                                   ID_TOOL2    “Activatesuser-defined tool\nUser Tool”
….

3.                                                   ID_TOOLx    “Activatesuser-defined tool\nUser Tool”
 

·                            In application’s InitInstance() call:
 

EnableUserTools (ID_TOOLS_ENTRY, ID_TOOL1,    ID_TOOLx);

·                            A new “Tools” page will be addedto the customization dialog

To enable dynamic”tear-off” (“detachable”) menus:

·                            Reserve some items in the STRING resourcetable. These IDs will be used as control bars IDs

1.                                                   ID_TEAR_OFF1   “<dummy>”

2.                                                   ID_TEAR_OFF2   “<dummy>”

3.                                                   …….

4.                                                   ID_TEAR_OFFx   “<dummy>”

·                            For each “tear-off” popup menu,change the “Break” property to “Bar” (MF_MENUBARBREAK)

·                            In application’s InitInstance() call: 

EnableTearOffMenus (_T(“RegBase”, ID_TEAR_OFF1, ID_TEAR_OFFx);

To enable static”tear-off” (“detachable”) menus:

·                            Reserve an item in the STRING resourcetable. This ID should be differ from dynamic tear-off ID (see above)
ID_TEAR_OFF_BAR    “<dummy>”
 

·                            In the main frame OnShowPopupMenu, enable”tear-off” for the specific menu button:
 

pMenuButton->SetTearOff (ID_TEAR_OFF_BAR);

To ensure, that allBCGPControlBar allocations are freed properly:

·                            Add the following call into yourapplication’s ExitInstance() :

::BCGCBProCleanUp ();

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184436.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • rc522读卡器电路_stm32烧录工具

    rc522读卡器电路_stm32烧录工具在写这篇文章之前有写过一篇有关于PN532的文章,RC522与PN532在使用上都可以用来读写我们之前用的M1的IC卡,并且两款芯片有着同样都是应用于13.56MHz的非接触式通信芯片等诸多共通之处,查阅网上资料对于两者的区别个人认为RC522属于RFID,而PN532属于NFC,在功能上PN532包含了RC522的所功能(个人愚见),并且对于大部分需要量产使用或者学生党来说…

    2022年9月19日
    5
  • initramfs 命令_linux initramfs

    initramfs 命令_linux initramfs原文地址:http://www.cnblogs.com/pied/archive/2013/01/29/2880718.html这个是翻译来的,原文地址:http://www.landley.net/writing/rootfs-howto.html怎样使用initramfs 工作过程简述在2.6kernel启动时,它把rootfs作为它的第一个文件系统挂载(注意:这里的rootfs是真名!!!不…

    2022年8月11日
    7
  • 【原创】互联网音视频直播架构方案(技术点)

    【原创】互联网音视频直播架构方案(技术点) 

    2022年7月4日
    23
  • promptings是什么意思啊(think again)

    原文:http://windowsxp.mvps.org/890859.htm 当你通过Web方式的WindowsUpdates或者Windows自动更新安装完KB890859补丁后,系统依然不断提示此更新未安装,不断弹出安装对话框,可能的原因是一个或者多个主要的Windows文件未能成功地被此Hotfix更新或者覆盖导致,需要校验此更新是否成功,打开%WINDIR%/system32目录,

    2022年4月14日
    55
  • C# WPF 基础教程「建议收藏」

    本课程是《C#WPF基础教程》,对应着教材的第1章到第17章。第1章  WPF概述      1.1  Windows图形演化      1.1.1  DirectX:新的图形引擎      1.1.2  硬件加速与WPF      1.2  WPF:高级API      1.2.1  Windows窗体将继续保留      1.2.2 

    2022年4月9日
    73
  • RestFul风格「建议收藏」

    RestFul风格「建议收藏」RestFul风格概念Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。功能资源:互联网所有的事物都可以被抽象为资源资源操作:使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作。分别对应添加、删除、修改、查询。传统方式操作资源:通过不同的参数来实现不同的效果!方法单一,post和get​ http://127.0.0.1/item/queryItem.actio

    2022年6月15日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号