Vs2008 设置edit背景为透明,为何运行出来为黑色
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vs2008 设置edit背景为透明,为何运行出来为黑色相关的知识,希望对你有一定的参考价值。
。。。。。
if (nCtlColor == CTLCOLOR_EDIT)
pDC->SetBkMode(TRANSPARENT);
return (HBRUSH)GetStockObject(HOLLOW_BRUSH);
。。。。。
运行出来edit背景为黑色,为何。
如果可以透露下这边的运行机制,不甚感激
在线等
问题已解决,但是新问题出现了
原问题是因为建立MFC工程时 带字符集Unicode的行不通,不带就可以
新问题: 这是为什么。其中的机制是怎样的
简单的说,就是VC6中的Optional property name在2008中被删除了,必须在DoDataExchange中用DDP_Text手动关联控件变量
void CL18aClockPropPage::DoDataExchange(CDataExchange* pDX)
DDP_Text(pDX, IDC_EDIT_INTERVAL, m_updateInterval, _T("Interval"));
DDX_Text(pDX, IDC_EDIT_INTERVAL, m_updateInterval);
DDP_PostProcessing(pDX);
注意,DDP_Text(xxxxxxxx)语句一定要放在DDP_PostProcessing(pDX);之前。
透明背景在 WPF 中变黑
【中文标题】透明背景在 WPF 中变黑【英文标题】:Transparent background goes black in WPF 【发布时间】:2011-12-27 01:18:09 【问题描述】:我尝试创建一个带圆角的窗口。我将窗口背景设置为透明,并将边框背景设置为白色。但是在边框和窗口之间的区域,我得到黑色背景而不是透明。
我在 Window 7 上使用 C# WPF、VS2010 进行开发。下面是我的 XAML 和屏幕截图。
XAML:
<Window WindowStyle="None" Background="Transparent">
<Border BorderBrush="Black" BorderThickness="1" CornerRadius="25" Background="White">
<Grid>
... some content ...
</Grid>
</Border>
</Window>
截图:
【问题讨论】:
【参考方案1】:您还需要在Window
标签上设置AllowsTransparency="True"
以使用透明窗口背景
<Window WindowStyle="None"
Background="Transparent"
AllowsTransparency="True">
</Window>
【讨论】:
@KMC 该属性是使 WPF 打开透明度并查看应用程序背后的任何内容所必需的。我知道它可以在 XP 和 Windows 7 上运行。我没有在 Vista 上测试过,但我会假设相同。以上是关于Vs2008 设置edit背景为透明,为何运行出来为黑色的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 2008 C#控件textbox背景如何设置为透明?
如何改变VS2008命令窗口的背景颜色,就是我运行程序后弹出结果的那个?