用VC编写Win32 Application,如何设置始终在最前面,以及设置窗口的透明度(Win2000新特性)

qrwulysses 2002-03-05 08:28:01
用VC编写Win32 Application,
1,如何设置窗口始终在最前面,
2,如何设置窗口的透明度(Win2000新特性),这应该是Win2000带的一个API,那位高手可以告知?
...全文
356 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qrwulysses 2002-03-06
  • 打赏
  • 举报
回复
SetLayeredWindowAttributes函数在最新的msdn中可以找到,
可是在user32.lib,windows.h,winuser.h中没有定义,我的环境是
visual studio 6.0 + sp5,因该是最高的,怎么办?
0313700000 2002-03-06
  • 打赏
  • 举报
回复
kk新函数
AloneWolf 2002-03-06
  • 打赏
  • 举报
回复
在CMainFrame中
SetWindowPos(&CMainFrame::wndTopMost,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE);
chasedreamer 2002-03-05
  • 打赏
  • 举报
回复
请问SetLayeredWindowAttributes 是Win2000新提供的吗?我在msdn中未查到。
Frank0233 2002-03-05
  • 打赏
  • 举报
回复
使用SetLayeredWindowAttributes API函数可以设置窗口的风格,该函数介绍如下:

函数功能:设置窗口透明颜色
格式:BOOL SetLayeredWindowAttributes(
HWND hwnd, //窗口手柄
COLORREF crKey, //指定颜色值
BYTE bAlpha, //混合函数值
DWORD dwFlags //动作
);

  参数解释

hwnd

  窗口手柄。当使用CreateWindowEx函数创建窗口时,窗口由WS_EX_LAYERED指定的值创建;或者窗口已经创建后,由SetWindowLong根据 WS_EX_LAYERED指定的值改变。

  crKey

  指向一个COLORREF值,该值指定一个透明颜色值,当创建窗口时,窗口将使用该值。窗口绘制的所有颜色将为透明。要想产生COLORREF值,请使用RGB宏。

  bAlpha

  混合函数值。该值用于描述窗口的不透明度。当bAlpha 值为0时,窗口完全透明,当bAlpha值为255时,窗口完全不透明。

  dwFlags

  指定动作。这个参数可以取一个或多个值:
LWA_COLORKEY 用crKey 作为透明色
LWA_ALPHA 用bAlpha决定窗口的透明度
weixiao 2002-03-05
  • 打赏
  • 举报
回复
要设置窗口在最前方,用下面的API函数:
BOOL SetWindowPos(
HWND hWnd,
HWND hWndInsertAfter,
int X,
int Y,
int cx,
int cy,
UINT uFlags );
看一下MSDN,主要在第二个参数里设置:)

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧