1. c# 在form2中给form1控件赋值问题
RibbonComp ri = new RibbonComp();这里不应该new,应该是获取当前这个
2. 有人在XE7里用DevExpress VCL的Ribbon吗,出错
用安装器安装了4.14版,使用DevExpress的其他组件没有问题
新建项目,在窗体上添加了个DxRibbon控件后编译出错,提示找不到个obj文件
[ilink32 Error] Fatal: Unable to open file 'DXRIBBONCUSTOMIZATIONFORM.OBJ'
尝试在delphi下编译没有问题。
在源码中找到'DXRIBBONCUSTOMIZATIONFORM.dpk手动编译并在option中选择了genarate all c++builder files
编译成功,但没生成obj,仍然不行
以为是安装器有问题,后来到官网下载了个trial版安装也是同样的问题。
需要手动向工程中添加一堆lib,明明这些文件所在文件夹就包含在lib的路径中
3. 每次打开CAD2009版本时都提示加载自定义文件失败,未找到_RIBBON.cui文件。而后界面里没有了工具栏。
这个是缺少文件,把CAD重新安装一遍,就可以了。
4. 如何编译wxWidgets示例程序
wxWidgets
wxWidgets是一个程序开发框架/库, 允许你在Windows、Mac、linux中使用相同的代码跨平台开发。它主要用C++写成,但也可以与其他语言绑定比如Python、Perl、Ruby。
本教程中我将向你展示如何在基于Debian的linux中如Ubuntu和Linux Mint中编译wxwidgets 3.0+。
从源码编译wxWidgets并不困难,仅仅需要几分钟。库可以按不同的方式来编译,比如静态或者动态库。
1. 下载 wxWidgets
第一步你需要从wxwidgets.org下载wxWidgets源码文件。
做完后,解压到目录。
2. 设置编译环境
要编译wxwidgets,我们需要一些工具包括C++编译器,在Linux上是g++。所有这些可以通过apt-get工具从仓库中安装。
我们还需要wxWidgets依赖的GTK开发库。
$ sudo apt-get install libgtk-3-dev build-essential checkinstall
这个叫做checkinstall的工具允许我们为wxwidgets创建一个安装包,这样之后就可以轻松的使用包管理器来卸载。
3. 编译 wxWidgets
进入到wxWidgets解压后的目录。为了保持清洁,创建一个编译用的目录。
$ mkdir gtk-build
$ cd gtk-build/
现在运行configure和make命令。每个将花费一些时间来完成。
$ ../configure --disable-shared --enable-unicode
$ make
"--disable-shared"选项将会编译静态库而不是动态库。
make命令完成后,编译就成功了。是时候安装wxWidgets到正确的目录。
更多信息请参考install.txt和readme.txt,这可在wxwidgets中的/docs/gtk/目录下找到。
4. 安装 checkinstall
现在我们不使用"make install"命令,我们使用checkinstall命令来创建一个wxwidgets的deb安装包。运行命令:
$ sudo checkinstall
checkinstall会询问几个问题,请保证在提问后提供一个版本号,否则将会失败。
完成这一切后,wxWidgets就安装好了,deb文件也会创建在相同的目录下。
5. 追踪安装的文件
如果你想要检查文件安装的位置,使用dpkg命令后面跟上checkinstall提供的包名。
$ dpkg -L package_name
/.
/usr
/usr/local
/usr/local/lib
/usr/local/lib/libwx_baseu-3.0.a
/usr/local/lib/libwx_gtk3u_propgrid-3.0.a
/usr/local/lib/libwx_gtk3u_html-3.0.a
/usr/local/lib/libwxscintilla-3.0.a
/usr/local/lib/libwx_gtk3u_ribbon-3.0.a
/usr/local/lib/libwx_gtk3u_stc-3.0.a
/usr/local/lib/libwx_gtk3u_qa-3.0.a
/usr/local/lib/libwx_baseu_net-3.0.a
/usr/local/lib/libwxtiff-3.0.a
6. 编译示例
编译wxWidgets完成后就可以马上编译示例程序了。在相同的目录下,一个新的sample目录已经创建了。
进入它并运行下面的命令
$ compile samples
$ cd samples/
$ make
make命令完成后,进入sample 子目录,这里就有一个可以马上运行的Demo程序了。
7. 编译你的第一个程序
你完成编译demo程序后,可以写你自己的程序来编译了。这个也很简单。
假设你用的是C++,这样的话你还可以使用编辑器的高亮特性。比如gedit、kate、kwrite等等。或者用全功能的IDE像Geany、Codelite、Codeblocks等等。
然而你的第一个程序只需要用一个文本编辑器来快速完成。
如下:
#includewx.h>
classSimple:public wxFrame
{
public:
Simple(const wxString& title)
: wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(250,150))
{
Centre();
}
};
classMyApp:public wxApp
{
public:
boolOnInit()
{
Simple*simple =newSimple(wxT("Simple"));
simple->Show(true);
returntrue;
}
};
wxIMPLEMENT_APP(MyApp);
现在保存并用下面的命令编译。
# compile
$ g++ basic.cpp `wx-config --cxxflags --libs std`-o program
# run
$ ./program
5. C# excel addin如何实现Ribbon上一个按钮显示一个UserControl
得把uc 添加到CustomTaskPaneCollection 中才行
给你一个参考:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Word = Microsoft.Office.Interop.Word;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Tools.Word;
using Microsoft.Office.Tools;
namespace FinWordHelper
{
public partial class ThisAddIn
{
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
this.Application.DocumentOpen += Application_DocumentOpen;
this.Application.DocumentChange += Application_DocumentChange;
}
void Application_DocumentChange()
{
FinPaneManager.Instance.CollectWordPanes();
}
void Application_DocumentOpen(Word.Document Doc)
{
FinPaneManager.Instance.CollectWordPanes();
}
private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
}
#region VSTO 生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InternalStartup()
{
this.Startup += new System.EventHandler(ThisAddIn_Startup);
this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
}
#endregion
}
#region FinPaneManager
public class FinPaneManager
{
private FinPaneManager()
{
custPanes = Globals.ThisAddIn.CustomTaskPanes;
}
private static FinPaneManager m_Instance = new FinPaneManager();
public static FinPaneManager Instance
{
get { return m_Instance; }
}
private CustomTaskPaneCollection custPanes;
public CustomTaskPane GetFinWordFormatPane()
{
Word.Window window = Globals.ThisAddIn.Application.ActiveWindow;
foreach (CustomTaskPane ctp in custPanes)
{
if (ctp.Title == "Fin格式化工具" && ctp.Window == window)
{
return ctp;
}
}
var cp = custPanes.Add(
new WordFormatter(),
"Fin格式化工具",
window
);
cp.Width = 250;
return cp;
}
public CustomTaskPane GetFinWordCheckPane()
{
Word.Window window = Globals.ThisAddIn.Application.ActiveWindow;
foreach (CustomTaskPane ctp in custPanes)
{
if (ctp.Title == "拼写检查" && ctp.Window == window)
{
return ctp;
}
}
var cp = custPanes.Add(
new WordSpellCheck(),
"拼写检查",
window
);
cp.Width = 250;
return cp;
}
public void CollectWordPanes()
{
for (int i = custPanes.Count - 1; i >= 0; i--)
{
if (custPanes[i].Window == null)
{
custPanes.RemoveAt(i);
}
}
}
}
#endregion
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Tools.Ribbon;
namespace FinWordHelper
{
public partial class CustomRibbon //按钮调用在这里
{
private void CustomRibbon_Load(object sender, RibbonUIEventArgs e)
{
}
private void button1_Click(object sender, RibbonControlEventArgs e)
{
FinPaneManager.Instance.GetFinWordFormatPane().Visible = true;
}
private void button2_Click(object sender, RibbonControlEventArgs e)
{
FinPaneManager.Instance.GetFinWordCheckPane().Visible = true;
}
}
}
6. VS2013 MFC 基于对话框的应用程序 添加工具栏,添加RIBBON也可以
在虚拟机里面,安装VS2010,在安装目录里面有大量的微软给出的 MFC Sample。这东西你在里面都可以找到。有大量的例子。
望采纳!
7. 如何在MFC下对Ribbon界面进行重写
实际上,Ribbon界面(Office 2007风格的界面)的开发早在2008年就随着Visual C++ Feature Pack被引入到Visual Studio 2008中。在即将到来的Visual Studio 2010中,Ribbon界面的开发更是得到了原生的支持,使得Ribbon界面的开发更加简便高效。
首先,我们启动Visual Studio 2010,创建一个基于MFC的应用程序,项目模板我们选择“MFC Application”
在接下来的“MFC应用程序向导”中,我们就可以对项目的可视化风格进行选择和配置。Visual Studio 2010支持MFC风格、标准的Windows风格,Visual Studio 2005风格和Office 2007风格。而这里的Office 2007风格,就是我们要创建的Ribbon界面。
在接下来的向导页中,我们可以选择命令栏(工具栏。菜单栏)的样式,这里我们当然选择“Use a ribbon”了。当然,为了跟旧有的系统保持兼容,Visual Studio 2010也支持传统的命令式界面,如果你的用户比较保守,想继续使用传统的菜单式界面,我们可以选择“Use a menu bar and toolbar”
为了支持丰富的Office 2007界面风格,MFC默认情况下为MFC文档应用程序添加了类似Outlook风格的导航面板(Navigation pane)和标题条(Caption bar)。这两者并不是我们关注的重点,为了更好的展示Ribbon界面,我们这里就去掉这两个多余的面板。
到这里,针对新项目的设置就完成了,点击“Finish”按钮关闭应用程序向导,Visual Studio 2010就会按照我们的设置创建相应的MFC应用程序解决方案。编译运行这个解决方案,我们就得到了第一个具有Ribbon界面的应用程序。
在微软网站上,有六个示例代码:Windows Ribbon: Samples
网址是http://www.microsoft.com/en-us/download/details.aspx?id=9620
8. 上通达信时出现RibbonBar加载配置文件失败是什么意思
1.消息中心加密文件 MsgBox.dax 的解除。用十六进制编辑器搜索 Viewthem.dll 字串符 MsgBox.dax ,也是把后缀名改为 xml
2.修改 Viewthem.dll 文件一处跳转。用OD载入 Viewthem.dll 搜索字串符 tdxzd@ribbonbar@config@file@xml@ 这里只有一个 tdxzd@ribbonbar@config@file
9. 看Spring-cloud怎样使用Ribbon
使用Spring Cloud构建实际的微服务架构。
基本概念:
使用Docker进行集成测试
混合持久化
微服务架构
服务发现
API网关
Docker
使用Docker对每一个服务进行构建和部署。使用Docker Compose在一个开发机上进行端到端的集成测试。
混合持久化
混合持久化其实就是说使用多种数据库来存储。不同的微服务实例都会使用它们自己的数据库,并通过REST服务或者消息总线来通信,举个例子,你可以使用基于以下数据库来构建微服务:
Neo4j(图形化)
MongoDB(文档化)
MySQL(关联)
微服务架构
这个例子演示了如何使用微服务创建一个新的应用。由于在项目中的每一个微服务只有一个单一的父项目。开发者为此得到的收益是可以在本机上运行和开发每一个微服务。添加一个新的微服务非常简单,当发现微服务时将会自动发现运行时的集群环境上。
Service Discovery
项目中包含两个发现服务,一个在Netflix Eureka,另一个使用了
Consul from Hashicorp。多种发现服务提供了多种选择,一个是使用(Consul)来做DNS服务集群,另一个是(Consul)基于代理的API 网关。
API 网关
每一个微服务都关联Eureka,在整个集群中检索API路由。使用这个策略,每一个在集群上运行的微服务只需要通过一个共同的API网关进行负载均衡和暴露接口,每一个服务也会自动发现并将路由请求转发到自己的路由服务中。这个代理技术有助于开发用户界面,作为平台完整的 API通过自己的主机映射为代理服务。
Docker 实例
下面的实例将会通过Maven来构建,使用Docker为每一个微服务构建容器镜像。我们可以很优雅的使用Docker Compose在我们自己的主机上搭建全部的微服务集群。
开始构建
在这之前,请先移步至项目的GitHub 仓库。
https://github.com/kbastani/spring-cloud-microservice-example
克隆或者fork这个项目并且把源码下载到自己的电脑上。下载完毕后,你需要使用Maven和Docker来编译和构建本地的容器镜像。
下载Docker
首先,如果你还没有Docker请先下载它。可以跟随这个指南来获取Docker:https://docs.docker.com/installation/,然后在开发机上安装并运行。
当然你也需要安装Docker Compose(https//docs.docker.com/compose/),这个指南将会帮到你:https://docs.docker.com/compose/install/。
环境要求
能够运行实例程序,需要在你的开发机上安装下面的软件:
Maven 3
Java 8
Docker
Docker Compose
构建项目
通过命令行方式来构建当前项目,在项目的根目录中运行如下的命令:
$ mvn clean install
项目将会根据pom.xml中的每一个项目声明中下载相应的依赖jar包。每一个服务都将会被构建,同时Maven的Docker插件将会自动从本地Docker Registry中构建每一个容器镜像。Docker将会在构建成功后,根据命令行运行mvn clean install来清除相应的资源。