VC控件大小和字体设置

首先看看这个效果图



然后,看看具体实现方法

头文件

private:
	void SetComboInitData();
	void SetWidgetSizeAndPos();
	void SetWindowSizeAndPos();

	CFont m_Font;

源文件

void CComboUIDlg::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	//绘制背景
	CBitmap bitmap;
	bitmap.LoadBitmap(MAKEINTRESOURCE(IDB_BITMAP1));
	BITMAP bmpInfo;
	bitmap.GetBitmap(&bmpInfo);
	CDC bitmapDC;
	bitmapDC.CreateCompatibleDC(&dc);
	CBitmap* pOldBitmap = bitmapDC.SelectObject(&bitmap);
	dc.BitBlt(0, 0, bmpInfo.bmWidth, bmpInfo.bmHeight, &bitmapDC,0, 0, SRCCOPY);
	bitmapDC.SelectObject(pOldBitmap);
	bitmap.DeleteObject();
}

void CComboUIDlg::SetWindowSizeAndPos()
{
	//对话框背景图片宽和高
	const int nBkBmpWidth = 655;
	const int nBkBmpHeight = 462;
	int xPos = 0;
	int yPos = 0;
	
	//获得电脑显示器的像素宽度和像素高度
	int ax = GetDC()->GetDeviceCaps(HORZRES) - nBkBmpWidth;
	int ay = GetDC()->GetDeviceCaps(VERTRES) - nBkBmpHeight;
	
	int nWidth = 0;
	int nHeight = 0;
	if(ax <= 0)
	{	ax = 0;	}
	else
	{	ax = ax/2;	}
	if(ay <= 0)
	{	ay = 0;	}
	else
	{	ay = ay/2;	}
	
	RECT clientRect;
	clientRect.left = ax;
	clientRect.top = ay;
	clientRect.right = clientRect.left + nBkBmpWidth;
	clientRect.bottom = clientRect.top + nBkBmpHeight;
	MoveWindow(&clientRect);
}

void CComboUIDlg::SetWidgetSizeAndPos()
{
	RECT clientRect;
	int nBtnHeightSpace = 90;
	clientRect.left = 182;
	clientRect.top = 116 + nBtnHeightSpace*0;
	clientRect.right = clientRect.left + 442;
	clientRect.bottom = clientRect.top + 56;
	m_editDlg.MoveWindow(&clientRect);
	
	clientRect.left = 182;
	clientRect.top = 116 + nBtnHeightSpace*1;
	clientRect.right = clientRect.left + 442;
	clientRect.bottom = clientRect.top + 240;
	m_cbDlg.MoveWindow(&clientRect);

	//设置字体大小
	m_Font.CreateFont(50,0,0,0,FW_NORMAL,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,"宋体");
	m_editDlg.SetFont(&m_Font);
	m_cbDlg.SetFont(&m_Font);
	
}

void CComboUIDlg::SetComboInitData()
{
	m_cbDlg.AddString("combo1");
	m_cbDlg.AddString("combo2");
	m_cbDlg.AddString("combo3");
	m_cbDlg.SetCurSel(0);
}


源码下载


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值