DFB系列 之 SetCooperativeLevel协作级别
1. 函数原型解析
函数声明
function SetCooperativeLevel(hWnd: HWND; dwFlags: DWORD): HResult; stdcall;
设置指定的IDirectFB对象与其它IDirectFB对象的协作级别
参数介绍
hWnd: DirectDraw具体指向的窗体,在所有的情况下,只需使用主窗体句柄。
dwFlags:控制标志参数,直接影响DirectDraw和Windows协同工作的方式。下面为说明:
DFSCL_ALLOWMODEX:允许使用Mode X显示模式。只有当DFSCL_EXCLUSIVE 和DFSCL_FULLSCREEN标志存在的时候才能使用
。
DFSCL_ALLOWREBOOT:当处于独占(全屏)模式时,允许Ctrl+Alt+Del被检测到。
DFSCL_EXCLUSIVE:请求独占级别,该标志必须和DFSCL_FULLSCREEN 一起使用。
DFSCL_FULLSCREEN:表示需要全屏模式。其他程序中的GDI将不允许在屏幕上画图。这个标志必须和DDSCL_EXCLUSIVE一起使用。
DFSCL_NORMAL:表示应用程序将是一个标准的Windows应用程序。该标志不能和DFSCL_ALLOWMODEX,DDSCL_EXCLUSIVE,DDSCL_FULLSCREEN 一起使用。
DFSCL_NOWINDOWCHANGES:表示在激活状态下,不允许DirectDraw最小化或恢复窗体。
返回值
如果执行成功,返回DD_OK,否则返回错误代码。
2. 实例
static void* sample_func(IDirectFB *dfb)
{
...
//dfb->SetCooperativeLevel(dfb, DFSCL_FULLSCREEN);
dfb->SetCooperativeLevel(dfb, DFSCL_NORMAL);
...3. 注意事项
SetCooperativeLevel()设置指定的IDirectFB对象与其它IDirectFB对象的协作级别。
DFSCL_FULLSCREEN和DFSCL_EXCLUSIVE的处理方式是一样的,与DFSCL_NORMAL的差别是它们有自己独立的Context,也就是说设置为DFSCL_FULLSCREEN的DirectFB对象自成一个体系,不会与其它DirectFB对象干扰。在多进程情况下,一般是设置为DFSCL_NORMAL的,它保证所有窗口由同一个窗口器管理。
(题外话,这个函数里调用了drop_window函数,drop_window的实现是有点问题的,它始终调用dfb_windowstack_cursor_enable去打开光标,这是不对的,应该根据据情况而定,在IDirectFB_Destruct里调用时就不应该打开光标,因为这可能会造成程序不正常退出。)
DFB系列 之 SetCooperativeLevel协作级别的更多相关文章
- SharePoint自动化系列——Site/Web/List级别的导航菜单
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 需求:在不同的测试用例中,对脚本中不确定的因素需要和用户交互来确定,比如选择哪个site,选择哪个 ...
- DFB系列 之 Clear清空surface缓存
1. 函数原型解析 函数声明: DFBResult Clear ( IDirectFBSurface * thiz, u8 r, u8 g, ...
- DFB系列 之 Flip()更新buffe
1. 函数原型解析 函数声明: DFBResult Flip ( IDirectFBSurface * thiz, const DFBRegion * region, ...
- DFB系列 之 Bilp叠加
1. 函数原型解析 函数声明: DFBResult Blit ( IDirectFBSurface * thiz, IDirectFBSurface * source ...
- MySQL 不同隔离级别,都使用了什么锁?
大家好,我是树哥. 在上篇文章,我们聊了「MySQL 啥时候会用表锁,啥时候用行锁」这个问题.在文章中,我们还留了一个问题,即:如果查询或更新时的数据特别多,是否从行锁会升级为表锁?此外,还有朋友留言 ...
- 最简单的视音频播放演示样例8:DirectSound播放PCM
===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...
- WIN32下使用DirectSound接口的简单音频播放器(支持wav和mp3)
刚好最近接触了一些DirectSound,就写了一个小程序练练手,可以用来添加播放基本的wav和mp3音频文件的播放器.界面只是简单的GDI,dxsdk只使用了DirectSound8相关的接口. D ...
- DirectSound播放PCM(可播放实时采集的音频数据)
前言 该篇整理的原始来源为http://blog.csdn.net/leixiaohua1020/article/details/40540147.非常感谢该博主的无私奉献,写了不少关于不同多媒体库的 ...
- 最简单的视音频播放示例8:DirectSound播放PCM
本文记录DirectSound播放音频的技术.DirectSound是Windows下最常见的音频播放技术.目前大部分的音频播放应用都是通过DirectSound来播放的.本文记录一个使用Direct ...
随机推荐
- mysql命令[转]
来自:http://www.cnblogs.com/zhangzhu/archive/2013/07/04/3172486.html 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录my ...
- Apache Flume日志收集系统简介
Apache Flume是一个分布式.可靠.可用的系统,用于从大量不同的源有效地收集.聚合.移动大量日志数据进行集中式数据存储. Flume简介 Flume的核心是Agent,Agent中包含Sour ...
- css兼容问题 ie6,7
H5标签兼容 元素浮动之后能设置宽度的话就给元素加宽度,如果需要元素宽度是内容撑开,就给他里面的块元素加上浮动 第一块加浮动,第二块加margin等于第一块元素在IE6下会有间隙问题 IE6下子元素超 ...
- nginx反向代理与负载均衡
一:nginx反向代理与负载均衡配置思路与用法 1.nginx反向代理:就是你去相亲时,媒婆就是这里的代理,让媒婆带你去见姑娘 2.nginx负载均衡:就是有很多的媒婆经过商量给你选出最适合你的姑娘, ...
- c++学习笔记之封装篇(上)
title: c++学习笔记之封装篇(上) date: 2017-03-12 18:59:01 tags: [c++,c,封装,类] categories: [学习,程序员,c/c++] --- 一. ...
- pyqt样式表语法笔记(下)--原创
pyqt样式表语法笔记(下) python 启动界面 QSS pyqt 一.启动界面的设置 简单点~说话的方式简单点用一张静态图片作为程序启动界面为例. 原来的语句 python 7行 ...
- MCMC(四)Gibbs采样
MCMC(一)蒙特卡罗方法 MCMC(二)马尔科夫链 MCMC(三)MCMC采样和M-H采样 MCMC(四)Gibbs采样 在MCMC(三)MCMC采样和M-H采样中,我们讲到了M-H采样已经可以很好 ...
- js求三位数的和
例如输入508就输出5+0+8的和13: <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- python+robot framework接口自动化测试
python+requests实现接口的请求前篇已经介绍,还有不懂或者疑问的可以访问 python+request接口自动化框架 目前我们需要考虑的是如何实现关键字驱动实现接口自动化输出,通过关键字的 ...
- [SinGuLaRiTy] 最短路计算代码库
[SinGuLaRiTy-1002] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. Dijkstra: 题目描述 有向图的单源点最短路问题( ...