mCtrl 0.8.2

mCtrl/mditab.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2008-2011 Martin Mitas
00003  *
00004  * This library is free software; you can redistribute it and/or modify it
00005  * under the terms of the GNU Lesser General Public License as published by
00006  * the Free Software Foundation; either version 2.1 of the License, or
00007  * (at your option) any later version.
00008  * 
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  * GNU Lesser General Public License for more details.
00013  * 
00014  * You should have received a copy of the GNU Lesser General Public License
00015  * along with this library; if not, write to the Free Software Foundation,
00016  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00017  */
00018 
00019 #ifndef MCTRL_MDITAB_H
00020 #define MCTRL_MDITAB_H
00021 
00022 #include <mCtrl/defs.h>
00023 
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027 
00028 
00089 BOOL MCTRL_API mcMditab_Initialize(void);
00090 
00095 void MCTRL_API mcMditab_Terminate(void);
00096 
00097 
00103 #define MC_WC_MDITABW        L"mCtrl.mditab"  
00104 
00105 #define MC_WC_MDITABA         "mCtrl.mditab"  
00106 
00113 
00115 #define MC_MTS_CBONTOOLBAR          (0x00000000L)
00116 
00117 #define MC_MTS_CBONEACHTAB          (0x00000001L)
00118 
00119 #define MC_MTS_CBONACTIVETAB        (0x00000002L)
00120 
00121 #define MC_MTS_CBNONE               (0x00000003L)
00122 
00123 #define MC_MTS_CBMASK               (0x00000003L)
00124 
00126 #define MC_MTS_TLBALWAYS            (0x00000000L)
00127 
00128 #define MC_MTS_TLBONSCROLL          (0x00000004L)
00129 
00130 #define MC_MTS_TLBNEVER             (0x00000008L)
00131 
00132 #define MC_MTS_TLBMASK              (0x0000000CL)
00133 
00135 #define MC_MTS_SCROLLALWAYS         (0x00000010L)
00136 
00138 #define MC_MTS_CLOSEONMCLICK        (0x00000020L)
00139 
00141 #define MC_MTS_FOCUSONBUTTONDOWN    (0x00000040L)
00142 
00143 #define MC_MTS_FOCUSNEVER           (0x00000080L)
00144 
00145 #define MC_MTS_FOCUSMASK            (0x000000C0L)
00146 
00158 #define MC_MTIF_TEXT         (1 << 0)
00159 
00160 #define MC_MTIF_IMAGE        (1 << 1)
00161 
00162 #define MC_MTIF_PARAM        (1 << 2)
00163 
00169 typedef struct MC_MTITEMW_tag {
00171     DWORD dwMask;    
00173     LPWSTR pszText;  
00175     int cchTextMax;
00177     int iImage;
00179     LPARAM lParam;
00180 } MC_MTITEMW;
00181 
00186 typedef struct MC_MTITEMA_tag {
00188     DWORD dwMask;    
00190     LPSTR pszText;
00192     int cchTextMax;
00194     int iImage;
00196     LPARAM lParam;
00197 } MC_MTITEMA;
00198 
00208 typedef struct MC_MTITEMWIDTH_tag {
00210     DWORD dwDefWidth;
00212     DWORD dwMinWidth;
00213 } MC_MTITEMWIDTH;
00214 
00215 
00223 #define MC_MTHT_NOWHERE              (1 << 0)
00224 
00225 #define MC_MTHT_ONITEMICON           (1 << 1)
00226 
00227 #define MC_MTHT_ONITEMLABEL          (1 << 2)
00228 
00229 #define MC_MTHT_ONITEMCLOSEBUTTON    (1 << 3)
00230 
00231 #define MC_MTHT_ONITEM               \
00232     (MC_MTHT_ONITEMICON | MC_MTHT_ONITEMLABEL | MC_MTHT_ONITEMCLOSEBUTTON)
00233 
00238 typedef struct MC_MTHITTESTINFO_tag {
00240     POINT pt;
00242     UINT flags;
00243 } MC_MTHITTESTINFO;
00244 
00245 
00250 
00257 #define MC_MTM_GETITEMCOUNT       (WM_USER + 100)
00258 
00267 #define MC_MTM_GETIMAGELIST       (WM_USER + 101)
00268 
00279 #define MC_MTM_SETIMAGELIST       (WM_USER + 102)
00280 
00293 #define MC_MTM_DELETEALLITEMS     (WM_USER + 103)
00294 
00302 #define MC_MTM_INSERTITEMW        (WM_USER + 105)
00303 
00311 #define MC_MTM_INSERTITEMA        (WM_USER + 106)
00312 
00319 #define MC_MTM_SETITEMW           (WM_USER + 107)
00320 
00327 #define MC_MTM_SETITEMA           (WM_USER + 108)
00328 
00336 #define MC_MTM_GETITEMW           (WM_USER + 109)
00337 
00345 #define MC_MTM_GETITEMA           (WM_USER + 110)
00346 
00355 #define MC_MTM_DELETEITEM         (WM_USER + 111)
00356 
00364 #define MC_MTM_HITTEST            (WM_USER + 112)
00365 
00372 #define MC_MTM_SETCURSEL          (WM_USER + 113)
00373 
00380 #define MC_MTM_GETCURSEL          (WM_USER + 114)
00381 
00391 #define MC_MTM_CLOSEITEM          (WM_USER + 115)
00392 
00406 #define MC_MTM_SETITEMWIDTH       (WM_USER + 116)
00407 
00416 #define MC_MTM_GETITEMWIDTH       (WM_USER + 117)
00417 
00423 typedef struct MC_NMMTSELCHANGE_tag {
00425     NMHDR hdr;  
00427     int iItemOld;  
00429     LPARAM lParamOld;  
00431     int iItemNew;  
00433     LPARAM lParamNew;  
00434 } MC_NMMTSELCHANGE;
00435 
00439 typedef struct MC_NMMTDELETEITEM_tag {
00441     NMHDR hdr;
00443     int iItem;
00445     LPARAM lParam;
00446 } MC_NMMTDELETEITEM;
00447 
00448 
00452 typedef struct MC_NMMTCLOSEITEM_tag {
00454     NMHDR hdr;
00456     int iItem;
00458     LPARAM lParam;
00459 } MC_NMMTCLOSEITEM;
00460 
00461 
00466 
00474 #define MC_MTN_SELCHANGE          (0xfffffddb)
00475 
00483 #define MC_MTN_DELETEITEM         (0xfffffdd0)
00484 
00496 #define MC_MTN_DELETEALLITEMS     (0xfffffdcf)
00497 
00507 #define MC_MTN_CLOSEITEM          (0xfffffdce)
00508 
00516 
00517 #ifdef UNICODE
00518 
00519     #define MC_WC_MDITAB          MC_WC_MDITABW
00520 
00521     #define MC_MTITEM             MC_MTITEMW
00522 
00523     #define MC_MTM_INSERTITEM     MC_MTM_INSERTITEMW
00524 
00525     #define MC_MTM_SETITEM        MC_MTM_SETITEMW
00526 
00527     #define MC_MTM_GETITEM        MC_MTM_GETITEMW
00528 #else
00529     #define MC_WC_MDITAB          MC_WC_MDITABA
00530     #define MC_MTITEM             MC_MTITEMA
00531     #define MC_MTM_INSERTITEM     MC_MTM_INSERTITEMA
00532     #define MC_MTM_SETITEM        MC_MTM_SETITEMA
00533     #define MC_MTM_GETITEM        MC_MTM_GETITEMA
00534 #endif
00535 
00539 #ifdef __cplusplus
00540 }  /* extern "C" */
00541 #endif
00542 
00543 #endif  /* MCTRL_MDITAB_H */