亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lib.h

?? 中文編程語言——易語言(可視化編程
?? H
?? 第 1 頁 / 共 3 頁
字號:
//////////////////////////////////// 接口:

// 創建單元,成功時返回HUNIT,失敗返回NULL。
typedef HUNIT (WINAPI *PFN_CREATE_UNIT) (
        LPBYTE pAllPropertyData,            //   指向本窗口單元的已有屬性數據,由本窗口單元的
                                            // ITF_GET_PROPERTY_DATA接口產生,如果沒有數據則為NULL。
        INT nAllPropertyDataSize,           //   提供pAllPropertyData所指向數據的尺寸,如果沒有則為0。
		DWORD dwStyle,                      //   預先設置的窗口風格。
        HWND hParentWnd,                    //   父窗口句柄。
        UINT uID,                           //   在父窗口中的ID。
        HMENU hMenu,                        //   未使用。
        INT x, INT y, INT cx, INT cy,       //   指定位置及尺寸。
		DWORD dwWinFormID, DWORD dwUnitID,  //   本窗口單元所在窗口及本身的ID,用作通知到系統。
		HWND hDesignWnd = 0,                //   如果blInDesignMode為真,則hDesignWnd提供所設計窗口的窗口句柄。
        BOOL blInDesignMode = FALSE);       //   說明是否被易語言IDE調用以進行可視化設計,運行時為假。

// 如果指定屬性目前可以被操作,返回真,否則返回假。
typedef BOOL (WINAPI *PFN_PROPERTY_UPDATE_UI) (
        HUNIT hUnit,            // 由PFN_CREATE_UNIT返回的已創建窗口單元的句柄,下同。
        INT nPropertyIndex);    // 所需要查詢屬性的索引值,下同。

// 用作設置類型為UD_CUSTOMIZE的單元屬性。
// 如果需要重新創建該單元才能修改單元外形,請返回真。
typedef BOOL (WINAPI *PFN_DLG_INIT_CUSTOMIZE_DATA) (
        HUNIT hUnit,
        INT nPropertyIndex,
		BOOL* pblModified = NULL,   //   如果pblModified不為NULL,請在其中返回是否
                                    // 被用戶真正修改(便于易語言IDE建立UNDO記錄)。
        LPVOID pReserved = NULL);   // 保留未用。

// 用作記錄某屬性的具體屬性值。
union UNIT_PROPERTY_VALUE
{
	INT			m_int;			// 對應的屬性類別:UD_INT、UD_PICK_INT,下同。
	DOUBLE		m_double;		// UD_DOUBLE
	BOOL		m_bool;			// UD_BOOL
	DATE		m_dtDateTime;	// UD_DATE_TIME
	COLORREF	m_clr;			// UD_COLOR、UD_COLOR_TRANS、UD_COLOR_BACK

	LPTSTR		m_szText;		//   UD_TEXT、UD_PICK_TEXT、UD_EDIT_PICK_TEXT、
			                    // UD_ODBC_CONNECT_STR、UD_ODBC_SELECT_STR

	LPTSTR		m_szFileName;	// UD_FILE_NAME

    // UD_PIC、UD_ICON、UD_CURSOR、UD_MUSIC、UD_FONT、UD_CUSTOMIZE、UD_IMAGE_LIST
	struct
	{
		LPBYTE  m_pData;
		INT     m_nDataSize;
	} m_data;

	UNIT_PROPERTY_VALUE ()
	{
		memset ((LPBYTE)this, 0, sizeof (UNIT_PROPERTY_VALUE));
	}
};
typedef UNIT_PROPERTY_VALUE* PUNIT_PROPERTY_VALUE;

//   通知某屬性(非UD_CUSTOMIZE類別屬性)數據被用戶修改,需要根據該修改相應更改
// 內部數據及外形,如果確實需要重新創建才能修改單元外形,請返回真。
//   注意:必須進行所傳入值的合法性校驗。
typedef BOOL (WINAPI *PFN_NOTIFY_PROPERTY_CHANGED) (
        HUNIT hUnit,
        INT nPropertyIndex,
		PUNIT_PROPERTY_VALUE pPropertyValue,    // 用作修改的相應屬性數據。
        LPTSTR* ppszTipText = NULL);    // 目前尚未使用。

// 取某屬性數據到pPropertyValue中,成功返回真,否則返回假。
/*  注意:如果在設計時(由調用PFN_CREATE_UNIT時的blInDesignMode參數決定),
pPropertyValue必須返回所存儲的值。如果在運行時(blInDesignMode為假),必須
返回實際的當前實時值。
    比如說,編輯框窗口單元的“內容”屬性,設計時必須返回內部所保存的值,而
運行時就必須調用 GetWindowText 去實時獲取。 */
typedef BOOL (WINAPI *PFN_GET_PROPERTY_DATA) (
        HUNIT hUnit,
        INT nPropertyIndex,
		PUNIT_PROPERTY_VALUE pPropertyValue);   // 用作接收欲讀取屬性的數據。

//   返回本窗口單元的全部屬性數據,由該窗口單元的實現代碼自行設計格式將
// 所有屬性數據組合到一起。此窗口單元的PFN_CREATE_UNIT接口必須能夠正確解
// 讀此數據。
typedef HGLOBAL (WINAPI *PFN_GET_ALL_PROPERTY_DATA) (HUNIT hUnit);

// 詢問單元是否需要指定的按鍵信息,如果需要,返回真,否則返回假。
typedef BOOL (WINAPI *PFN_IS_NEED_THIS_KEY) (
        HUNIT hUnit,
        WORD wKey);

////////////////////////////////////

#define	UNIT_BMP_SIZE			24		// 單元標志位圖的寬度和高度。
#define	UNIT_BMP_BACK_COLOR		(RGB (192, 192, 192))	// 單元標志位圖的背景顏色。

struct LIB_DATA_TYPE_INFO  // 庫定義數據類型結構
{
	LPTSTR m_szName;    // 名稱
	LPTSTR m_szEGName;  // 英文名稱,可為空或NULL。
	LPTSTR m_szExplain; // 詳細解釋,如無則可為NULL。

	INT m_nCmdCount;        // 本數據類型成員方法的數目(可為0)。
	LPINT m_pnCmdsIndex;	// 順序記錄本類型中所有成員方法命令在支持庫命令表中的索引值,可為NULL。

    //   本類型是否為隱含類型(即不能由用戶直接用作定義的類型,如被廢棄
    // 但為了保持兼容性又要存在的類型)。
	#define		LDT_IS_HIDED				(1 << 0)
    // 本類型在本庫中不能使用,具有此標志一定隱含。
    // 即使具有此標志,本類型的類型數據也必須完整定義。
	#define		LDT_IS_ERROR				(1 << 1)
    // 是否為窗口單元,如此標志置位則m_nElementCount必為0,
	#define		LDT_WIN_UNIT				(1 << 6)
    // 是否為容器型窗口單元,如有此標志,LDT_WIN_UNIT必須置位。
	#define		LDT_IS_CONTAINER			(1 << 7)
    // 是否為僅用作提供功能的窗口單元(如時鐘),如此標志置位則LDT_WIN_UNIT必置位。
    // 具有此標志的單元在運行時無可視外形。
	#define		LDT_IS_FUNCTION_PROVIDER	(1 << 15)
    // 僅用作窗口單元,如此標志置位則表示此單元不能接收輸入焦點,不能TAB鍵停留。
	#define		LDT_CANNOT_GET_FOCUS		(1 << 16)
    // 僅用作窗口單元,如此標志置位則表示此單元可以接收輸入焦點,但默認不停留TAB鍵,
    // 本標志與上標志互斥。
	#define		LDT_DEFAULT_NO_TABSTOP		(1 << 17)
    // 是否為需要自調整位置或尺寸的條狀窗口單元(如工具條、狀態條等),對于具有此標志的單元,
    // 所在窗口尺寸改變后易語言運行時環境會自動發送給WU_SIZE_CHANGED消息。
    // 注意:條狀窗口單元如果需要自動頂部對齊必須具有 CCS_TOP 窗口風格,如果需要自動底部
    // 對齊必須具有 CCS_BOTTOM 窗口風格。
	#define		LDT_BAR_SHAPE				(1 << 20)
	DWORD   m_dwState;

    ////////////////////////////////////////////
    // 以下成員只有在為窗口單元、菜單時才有效。

	DWORD m_dwUnitBmpID;		// 指定在支持庫中的單元圖像資源ID(注意不同于上面的圖像索引),0為無。
                                // 尺寸必須為 24 X 24 ,背景顏色為 RGB (192, 192, 192) 。

	INT m_nEventCount;  // 本單元的事件數目。
	PEVENT_INFO m_pEventBegin;	// 定義本單元的所有事件。

	INT m_nPropertyCount;
	PUNIT_PROPERTY m_pPropertyBegin;

    // 用作提供本窗口單元的所有接口。
	PFN_GET_INTERFACE m_pfnGetInterface;

    ////////////////////////////////////////////
    // 以下成員只有在不為窗口單元、菜單時才有效。

	// 本數據類型中子成員的數目(可為0)。如為窗口、菜單單元,此變量值必為0。
	INT	m_nElementCount;
	PLIB_DATA_TYPE_ELEMENT m_pElementBegin;  // 指向子成員數組的首地址。
};
typedef LIB_DATA_TYPE_INFO* PLIB_DATA_TYPE_INFO;

/*////////////////////////////////////////////*/

struct LIB_CONST_INFO  // 庫常量數據結構
{
	LPTSTR	m_szName;
	LPTSTR	m_szEGName;
	LPTSTR	m_szExplain;

	SHORT	m_shtReserved;  // 必須為 1 。

	#define	CT_NULL			0
	#define	CT_NUM			1	// sample: 3.1415926
	#define	CT_BOOL			2	// sample: 1
	#define	CT_TEXT			3	// sample: "abc"
	SHORT	m_shtType;

	LPTSTR	m_szText;		// CT_TEXT
	DOUBLE	m_dbValue;		// CT_NUM、CT_BOOL
};
typedef LIB_CONST_INFO* PLIB_CONST_INFO;

//////////////////////////////////////////// 常用數據結構。

typedef struct
{
    DWORD m_dwFormID;
    DWORD m_dwUnitID;
}
MUNIT, *PMUNIT;

#pragma pack (push, old_value)   // 保存VC++編譯器結構對齊字節數。
#pragma pack (1)    // 設置為以一字節對齊。

struct MDATA_INF
{
    union
    {
        // 注意當對應參數具有AS_RECEIVE_VAR或AS_RECEIVE_VAR_ARRAY或AS_RECEIVE_VAR_OR_ARRAY
        // 標志定義時將使用下面的第二部分。

        // 第一部分。
	    BYTE	      m_byte;         // SDT_BYTE 數據類型的數據,下同。
	    SHORT	      m_short;        // SDT_SHORT
	    INT		      m_int;          // SDT_INT
	    INT64	      m_int64;        // SDT_INT64
	    FLOAT	      m_float;        // SDT_FLOAT
	    DOUBLE	      m_double;       // SDT_DOUBLE
        DATE          m_date;         // SDT_DATE_TIME
        BOOL          m_bool;         // SDT_BOOL

        char*         m_pText;        // SDT_TEXT,經過系統預處理,即使是空文本,此指針值也不會為NULL,以便于處理。
                                      // 指針所指向數據的格式見前面的描述。
                                      // !!!為了避免修改到常量段(m_pText有可能會指向易程序常量段區域)中
                                      // 的數據,只可讀取而不可更改其中的內容,下同。

        LPBYTE        m_pBin;         // SDT_BIN,經過系統預處理,即使是空字節集,此指針值也不會為NULL,以便于處理。
                                      // 指針所指向數據的格式見前面的描述。
                                      // !!!只可讀取而不可更改其中的內容。

        DWORD         m_dwSubCodeAdr; // SDT_SUB_PTR,為子程序代碼地址指針。
        MUNIT         m_unit;         // 窗口單元、菜單數據類型的數據。

        void*         m_pCompoundData;// 復合數據類型數據指針,指針所指向數據的格式見前面的描述。
                                      // !!! 只可讀取而不可更改其中的內容。

        void*         m_pAryData;     // 數組數據指針,指針所指向數據的格式見前面的描述。
                                      // 注意如果為文本或字節集數組,則成員數據指針可能為NULL。
                                      // !!! 只可讀取而不可更改其中的內容。

        // 第二部分。
        // 為指向變量地址的指針,僅當參數具有AS_RECEIVE_VAR或AS_RECEIVE_VAR_ARRAY或
        // AS_RECEIVE_VAR_OR_ARRAY標志時才被使用。
        BYTE*	m_pByte;            // SDT_BYTE 數據類型變量的地址,下同。
	    SHORT*	m_pShort;           // SDT_SHORT
	    INT*	m_pInt;             // SDT_INT
	    INT64*	m_pInt64;           // SDT_INT64
	    FLOAT*	m_pFloat;           // SDT_FLOAT
	    DOUBLE*	m_pDouble;          // SDT_DOUBLE
        DATE*   m_pDate;            // SDT_DATE_TIME
        BOOL*   m_pBool;            // SDT_BOOL

        char**  m_ppText;           // SDT_TEXT,注意*m_ppText可能為NULL(代表空文本)。
                                    // 寫入新值之前必須釋放前值,例句:NotifySys (NRS_MFREE, (DWORD)*m_ppText)。
                                    // !!!不可直接更改*m_ppText所指向的內容,只能釋放原指針后設置入NULL(空文本)
                                    // 或使用NRS_MALLOC通知分配的新內存地址指針(下同)。

        LPBYTE* m_ppBin;            // SDT_BIN,注意*m_ppBin可能為NULL(代表空字節集)。
                                    // 寫入新值之前必須釋放前值,例句:NotifySys (NRS_MFREE, (DWORD)*m_ppBin)。
                                    // !!!不可直接更改*m_ppBin所指向的內容,只能釋放原指針后設置入NULL(空字節集)
                                    // 或新指針。

        DWORD*  m_pdwSubCodeAdr;    // SDT_SUB_PTR,子程序代碼地址變量地址。
        PMUNIT  m_pUnit;            // 窗口單元、菜單數據類型變量地址。

        void**  m_ppCompoundData;   // 復合數據類型變量地址。
                                    // !!!注意寫入新值之前必須使用NRS_MFREE通知逐一釋放所有成員(即:SDT_TEXT、
                                    // SDT_BIN及復合數據類型成員)及原地址指針。
                                    // !!!不可直接更改*m_ppCompoundData所指向的內容,只能釋放原指針后設置入新指針。

        void**  m_ppAryData;        // 數組數據變量地址,注意:
                                    // 1、寫入新值之前必須釋放原值,例句:NotifySys (NRS_FREE_ARY,
                                    //    m_dtDataType, (DWORD)*m_ppAryData),注意:此例句只適用于
                                    //    m_dtDataType為系統基本數據類型時的情況,如果為復合數據類型,
                                    //    必須根據其定義信息逐一釋放。
                                    // 2、如果為文本或字節集數組,則其中成員的數據指針可能為NULL。
                                    // !!!不可直接更改*m_ppAryData所指向的內容,只能釋放原指針后設置入新指針。
    };

    // 1、當用作傳遞參數數據時,如果該參數具有 AS_RECEIVE_VAR_OR_ARRAY 或
    //    AS_RECEIVE_ALL_TYPE_DATA 標志,且為數組數據,則包含標志 DT_IS_ARY ,
    //    這也是 DT_IS_ARY 標志的唯一使用場合。
    //    DT_IS_ARY 的定義為:
    //      #define	DT_IS_ARY   0x20000000
    // 2、當用作傳遞參數數據時,如果為空白數據,則為 _SDT_NULL 。
    DATA_TYPE m_dtDataType;
};
typedef MDATA_INF* PMDATA_INF;
// !!! ASSERT (sizeof (MDATA_INF) == sizeof (DWORD) * 3);
// 尺寸必須等于 sizeof (DWORD) * 3 。

#pragma pack (pop, old_value)    // 恢復VC++編譯器結構對齊字節數。

//////////////////////////////////////////// 通知用數據結構。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
婷婷一区二区三区| 专区另类欧美日韩| 极品少妇xxxx偷拍精品少妇| 欧美浪妇xxxx高跟鞋交| 首页国产欧美久久| 欧美电视剧在线看免费| 欧美三级午夜理伦三级中视频| 亚洲黄一区二区三区| 欧美视频一区二区在线观看| 男女男精品视频网| 久久日韩精品一区二区五区| 国产成人日日夜夜| 亚洲天堂成人在线观看| 欧美日韩夫妻久久| 国产成人午夜片在线观看高清观看 | 久久婷婷国产综合国色天香| 国产精品影音先锋| 一区二区三区四区在线| 69久久99精品久久久久婷婷| 狠狠狠色丁香婷婷综合激情| 国产精品电影院| 91精品国产综合久久福利软件| 国产精品自产自拍| 亚洲激情自拍偷拍| 久久一区二区三区国产精品| 色94色欧美sute亚洲线路一ni| 日韩电影在线观看一区| 国产精品麻豆一区二区| 91精品国产色综合久久不卡电影| 国产.欧美.日韩| 亚洲超碰精品一区二区| 国产婷婷色一区二区三区四区| 日本伦理一区二区| 国产成人综合精品三级| 亚洲国产精品一区二区久久| 久久久综合精品| 欧美日本一区二区| 成人h版在线观看| 久久精品国产秦先生| 中文字幕制服丝袜成人av| 精品捆绑美女sm三区| 91福利在线播放| 成人一区二区在线观看| 蜜臀久久久99精品久久久久久| 亚洲欧美日韩综合aⅴ视频| 精品国产sm最大网站| 欧美午夜不卡在线观看免费| 国产99一区视频免费| 麻豆精品精品国产自在97香蕉| 亚洲男人都懂的| 中文字幕av一区二区三区高 | 欧美一区二区福利在线| 在线视频欧美精品| 成人av手机在线观看| 国产精品一区二区无线| 青青草原综合久久大伊人精品优势| 一区二区在线观看免费| 青青草成人在线观看| 亚洲精品亚洲人成人网在线播放| 国产欧美综合色| 精品日韩成人av| 日韩视频一区二区三区| 欧美日韩1234| 欧美日韩国产综合视频在线观看 | 久久久久久麻豆| 欧美变态tickle挠乳网站| 7777精品伊人久久久大香线蕉经典版下载| 99国产一区二区三精品乱码| 成人免费毛片app| 国产高清久久久| 国产高清精品在线| 成人午夜av影视| 99精品国产一区二区三区不卡| 成人黄色免费短视频| 成人亚洲精品久久久久软件| 国产成人在线色| 成熟亚洲日本毛茸茸凸凹| 成人性生交大片免费 | www.66久久| 99视频在线精品| 99精品视频一区二区三区| 91免费在线视频观看| 色综合久久久久| 欧美性大战久久久久久久蜜臀| 91极品视觉盛宴| 欧美日韩国产天堂| 日韩一区二区在线观看| 日韩精品一区二区三区三区免费| 亚洲精品在线免费观看视频| 国产免费成人在线视频| 亚洲欧洲精品一区二区三区不卡| 亚洲精品国产成人久久av盗摄| 尤物视频一区二区| 日韩精品亚洲专区| 紧缚奴在线一区二区三区| 国产一区日韩二区欧美三区| 粉嫩嫩av羞羞动漫久久久| 99久久久久久99| 欧美精品亚洲二区| 久久综合色婷婷| 国产精品乱码人人做人人爱| 亚洲一区二区三区美女| 久草热8精品视频在线观看| 成人精品国产一区二区4080| 欧美日韩在线三级| 日韩一级片网址| 中文字幕一区二| 丝瓜av网站精品一区二区 | 欧美亚洲国产一区二区三区va| 91超碰这里只有精品国产| 久久亚洲春色中文字幕久久久| 国产精品私人影院| 婷婷国产v国产偷v亚洲高清| 麻豆freexxxx性91精品| 国产69精品久久久久777| 欧美体内she精高潮| 精品对白一区国产伦| 一区二区激情小说| 国产精品影视在线| 欧美日韩不卡在线| 欧美国产精品久久| 免费成人小视频| 色欧美片视频在线观看| 久久久五月婷婷| 日韩中文字幕不卡| 99久久免费视频.com| 亚洲精品一区二区三区香蕉 | 日韩欧美综合在线| 国内精品视频666| 欧美日韩国产高清一区二区三区| 欧美精品一区二区三区高清aⅴ| 亚洲精品免费看| 国产精品一区在线观看你懂的| 欧美在线高清视频| 1区2区3区国产精品| 国内精品自线一区二区三区视频| 91国产福利在线| 国产精品久久久久国产精品日日 | 国产欧美日韩在线视频| 日韩高清欧美激情| 91网站在线观看视频| 国产婷婷一区二区| 狠狠色丁香婷婷综合| 欧美精品777| 亚洲一线二线三线久久久| 成人午夜精品在线| 欧美精品一区二区精品网| 午夜精品福利一区二区三区蜜桃| 成人av影院在线| 国产欧美久久久精品影院| 麻豆精品国产传媒mv男同| 在线播放中文一区| 亚洲影视在线播放| 91麻豆免费观看| 国产精品久久久久久福利一牛影视| 国产主播一区二区| 日韩一级高清毛片| 蜜臀久久99精品久久久久久9| 欧美日韩国产欧美日美国产精品| 日本一区二区综合亚洲| 国产一区二区三区| 精品国产人成亚洲区| 精品午夜久久福利影院| 精品国产一区二区三区av性色| 日本强好片久久久久久aaa| 777xxx欧美| 青青草97国产精品免费观看无弹窗版| 欧洲精品在线观看| 一区二区三区中文在线观看| 欧美中文字幕一二三区视频| 亚洲综合激情小说| 欧美日韩中文国产| 成人avav在线| 国产精品亲子伦对白| 99精品国产热久久91蜜凸| 亚洲女同一区二区| 欧美日韩视频在线观看一区二区三区| 一区二区国产盗摄色噜噜| 欧美三级韩国三级日本三斤| 亚洲成人777| 欧美成人a视频| 国产不卡视频在线播放| |精品福利一区二区三区| 欧美伊人久久大香线蕉综合69 | 91网站最新地址| 亚洲午夜视频在线观看| 91精品国产欧美一区二区18 | 粉嫩aⅴ一区二区三区四区五区 | 久久先锋影音av| 成人成人成人在线视频| 一区二区三区av电影| 欧美久久婷婷综合色| 久久99精品国产麻豆不卡| 中文字幕av一区二区三区| 在线欧美一区二区| 蜜桃视频在线观看一区| 国产欧美精品一区二区色综合朱莉| 成人手机电影网| 偷拍日韩校园综合在线| 久久天天做天天爱综合色|