在vs 2005里面如何像6里面添加CSplashWnd组件来设置启动菜单呢

在vs 2005里面如何像6里面添加CSplashWnd组件来设置启动菜单呢,第1张

我告诉你在vs2008下的做法。

项目-添加类-c++类,类名CSplashWnd

其他默认。把SplashWnd.h的代码如下:

#pragma once

// CSplashWnd

class CSplashWnd : public CWnd

{

DECLARE_DYNAMIC(CSplashWnd)

private:

CDC mMemDC

BITMAP bmBitmap

CBitmap m_Bitmap

CBitmap *Old_Bitmap

public:

void CreateSplash()

public:

CSplashWnd()

virtual ~CSplashWnd()

protected:

afx_msg void OnPaint()

DECLARE_MESSAGE_MAP()

}

类的cpp代码:

// SplasWnd.cpp : 实现文件

//

#include "stdafx.h"

#include "resource.h"

#include "SplashWnd.h"

// CSplashWnd

IMPLEMENT_DYNAMIC(CSplashWnd, CWnd)

CSplashWnd::CSplashWnd()

{

m_Bitmap.LoadBitmap(MAKEINTRESOURCE(IDB_BITMAP1))//Load Bitmap

m_Bitmap.GetBitmap(&bmBitmap) //Get Bitmap Info

}

CSplashWnd::~CSplashWnd()

{

}

BEGIN_MESSAGE_MAP(CSplashWnd, CWnd)

ON_WM_PAINT()

END_MESSAGE_MAP()

// CSplashWnd 消息处理程序

void CSplashWnd::CreateSplash()

{

//Create Splash Window

CWnd::CreateEx(0,

AfxRegisterWndClass(

0,

AfxGetApp()->LoadStandardCursor(IDC_UPARROW)),

NULL,

//"SplashWindow Sample",

WS_POPUP,

0,

0,

bmBitmap.bmWidth, //Bitmap Width = Splash Window Width

bmBitmap.bmHeight, //Bitmap Height = Splash Window Height

NULL,

NULL,

NULL)

}

void CSplashWnd::OnPaint()

{

CPaintDC dc(this)

CBrush brush

brush.CreateSolidBrush(RGB(64,64,255))

dc.SelectObject(&brush)

dc.Rectangle(0,0,bmBitmap.bmWidth,bmBitmap.bmHeight)

mMemDC.CreateCompatibleDC(NULL)//Create Memory DC

Old_Bitmap = mMemDC.SelectObject(&m_Bitmap)//Select DC

int num = bmBitmap.bmWidth/40

dc.StretchBlt(0,0,bmBitmap.bmWidth,bmBitmap.bmHeight,&mMemDC,0,0,bmBitmap.bmWidth,bmBitmap.bmHeight,SRCCOPY)

mMemDC.SelectObject(Old_Bitmap)//Select Bitmap

}

//IDB_BITMAP1是添加的位图资源。

然后在MainFrm.cpp中OnCreate函数开始处

m_pSplashWindow = new CSplashWnd()

// CRect rect(10,10,500,500)

// m_pSplashWindow->Create(NULL,NULL,0,rect,NULL,0)

m_pSplashWindow->CreateSplash()

m_pSplashWindow->CenterWindow()

m_pSplashWindow->ShowWindow(SW_SHOW)

m_pSplashWindow->UpdateWindow()

// Sleep(2000)

m_pSplashWindow->DestroyWindow()

//m_pSplashWindow 要在头文件中声明,并要在析构函数中delete。不过这破程序没必要,不知道自己当时为什么要这样写,动态内存使用麻烦容易出错,直接在这个函数中构造对象就可以了,不用什么动态申请,也就不用在头文件中声明什么指针了。自己懒得改,你觉得有必要就改下吧

VS2005中添加不了编辑框控件怎么回事?答案是:可能是由于版本兼容问题导致的。建议您将VS2005升级到最新的版本,或者尝试使用其它版本的Visual Studio来开发您的应用程序,以便获得更多的功能与支持。

看了一下,似乎syncfusion没有提供自动注册工具箱的功能,那只能手动添加了:

1 在工具箱中单击右键,添加选项卡,或者使用已有的选项卡

2 在要添加到的选项卡中单击右键,选择“选择项……”,此时VS扫描系统中的.net组件和com组件,可能需要等待较长时间

3 等待VSd出“选择工具箱项”对话框,在.net framework组件选项卡中查找syncfusion的库,结合利用筛选器,选中需要的组件,点击确定


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

原文地址: http://outofmemory.cn/bake/11883983.html

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

发表评论

登录后才能评论

评论列表(0条)

保存