• 首页
  • 粮食
  • 蔬菜
  • 果品
  • 水产
  • 酒水
  • 饮料
  • 茶叶
  • 畜禽
  • 食用油
  • 资讯
logo
  • 首页>
  • 果品 >
  • 正文

API技巧集(二)|今日播报

2023-05-22 17:31:28 来源:jf_88563726

(一)不规则窗口

Windows提供的只是标准的矩形窗口,要想建立一个不规则的窗口就需要调用API函数来实现。建立一个不规则的窗口,一般是先用创建区域的API函数建立一个不规则的区域,再用API函数SetWindowRgn改变窗口的区域。这些API函数在C++Builder中包含在头文件wingdi.h和winuser.h里面,因此,要使用这些API函数就要先在程序头部加上包含头文件的语句:

include $#@60;wingdi.h$#@62;


(相关资料图)

include $#@60;winuser.h$#@62;

SetWindowRgn函数能改变一个窗口的区域,该函数有三个参数,第一个参数hWnd是欲设置区域的窗口句柄,第二个参数hRgn是欲设置的区域,第三个参数bRedraw一般设为true,即立即重画窗口。

用来创建区域的API函数有多个,最常用的有三个:

1、CreateRectRgn函数,用来创建一个由X1、Y1和X2、Y2坐标点确定的矩形区域。当坐标点X1和Y1相等、X2和Y2也相等的时候,创建的是一个正方形。

例子:

//创建长方形

HRGN hRect=CreateRectRgn(0,0,400,200);

SetWindowRgn(Handle,hRect,true);

//创建正方形

HRGN hRect=CreateRectRgn(0,0,300,300);

SetWindowRgn(Handle,hRect,true);

2、CreateEllipticRgn函数,用来创建一个由X1、Y1和X2、Y2坐标点确定的矩形所内切的椭圆。同样,X1、Y1和X2、Y2坐标点所确定的矩形为正方形时,创建的就是一个圆形。

例子:

//创建椭圆

HRGN hElliptic=CreateEllipticRgn(0,0,400,250);

SetWindowRgn(Handle,hElliptic,true);

//创建圆形

HRGN hElliptic=CreateEllipticRgn(0,0,400,400);

SetWindowRgn(Handle,hElliptic,true);

3、CombineRgn函数,能将两个区域组合为一个新区域,它有四个参数,第一个参数hrgnDest保存合并后的新区域,第二个参数hrgnSrc1、三个参数hrgnSrc2为欲合并的两个区域,第四个参数fnCombineMode是区域组合的方式,它的值是为下面组合方式之一:

组合方式 说明

RGN_AND 建立两个区域的交集

RGN_COPY 建立hrgnSrc1的拷贝

RGN_DIFF 建立两个区域不相交的部分

RGN 建立两个区域的并集

RGN_XOR 建立除两个区域并集之外的部分

例子:

//创建一个圆形和长方形交集的组合形状

HRGN hRect=CreateRectRgn(0,0,300,300);

HRGN hElliptic=CreateEllipticRgn(0,0,400,250);

CombineRgn(hRect,hRect,hElliptic,RGN_OR);

SetWindowRgn(Handle,hRect,true);

当需要将窗口还原为标准Windows矩形窗口时,只要将SetWindowRgn函数的hRgn参数设为0就行了,如:

SetWindowRgn(Handle,0,true);

(二)得到系统声卡的个数

当我们编写一个多媒体程序(如播放器)的时候,有时需要检测一下计算机中是否安装了声卡,如果没有装声卡程序则会终止运行。

在这里,我们就要使用API函数waveOutGetNumDevs,调用这个函数可返回系统中安装了的声卡的个数。在C++ Builder 5.0中,它被包含在头文件“mmsystem.h”里面。

例子:

1、首先在程序头部加入包含头文件的代码:

#include $#@60;mmsystem.h$#@62;

2、在窗体的OnCreate事件中加入下面的代码:

int Num;

//得到声卡的个数

Num=waveOutGetNumDevs();

if(Num)

ShowMessage("你有安装了"+IntToStr(Num)+"块声卡");

else

{

ShowMessage("你没有安装声卡!n程序终止运行!");

Close();

}审核编辑黄宇

关键词:

    为您推荐

  • 商务部:上周食用农产品价格上涨4.3% 猪肉批发价涨9.7%

    资讯2021-10-27
  • 商务部:上周生产资料价格上涨5% 煤炭继续领涨

    资讯2021-10-27
  • 美术作品中的党史 | 第61集《1978年11月24日·小岗》

    资讯2021-10-27
  • 31省份累计报告接种新冠病毒疫苗224868.8万剂次

    资讯2021-10-27
  • 草原都市呼和浩特战疫记:民众做好防控,生活未受冲击

    资讯2021-10-27
  • 恭城:做大做强地理标志产品,“农旅融合”助推乡村振兴

    资讯2021-10-27
  • 安徽:5年来追回外逃人员183人

    资讯2021-10-27
  • 第十三届中国舞蹈“荷花奖”民族民间舞评奖活动开幕

    资讯2021-10-27
  • 甘肃兰州统一安排中小学线上教学 各学校“停课不停学”

    资讯2021-10-27
  • 内蒙古包头发生多车连撞事故 已致5死11伤

    资讯2021-10-27
  • 商务部:上周猪肉消费明显回升 零售价格止跌上扬

    资讯2021-10-27
  • 全方位提高供给质量 推动食品产业高质量发展

    资讯2021-10-27
  • 坚持“六大保障” 构建超大城市食品安全社会共治新格局

    资讯2021-10-27
  • 17部门联合发文 推进国家文化出口基地提质扩容增效

    资讯2021-10-27
  • 俄卡马河畔切尔尼市一住宅楼天然气爆炸 5人伤亡

    资讯2021-10-27
  • 国家中小企业发展基金与全国股转公司、北交所签署战略合作协议

    资讯2021-10-27
  • 网易云课堂引进亚马逊AWS近百门IT类课程 向社会免费开放

    资讯2021-10-27
  • 冰雪之约 中国之邀|北京冬奥会倒计时100天,我们准备好了!

    粮食2021-10-27
  • 第38届和第39届东盟峰会在文莱开幕

    粮食2021-10-27
  • 高德车道级导航正式发布 覆盖全国超120个城市高速和快速路

    粮食2021-10-27

果品

  • API技巧集(二)|今日播报
  • 应对高温天气 空调企业连续提高排产
  • 环球热消息:杨幂个人资料(杨幂个人资料简介图片)
  • 当前动态:A股:尾盘突然拉升,两大消息落地,市场将迎来拐点?
  • 海城市气象局发布雷电黄色预警【Ⅲ级/较重】【2023-05-22】_全球报资讯

蔬菜

  • 说好“一梯一户”却成了“两梯两户”,买方能否解除合同?
  • 更高水平开放合作助力中国东盟经贸发展迎新机遇
  • 9被告人犯侵犯著作权罪被判刑罚
  • 玉渊谭天丨中美再通话,“建设性”很重要
  • 环球时报社评:中美经贸需要建设性对话
  • 俄媒:莫斯科扩大新冠感染新疗法试点范围
  • 冰雪之约 中国之邀 | 追赶的勇气
  • 中国第20批赴黎维和建筑工兵分队完成“VA-2”道路排水系统修缮任务
  • 中国常驻联合国代表团举办恢复联合国合法席位50周年图片展
  • 美专家认为三大原因导致美国供应链危机

西方食品网 西方食品网 版权所有 联系邮箱:5 626 629 @qq.com 备案号:沪ICP备2020036824号-7

Copyright ? 1998-2015 by www.shipin.rexun.cn. all rights reserved