Vs2008 设置edit背景为透明,为何运行出来为黑色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vs2008 设置edit背景为透明,为何运行出来为黑色相关的知识,希望对你有一定的参考价值。

。。。。。
if (nCtlColor == CTLCOLOR_EDIT)

pDC->SetBkMode(TRANSPARENT);
return (HBRUSH)GetStockObject(HOLLOW_BRUSH);

。。。。。

运行出来edit背景为黑色,为何。

如果可以透露下这边的运行机制,不甚感激

在线等
问题已解决,但是新问题出现了
原问题是因为建立MFC工程时 带字符集Unicode的行不通,不带就可以

新问题: 这是为什么。其中的机制是怎样的

参考技术A 可参考下面两个链接:

简单的说,就是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命令窗口的背景颜色,就是我运行程序后弹出结果的那个?

WinForm窗体,在VS2010上背景颜色不能设置透明,我把背景颜色和TransparencyK

Visual Studio 2017 设置透明背景图

VC 透明滑动控件Slider Control

drawable转换为bitmap后透明背景图变黑???