📄 newcomctrl.h
字号:
///////////////////////////////////////////////
/// IP Address edit control
// Messages sent to IPAddress controls
#define IPM_CLEARADDRESS (WM_USER+100) // no parameters
#define IPM_SETADDRESS (WM_USER+101) // lparam = TCP/IP address
#define IPM_GETADDRESS (WM_USER+102) // lresult = # of non black fields. lparam = LPDWORD for TCP/IP address
#define IPM_SETRANGE (WM_USER+103) // wparam = field, lparam = range
#define IPM_SETFOCUS (WM_USER+104) // wparam = field
#define IPM_ISBLANK (WM_USER+105) // no parameters
#define WC_IPADDRESSW L"SysIPAddress32"
#define WC_IPADDRESSA "SysIPAddress32"
#ifdef UNICODE
#define WC_IPADDRESS WC_IPADDRESSW
#else
#define WC_IPADDRESS WC_IPADDRESSA
#endif
#define IPN_FIELDCHANGED (IPN_FIRST - 0)
typedef struct tagNMIPADDRESS
{
NMHDR hdr;
int iField;
int iValue;
} NMIPADDRESS, *LPNMIPADDRESS;
// The following is a useful macro for passing the range values in the
// IPM_SETRANGE message.
#define MAKEIPRANGE(low, high) ((LPARAM)(WORD)(((BYTE)(high) << 8) + (BYTE)(low)))
// And this is a useful macro for making the IP Address to be passed
// as a LPARAM.
#define MAKEIPADDRESS(b1,b2,b3,b4) ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4))))
// Get individual number
#define FIRST_IPADDRESS(x) ((x>>24) & 0xff)
#define SECOND_IPADDRESS(x) ((x>>16) & 0xff)
#define THIRD_IPADDRESS(x) ((x>>8) & 0xff)
#define FOURTH_IPADDRESS(x) (x & 0xff)
#define ListView_SetExtendedListViewStyle(hwndLV, dw)\
(DWORD)SNDMSG((hwndLV), LVM_SETEXTENDEDLISTVIEWSTYLE, 0, dw)
#define ListView_GetCheckState(hwndLV, i) \
((((UINT)(SNDMSG((hwndLV), LVM_GETITEMSTATE, (WPARAM)i, LVIS_STATEIMAGEMASK))) >> 12) -1)
#define ListView_GetCheckState(hwndLV, i) \
((((UINT)(SNDMSG((hwndLV), LVM_GETITEMSTATE, (WPARAM)i, LVIS_STATEIMAGEMASK))) >> 12) -1)
#define ListView_SetExtendedListViewStyle(hwndLV, dw)\
(DWORD)SNDMSG((hwndLV), LVM_SETEXTENDEDLISTVIEWSTYLE, 0, dw)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -