精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

API技巧集(二)

OBEason ? 來源: jf_88563726 ? 作者: jf_88563726 ? 2023-05-22 16:49 ? 次閱讀

(一)不規則窗口

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();

}

審核編輯黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • API
    API
    +關注

    關注

    2

    文章

    1487

    瀏覽量

    61831
  • 函數
    +關注

    關注

    3

    文章

    4308

    瀏覽量

    62445
收藏 人收藏

    評論

    相關推薦

    api技巧(四)

    鏈接則會彈出瀏覽器窗口打開指定的URL或是運行默認的E-Mail程序撰寫新郵件,就和真的超鏈接一樣。你是不是也想在你的程序里做一個呢?其實,我們只要調用API函數ShellExecute和在鼠標移動時改變一下文字的顏色,就可以在自己的程序中出現這種效果
    的頭像 發表于 05-23 11:11 ?527次閱讀

    鴻蒙元服務API全新呈現-開發更清晰高效

    鴻蒙元服務API全新呈現,開發更清晰高效,具體見如下截圖,深黑色部分即本階段公布支持的元服務API。 本材料整理來源于HarmonyOS NEXT Developer Beta1官
    發表于 07-11 10:23

    基于onepanel使用kaggle api提交結果和下載數據的步驟

    在onepanel上使用kaggle api提交結果和下載數據
    發表于 04-22 11:00

    高階API構建模型和數據使用

    了TensorFlow2.0Beta版本,同pytorch一樣支持動態執行(TensorFlow2.0默認eager模式,無需啟動會話執行計算圖),同時刪除了雜亂低階API,使用高階API簡單地構建復雜神經網絡模型,本文主要分享用高階A
    發表于 11-04 07:49

    HarmonyOS/OpenHarmony應用開發-HUAWEI DevEco Studio 3.1API9成SDK

    /module.json5”中添加網絡權限。*附件:HarmonyOSOpenHarmony應用開發-HUAWEI DevEco Studio 3.1API9成SDK.docx
    發表于 03-27 10:06

    vc++ api函數 (Windows API大全)

    Windows API大全,本書主要介紹VC++里API函數及其用法-WindowsAPI Daquan, the book introduces VC Lane API function
    發表于 10-14 11:45 ?32次下載

    JDBCTM 2.0 API

    The JDBCTM API is the JavaTM standard call-level API for database access. This documentcontains the final specification of the JDBC 2.0
    發表于 10-14 17:42 ?6次下載

    PC鍵盤第套掃描碼

    PC鍵盤第套掃描碼
    發表于 09-22 11:08 ?5次下載
    PC鍵盤第<b class='flag-5'>二</b>套掃描碼<b class='flag-5'>集</b>

    什么是API,不同場景中的API

    當公司構建他們的應用時,他們把它們設計成一組交互的API。最容易理解的例子是Lyft(或者Uber)。你可能想在Lyft應用中做一些事情,它們在幕后都會觸發不同的API。
    的頭像 發表于 08-10 11:20 ?2130次閱讀

    API+DevOps:華為云API Arts一體化平臺,端到端呵護您的API

    API+ | 以API-First理論為基礎,以API為核心構建數字化生態 摘要:華為云API Arts是API全生命周期一體化協作平臺,支
    的頭像 發表于 02-17 19:05 ?1089次閱讀

    API+DevOps:華為云API Arts一體化平臺,端到端呵護您的API

    華為云API Arts是API全生命周期一體化協作平臺,支持開發者一站式高效實現API設計、API開發、API測試、
    的頭像 發表于 03-01 15:45 ?780次閱讀
    <b class='flag-5'>API</b>+DevOps:華為云<b class='flag-5'>API</b> Arts一體化平臺,端到端呵護您的<b class='flag-5'>API</b>

    API Arts 全探秘 | 華為云新一代設計管理平臺,功能強大!

    API設計不一致?API沒地方歸檔?云服務開發項目合作低效?...... ? 華為云為廣大開發者帶來最新API設計管理平臺:API Arts。它
    的頭像 發表于 03-10 18:40 ?471次閱讀

    API技巧(三)

    (一)閃爍程序的標題欄 在某些專業的應用程序中,當程序需要提醒用戶或要引起用戶的注意時,就不停地閃爍程序的標題欄。要實現這個功能,只需要一個Timer組件和使用一個API函數
    的頭像 發表于 05-23 11:10 ?429次閱讀

    api接口怎么使用

    的一組例程,而又無需訪問源碼,或理解內部工作機制的細節。 、為什么要懂API文檔 既然API如此復雜,又不屬于PM的工作范疇,我們為何需要大費周章的理解它呢,我們的目的是什么。 1. 明確需要的接口服務
    的頭像 發表于 05-24 14:44 ?1399次閱讀

    API?Arts?全探秘?|?華為云新一代設計管理平臺,功能強大!

    API 設計不一致?API 沒地方歸檔?云服務開發項目合作低效?......?? 華為云為廣大開發者帶來最新 API 設計管理平臺:API?Arts。它
    的頭像 發表于 09-03 00:36 ?364次閱讀
    <b class='flag-5'>API</b>?Arts?全探秘?|?華為云新一代設計管理平臺,功能強大!