1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
{$IFNDEF M_CLIST}
{$DEFINE M_CLIST}
{$ifndef STATUSMODES}
{$include statusmodes.inc}
{$endif}
type
HGENMENU = THANDLE;
function Clist_SetStatusMode(status:int) : int; stdcall; external AppDll;
function Menu_BuildContactMenu(hContact:TMCONTACT) : HMENU; stdcall; external AppDll;
{
Affect : Modify an existing menu item, see notes
Returns: 0 on success, [non zero] on failure
}
function Menu_ModifyItem(hMenu:HGENMENU; const name:PWideChar; icon:THANDLE=INVALID_HANDLE_VALUE; flags:int=-1) : int; stdcall; external AppDll;
{
Notes : changes menu item's visibility
}
procedure Menu_ShowItem(hMenu:HGENMENU; bShow:BYTE); stdcall; external AppDll;
{
wParam : TMCONTACT
lParam : 0
Affect : the context menu for a contact is about to be built, see notes
Notes : modules should use this to change menu items that are specific
to the contact that has them
Version: v0.1.0.1+
}
const
ME_CLIST_PREBUILDCONTACTMENU:PAnsiChar = 'CList/PreBuildContactMenu';
const
{
wParam : TMCONTACT
lParam : <none>
Affect : Register with this event to be notified of a double click on the CList
against a TMCONTACT, you will not be notified if there is a pending CList event
that the double click clears, (i.e. flashing icon is presented to be clicked)
Version: 0.3.0.0
}
ME_CLIST_DOUBLECLICKED:PAnsiChar = 'CList/DoubleClicked';
function Clist_GetImageList : HIMAGELIST; stdcall; external AppDll;
{
wParam : TMCONTACT
lParam : ICON_ID
Affect : The icon of a contact in the contact list has changed,
ICON_ID is an index to what image has changed
Version: v0.1.2.1+
}
const
ME_CLIST_CONTACTICONCHANGED:PAnsiChar = 'CList/ContactIconChanged';
//******************************* CLUI only *********************************
CLISTMENUIDMIN = $4000; // reserved range for clist menu ids
CLISTMENUIDMAX = $7FFF;
MPCF_CONTACTMENU = 1; // test commands from a contact menu
MPCF_MAINMENU = 2; // test commands from the main menu
{
Affect : Process a menu selection from a menu, see notes
Returns: True if it processed the command, False otherwise
notes : hContact is the currently selected contact, it is not used
if this is a main menu command, if this is NULL then the command
is a contact menu one, the command is ignored
}
function Clist_MenuProcessCommand(menuid,flags:int; hContact:TMCONTACT) : integer; stdcall; external AppDll;
{
Affect : Process a menu hotkey, see notes
Returns: True if it processed the command, False otherwise
Notes : this should be called in WM_KEYDOWN
}
function Clist_MenuProcessHotkey(virtKey:uint) : integer; stdcall; external AppDll;
{
returns the icon's index of specified contact in the internal image list or -1
}
function Clist_GetContactIcon(hContact:TMCONTACT) : integer; stdcall; external AppDll;
{
returns a static display name for a contact
}
function Clist_GetContactDisplayName(hContact:TMCONTACT; mode:int):PWideChar; stdcall; external AppDll;
{
removes an event
}
function Clist_RemoveEvent(hContact:TMCONTACT;hDbEvent:TMEVENT) : integer; stdcall; external AppDll;
{
wParam : 0
lParam : 0
Affect : Toggles the show/hide status of the contact list
Returns: 0 on success, [non zero] on failure
Version: v0.1.1.0+
}
const
MS_CLIST_SHOWHIDE:PAnsiChar = 'CList/ShowHide';
{
sent when the group get modified (created, renamed or deleted)
or contact is moving from group to group
wParam=hContact - NULL if operation on group
lParam=pointer to CLISTGROUPCHANGE
}
type
CLISTGROUPCHANGE = record
pszOldName:TChar; //old group name
pszNewName:TChar; //new group name
end;
const
ME_CLIST_GROUPCHANGE:PAnsiChar = 'CList/GroupChange';
GROUPF_EXPANDED = $04;
GROUPF_HIDEOFFLINE = $08;
function Clist_GroupCreate(hParentGroup:integer; groupName:PWideChar) : integer; stdcall; external AppDll;
procedure Clist_ContactDoubleClicked(hContact:TMCONTACT); stdcall; external AppDll;
function Clist_GroupBuildMenu(idxfrom:integer=100) : HMENU; stdcall; external AppDll;
procedure Clist_SetGroup(hContact:TMCONTACT; groupName:PWideChar); stdcall; external AppDll;
{$ENDIF}
|