From a2795725f5afc756a405a85c192bdd53b967999d Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Fri, 29 Jun 2012 06:56:07 +0000 Subject: Added my Miranda API pascal version Changed ShlExt to my API compilation (32 bit FPC now only) git-svn-id: http://svn.miranda-ng.org/main/trunk@679 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Pascal_Headers/m_iconheader.inc | 74 +++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 plugins/Pascal_Headers/m_iconheader.inc (limited to 'plugins/Pascal_Headers/m_iconheader.inc') diff --git a/plugins/Pascal_Headers/m_iconheader.inc b/plugins/Pascal_Headers/m_iconheader.inc new file mode 100644 index 0000000000..1d99c41630 --- /dev/null +++ b/plugins/Pascal_Headers/m_iconheader.inc @@ -0,0 +1,74 @@ +{ +Miranda IM: the free IM client for Microsoft* Windows* + +Copyright 2007 Artem Shpynov +Copyright 2000-2007 Miranda ICQ/IM project, + +all portions of this codebase are copyrighted to the people +listed in contributors.txt. + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +} + +{$IFNDEF M_ICONHEADER} +{$DEFINE M_ICONHEADER} + +const + MIRANDAICOTABCLASS = 'MirandaIcoTabClass'; + + MITCF_SHAREDICON = $01; + MITCF_UNICODE = $02; + + ITCM_FIRST = (WM_USER+1024); + ITCM_LAST = (ITCM_FIRST+64); + + ITCM_SETBACKGROUND = (ITCM_FIRST+1); //LPARAM is HBITMAP + ITCM_ADDITEM = (ITCM_FIRST+2); //LPARAM is pointer to MIcoTab + ITCM_SETSEL = (ITCM_FIRST+3); //WPARAM is new selected index + ITCM_GETSEL = (ITCM_FIRST+4); //result is selected item index + ITCM_GETITEMDATA = (ITCM_FIRST+5); //WPARAM is item index, result is custom data + + ITCN_SELCHANGED = 1; + ITCN_SELCHANGEDKBD = 2; +// structure is used for storing info about single tab +type + MIcoTab = record + hIcon:HICON; + szzName:TChar; + flag:dword; + data:LPARAM; + end; + +(* +#define MIcoTab_SetBackground(hwnd, hBmp) \ + (SendMessage((hwnd), ITCM_SETBACKGROUND, 0, (LPARAM)(hBmp))) +#define MIcoTab_SetSel(hwnd, idx) \ + (SendMessage((hwnd), ITCM_SETSEL, (idx), 0)) +#define MIcoTab_GetSel(hwnd) \ + (SendMessage((hwnd), ITCM_GETSEL, 0, 0)) +#define MIcoTab_GetItemData(hwnd, idx) \ + (SendMessage((hwnd), ITCM_GETITEMDATA, (idx), 0)) + +static __forceinline void MIcoTab_AddItem(HWND hwnd, TCHAR *lptzName, HICON hIcon, LPARAM data, BOOL bSharedIcon) +{ + MIcoTab mit = {0}; + mit.flag = (bSharedIcon?MITCF_SHAREDICON:0)|MITCF_TCHAR; + mit.hIcon = hIcon; + mit.tcsName = lptzName; + mit.data = data; + SendMessage(hwnd, ITCM_ADDITEM, (WPARAM)&mit, 0); +} +*) +{$ENDIF} -- cgit v1.2.3