MFC--修改图标/开机动画/Combo控件

一、修改图标

1.首先将需要的.ico文件放到工程文件夹下的res文件夹中;

2.在资源视图中:Icon--右键--添加资源--ICON--导入--图标文件(.ico)--选择你刚添加的文件

3.在构造函数中修改:m_hIon=AfxGetApp()->LoadIcon(IDI_ICON2添加文件的ID);

        ICO图标制作:http://www.bitbug.net/

二、开机动画

1.制作Bitmap资源中的.bmp类型文件

利用Windows自带的画图工具,将你制作的图片另存为“24位位图.bmp”;

2.MFC添加资源

首先,将.bmp文件放到res文件夹中(例:Test/Test/res);

然后,资源视图--右键--添加资源--Bitmap类型--导入--res中的bmp文件

3.创建一个基于“CWnd”的类:CSplashWnd

4.在SplashWnd.h中

protected:

CBitmap m_bitmap;

public:

virtual BOOL Create();

   在SplashWnd.cpp中:

BOOL CSplashWnd::Create()
{
	if(!m_bitmap.LoadBitmapA(IDB_BITMAP1))
		return FALSE;
	BITMAP bm;
	m_bitmap.GetBitmap(&bm);
	return CreateEx(0,AfxRegisterWndClass(0,AfxGetApp()->LoadStandardCursor(IDC_ARROW)),
		NULL,WS_POPUP |WS_VISIBLE,0,0,bm.bmWidth,bm.bmHeight,NULL,NULL);

}
5.添加WM_PAINT消息:

void CSplashWnd::OnPaint()
{
	CPaintDC dc(this); // device context for painting
	CDC dcimage;
	if(!dcimage.CreateCompatibleDC(&dc)) return;
	BITMAP bm;
	m_bitmap.GetBitmap(&bm);
	CBitmap *pOldBitmap=dcimage.SelectObject(&m_bitmap);
	dc.BitBlt(0,0,bm.bmWidth,bm.bmHeight,&dcimage,0,0,SRCCOPY);
	dcimage.SelectObject(pOldBitmap);
}

6.在 使用的.cpp文件中,加入 #include“SplashWnd.h”

在初始化程序OnInitDialog()中:

///开机画面
	CSplashWnd *pSplashWindow=new CSplashWnd;
	pSplashWindow->Create();
	pSplashWindow->CenterWindow();
	pSplashWindow->ShowWindow(SW_SHOW);
	pSplashWindow->UpdateWindow();
	Sleep(3000);
	pSplashWindow->DestroyWindow();
	delete pSplashWindow;

三、Combo-box控件

1.Combo-box控件在使用时,右侧显示“上下按钮”挑选选项,不能将所有选项都显示出来?

答:鼠标指向控件,点击控件右侧向下的小箭头,出现尺寸调节的箭头时,将控件上下的尺寸拉大,运行后就会将所有选项显示出来了。

2.Combobox控件设置为仅能选择不能输入的形式:属性--type--Drop list。(Dropdown类型为既能选择又能输入)

3.常用成员函数:

.InsertString():插入Combo控件子项的内容

.SetCurSel():设置当前选择的子项

例:初始化时:

m_ComboMacBaud.InsertString(0,"4800");m_ComboMacBaud.InsertString(1,"9600");//从0下标开始初始化

m_ComboMacBaud.SetCulSel(1);

.GetCurSel()获取用户选择对应项的下标(从0开始)

.GetLBText(下标):获取对应下标项代表的内容

例:

获取当前Combo控件显示的内容:

CString str_baud;

方法1:

int m_MacBaud=m_ComboMacBaud.GetCurSel();

int len_Baud=m_ComboMacBaud.GetLBTextLen(m_MacBaud);

m_ComboMacBaud.GetLBText(m_MacBaud,str_baud.GetBuffer(len_Baud));

str_baud.ReleaseBuffer();

方法2:

m_ComboMacBaud.GetWindowTextA(str_baud)





  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值