MFC设置对话框透明背景 在对话框初始化函数OnInitDialog函数中添加如下代码: SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(GetSafeHwnd(),GWL_EXSTYLE)|WS_EX_LAYERED); SetLayeredWindowAttributes(0,200,LWA_ALPHA); 200为透明度,0为全透明,255为不透明 不能同时设置Transparent属性,不然窗口会变为不能选...
在MFC基本对话框中,实现控件透明到背景图片的效果可以通过重载WM_CTLCOLOR消息来完成。具体实现方法如下:首先需要识别出具体的控件,可以通过调用GetDlgCtrlID()函数获取控件ID进行判断。例如,如果需要使控件ID为123的控件透明,可以这样写:if(pWnd->GetDlgCtrlID()==123) { 接下来设置设备上下文的背景模...
一般情况下,这几种控件就是透明的。 但是在windows xp使用xp风格主题下,checkbox会变成黑色背景。如果NULL_BRUSH换成GRAY_BRUSH,checkbox会变成灰色背景。 所以这里可以定义一个和背景色相同的画刷,来替换NULL_BRUSH。 或者将checkbox的chaption设为空,后面放一个static文本框来写checkbox的chaption。
MFC如何给对话框贴图并把对话框上面控件背景设置成透明
对话框设置背景色之后控件不透明的问题。 1.对话框设置背景色: 方法1:(用OnPaint()) 在Dlg.h中:声明afx_msg void OnPaint(); HICON m_hIcon; 在Dlg中:在BEGIN_MESSAGE_MAP下:ON_WM_PAINT() 然后:void CHeaderDlg::OnPaint() { if (IsIconic()) ...
利用layered window 注意OnInitDialog和OnPaint里添加的代码。我把透明色设置为RGB(1, 1, 1)了,图片里原有的RGB(1, 1, 1) 我给调成 RGB(0, 0, 0) 了。
int nXOriginSrc,int nYOriginSrc,//原图的起点 int nWidthSrc,int nHeightSrc,//长宽 UINT crTransparent //透明色 ){ BOOL result = TRUE;HBITMAP hImageBMP = CreateCompatibleBitmap(hdcDest, nWidthDest, nHeightDest);// 创建兼容位图 if(!hImageBMP) return FALSE;HBITMAP hMaskBMP ...
OnEraseBkgnd别动建立个CBrush m_br;m_br.CreateSolidBrush(//你的对话框背景色);你在OnCtlColor里面加一句if(CTLCOLOR_BTN == nCtlColor){ pDC->SetBkMode(TRANSPARENT);return m_br;}return hbr;
或则GIF格式 在MFC中输出这样的图片首先你要有背景透明的图片才行。然后至于你是用CImage还是什么方法输出这个方面我也不清楚 说实话MFC输出图片比较麻烦= =至于图片你可以用photoshop作新建文件的时候设置成透明背景 保存的时候注意格式。。。网上是这么写的。我也没试过。你可以尝试下 ...