CS第三方控件

    大家都知道,我现在在做CS的项目,现在是需求频变啊,心里好苦,做了这么久,还是涨了一点点见识的,下面就介绍一下自己最近用到的几款CS的第三方控件。


    DockPanel


    想必大家都用过VS,那么想一下VS的工具箱组件,是不是可以四处乱拽,还可以贴边隐藏,而且贴边隐藏之后还可以随意拖拽大小啊,呛呛,这么炫的功能,只要一款控件就可以完成啦,我在网上下载了很多的例子,效果都很棒,不过自己实现的时候基本上是按照例子里面敲的,效果就差一点,不知道是哪里出了问题,有需要的,大家也可以找例子来试一下。


   RowMergeView


   大家都用过DataGridView控件吧,这两款控件很相似,但是区别在哪里呢?看一下效果:


 


   它可以对列中相同的数据进行分组显示,而且做到这个效果所用的代码非常简单,只用一句代码,如下:


this.dgMain.MergeColumnNames.Add("Part");


  总结一下,就是,不管用户的需求多奇葩,最后你都会发现,已经有人做到了这些。

好的,我会尽力回答您的问题。 首先,您需要在您的MFC项目中添加VSFlexGrid ActiveX控件。添加方法是:打开“工具”菜单,选择“工具栏”中的“工具箱”,然后在工具箱中右键单击,并选择“添加/删除项目”选项。接下来,在弹出的“添加/删除项目”对话框中,选择“控件”选项卡,然后在列表中找到“VSFlexGrid”,选择它并单击“添加”按钮。 然后,您需要创建一个自定义的视图类,并从CView类派生。您可以在VC6中使用“添加类”向导来创建它。在向导中,您需要选择“视图类”选项,并指定您的新类的名称和基类。在此示例中,让我们称它为“CVSFlexGridView”。 接下来,您需要在您的新视图类中添加一个成员变量来保存VSFlexGrid控件的指针。您可以使用“类向导”中的“添加变量”功能来添加它。在“添加变量”对话框中,选择您的VSFlexGrid控件的ID,并将其声明为一个指向VSFlexGrid控件的指针类型。例如: ``` class CVSFlexGridView : public CView { public: CVSFlexGridView(); virtual ~CVSFlexGridView(); protected: VSFlexGrid *m_pFlexGrid; // VSFlexGrid控件指针 // ... }; ``` 现在,您需要在您的新视图类中覆盖CView类的一些虚拟函数,以便在视图创建和销毁时创建和销毁VSFlexGrid控件。例如: ``` CVSFlexGridView::CVSFlexGridView() { m_pFlexGrid = NULL; } CVSFlexGridView::~CVSFlexGridView() { if (m_pFlexGrid != NULL) { m_pFlexGrid->DestroyWindow(); delete m_pFlexGrid; } } BOOL CVSFlexGridView::PreCreateWindow(CREATESTRUCT& cs) { // 在此处修改视图窗口样式和扩展样式 // 调用基类函数 return CView::PreCreateWindow(cs); } void CVSFlexGridView::OnInitialUpdate() { CView::OnInitialUpdate(); // 创建VSFlexGrid控件 if (m_pFlexGrid == NULL) { m_pFlexGrid = new VSFlexGrid; m_pFlexGrid->Create(NULL, _T("VSFlexGrid"), WS_CHILD | WS_VISIBLE, CRect(0, 0, 0, 0), this, 0); } } void CVSFlexGridView::OnDraw(CDC* /*pDC*/) { // 不需要实现此函数 } ``` 最后,您需要将您的新视图类与您的文档类相关联。您可以在应用程序初始化代码中完成此操作。例如: ``` BOOL CMyApp::InitInstance() { // ... // 注册文档模板 CMultiDocTemplate* pDocTemplate; pDocTemplate = new CMultiDocTemplate(IDR_MYTYPE, RUNTIME_CLASS(CMyDoc), RUNTIME_CLASS(CChildFrame), // 自定义 MDI 子窗口框架 RUNTIME_CLASS(CVSFlexGridView)); // 自定义视图类 AddDocTemplate(pDocTemplate); // ... } ``` 好了,以上就是一个简单的示例,演示了如何在VC6中创建一个MFC视图模式封装第三方OCX的VSFlexGrid控件。希望对您有所帮助!
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盖丽男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值