Hex Artifact Content

Not logged in

Artifact 3378ce3cda9a549d59c4bb905f28250da303fbdb:


0000: 2f 2f 2d 2d 2d 20 4b 2e 49 2e 4c 49 42 20 2d 2d  //--- K.I.LIB --
0010: 2d 0d 0a 2f 2f 20 6b 6c 5f 64 6e 64 2e 68 20 3a  -..// kl_dnd.h :
0020: 20 64 72 61 67 20 61 6e 64 20 64 72 6f 70 20 6f   drag and drop o
0030: 70 65 72 61 74 69 6f 6e 0d 0a 0d 0a 23 69 66 6e  peration....#ifn
0040: 64 65 66 20 41 46 58 5f 4b 49 44 52 4f 50 53 4f  def AFX_KIDROPSO
0050: 55 52 43 45 5f 48 5f 5f 31 34 31 42 45 46 30 44  URCE_H__141BEF0D
0060: 5f 30 44 41 32 5f 34 31 35 36 5f 39 33 45 34 5f  _0DA2_4156_93E4_
0070: 33 31 33 35 33 35 39 31 36 41 32 33 5f 5f 49 4e  313535916A23__IN
0080: 43 4c 55 44 45 44 5f 0d 0a 23 64 65 66 69 6e 65  CLUDED_..#define
0090: 20 41 46 58 5f 4b 49 44 52 4f 50 53 4f 55 52 43   AFX_KIDROPSOURC
00a0: 45 5f 48 5f 5f 31 34 31 42 45 46 30 44 5f 30 44  E_H__141BEF0D_0D
00b0: 41 32 5f 34 31 35 36 5f 39 33 45 34 5f 33 31 33  A2_4156_93E4_313
00c0: 35 33 35 39 31 36 41 32 33 5f 5f 49 4e 43 4c 55  535916A23__INCLU
00d0: 44 45 44 5f 0d 0a 0d 0a 2f 2a 3d 2a 3d 2a 3d 2a  DED_..../*=*=*=*
00e0: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a  =*=*=*=*=*=*=*=*
00f0: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a  =*=*=*=*=*=*=*=*
0100: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a  =*=*=*=*=*=*=*=*
0110: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a  =*=*=*=*=*=*=*=*
0120: 2f 0d 0a 2f 2f 20 6b 69 44 61 74 61 4f 62 6a 65  /..// kiDataObje
0130: 63 74 20 3a 20 83 68 83 8d 83 62 83 76 83 66 81  ct : .h...b.v.f.
0140: 5b 83 5e 82 c6 82 b5 82 c4 82 cc 95 57 8f 80 8f  [.^.........W...
0150: 88 97 9d 0d 0a 0d 0a 63 6c 61 73 73 20 6b 69 44  .......class kiD
0160: 61 74 61 4f 62 6a 65 63 74 20 3a 20 70 75 62 6c  ataObject : publ
0170: 69 63 20 49 44 61 74 61 4f 62 6a 65 63 74 0d 0a  ic IDataObject..
0180: 7b 0d 0a 70 72 6f 74 65 63 74 65 64 3a 20 2f 2f  {..protected: //
0190: 20 94 68 90 b6 83 4e 83 89 83 58 8c fc 82 af 8f   .h...N...X.....
01a0: 88 97 9d 0d 0a 0d 0a 09 76 69 72 74 75 61 6c 20  ........virtual 
01b0: 62 6f 6f 6c 20 67 69 76 65 44 61 74 61 28 20 63  bool giveData( c
01c0: 6f 6e 73 74 20 46 4f 52 4d 41 54 45 54 43 26 20  onst FORMATETC& 
01d0: 66 6d 74 2c 20 53 54 47 4d 45 44 49 55 4d 2a 20  fmt, STGMEDIUM* 
01e0: 73 74 67 2c 20 62 6f 6f 6c 20 66 69 72 73 74 63  stg, bool firstc
01f0: 61 6c 6c 20 29 20 3d 20 30 3b 0d 0a 09 76 6f 69  all ) = 0;...voi
0200: 64 20 61 64 64 46 6f 72 6d 61 74 28 20 63 6f 6e  d addFormat( con
0210: 73 74 20 46 4f 52 4d 41 54 45 54 43 26 20 66 72  st FORMATETC& fr
0220: 6d 20 29 0d 0a 09 09 7b 0d 0a 09 09 09 6d 5f 46  m )....{.....m_F
0230: 6f 72 6d 61 74 4c 69 73 74 2e 61 64 64 28 20 66  ormatList.add( f
0240: 72 6d 20 29 3b 0d 0a 09 09 7d 0d 0a 0d 0a 70 72  rm );....}....pr
0250: 6f 74 65 63 74 65 64 3a 09 2f 2f 2d 2d 20 49 55  otected:.//-- IU
0260: 6e 6b 6e 6f 77 6e 20 2d 2d 2d 2d 2d 2d 2d 2d 2d  nknown ---------
0270: 2d 2d 0d 0a 0d 0a 09 6b 69 44 61 74 61 4f 62 6a  --.....kiDataObj
0280: 65 63 74 28 29 3b 0d 0a 09 53 54 44 4d 45 54 48  ect();...STDMETH
0290: 4f 44 49 4d 50 20 20 20 20 20 20 20 20 20 51 75  ODIMP         Qu
02a0: 65 72 79 49 6e 74 65 72 66 61 63 65 28 20 52 45  eryInterface( RE
02b0: 46 49 49 44 2c 20 76 6f 69 64 2a 2a 20 29 3b 0d  FIID, void** );.
02c0: 0a 09 53 54 44 4d 45 54 48 4f 44 49 4d 50 5f 28  ..STDMETHODIMP_(
02d0: 55 4c 4f 4e 47 29 20 41 64 64 52 65 66 28 29 3b  ULONG) AddRef();
02e0: 0d 0a 09 53 54 44 4d 45 54 48 4f 44 49 4d 50 5f  ...STDMETHODIMP_
02f0: 28 55 4c 4f 4e 47 29 20 52 65 6c 65 61 73 65 28  (ULONG) Release(
0300: 29 3b 0d 0a 70 72 69 76 61 74 65 3a 0d 0a 09 55  );..private:...U
0310: 4c 4f 4e 47 20 20 20 20 20 20 20 20 20 20 20 20  LONG            
0320: 20 20 20 20 6d 5f 63 52 65 66 3b 0d 0a 0d 0a 70      m_cRef;....p
0330: 72 69 76 61 74 65 3a 20 2f 2f 2d 2d 20 49 44 61  rivate: //-- IDa
0340: 74 61 4f 62 6a 65 63 74 20 2d 2d 2d 2d 2d 2d 2d  taObject -------
0350: 2d 2d 2d 2d 2d 0d 0a 0d 0a 09 53 54 44 4d 45 54  -----.....STDMET
0360: 48 4f 44 49 4d 50 20 47 65 74 44 61 74 61 28 20  HODIMP GetData( 
0370: 46 4f 52 4d 41 54 45 54 43 2a 2c 20 53 54 47 4d  FORMATETC*, STGM
0380: 45 44 49 55 4d 2a 20 29 3b 0d 0a 09 53 54 44 4d  EDIUM* );...STDM
0390: 45 54 48 4f 44 49 4d 50 20 51 75 65 72 79 47 65  ETHODIMP QueryGe
03a0: 74 44 61 74 61 28 20 46 4f 52 4d 41 54 45 54 43  tData( FORMATETC
03b0: 2a 20 29 3b 0d 0a 09 53 54 44 4d 45 54 48 4f 44  * );...STDMETHOD
03c0: 49 4d 50 20 45 6e 75 6d 46 6f 72 6d 61 74 45 74  IMP EnumFormatEt
03d0: 63 28 20 44 57 4f 52 44 2c 20 49 45 6e 75 6d 46  c( DWORD, IEnumF
03e0: 4f 52 4d 41 54 45 54 43 2a 2a 20 29 3b 0d 0a 09  ORMATETC** );...
03f0: 53 54 44 4d 45 54 48 4f 44 49 4d 50 20 47 65 74  STDMETHODIMP Get
0400: 44 61 74 61 48 65 72 65 28 20 46 4f 52 4d 41 54  DataHere( FORMAT
0410: 45 54 43 2a 2c 20 53 54 47 4d 45 44 49 55 4d 2a  ETC*, STGMEDIUM*
0420: 20 29 0d 0a 09 09 7b 0d 0a 09 09 09 72 65 74 75   )....{.....retu
0430: 72 6e 20 45 5f 4e 4f 54 49 4d 50 4c 3b 0d 0a 09  rn E_NOTIMPL;...
0440: 09 7d 0d 0a 09 53 54 44 4d 45 54 48 4f 44 49 4d  .}...STDMETHODIM
0450: 50 20 47 65 74 43 61 6e 6f 6e 69 63 61 6c 46 6f  P GetCanonicalFo
0460: 72 6d 61 74 45 74 63 28 20 46 4f 52 4d 41 54 45  rmatEtc( FORMATE
0470: 54 43 2a 2c 20 46 4f 52 4d 41 54 45 54 43 2a 20  TC*, FORMATETC* 
0480: 29 0d 0a 09 09 7b 0d 0a 09 09 09 72 65 74 75 72  )....{.....retur
0490: 6e 20 45 5f 4e 4f 54 49 4d 50 4c 3b 0d 0a 09 09  n E_NOTIMPL;....
04a0: 7d 0d 0a 09 53 54 44 4d 45 54 48 4f 44 49 4d 50  }...STDMETHODIMP
04b0: 20 53 65 74 44 61 74 61 28 20 46 4f 52 4d 41 54   SetData( FORMAT
04c0: 45 54 43 2a 2c 20 53 54 47 4d 45 44 49 55 4d 2a  ETC*, STGMEDIUM*
04d0: 2c 20 42 4f 4f 4c 20 29 0d 0a 09 09 7b 0d 0a 09  , BOOL )....{...
04e0: 09 09 72 65 74 75 72 6e 20 45 5f 4e 4f 54 49 4d  ..return E_NOTIM
04f0: 50 4c 3b 0d 0a 09 09 7d 0d 0a 09 53 54 44 4d 45  PL;....}...STDME
0500: 54 48 4f 44 49 4d 50 20 44 41 64 76 69 73 65 28  THODIMP DAdvise(
0510: 20 46 4f 52 4d 41 54 45 54 43 2a 2c 20 44 57 4f   FORMATETC*, DWO
0520: 52 44 2c 20 49 41 64 76 69 73 65 53 69 6e 6b 2a  RD, IAdviseSink*
0530: 2c 20 44 57 4f 52 44 2a 20 29 0d 0a 09 09 7b 0d  , DWORD* )....{.
0540: 0a 09 09 09 72 65 74 75 72 6e 20 4f 4c 45 5f 45  ....return OLE_E
0550: 5f 41 44 56 49 53 45 4e 4f 54 53 55 50 50 4f 52  _ADVISENOTSUPPOR
0560: 54 45 44 3b 0d 0a 09 09 7d 0d 0a 09 53 54 44 4d  TED;....}...STDM
0570: 45 54 48 4f 44 49 4d 50 20 44 55 6e 61 64 76 69  ETHODIMP DUnadvi
0580: 73 65 28 20 44 57 4f 52 44 20 29 0d 0a 09 09 7b  se( DWORD )....{
0590: 0d 0a 09 09 09 72 65 74 75 72 6e 20 4f 4c 45 5f  .....return OLE_
05a0: 45 5f 4e 4f 43 4f 4e 4e 45 43 54 49 4f 4e 3b 0d  E_NOCONNECTION;.
05b0: 0a 09 09 7d 0d 0a 09 53 54 44 4d 45 54 48 4f 44  ...}...STDMETHOD
05c0: 49 4d 50 20 45 6e 75 6d 44 41 64 76 69 73 65 28  IMP EnumDAdvise(
05d0: 20 49 45 6e 75 6d 53 54 41 54 44 41 54 41 2a 2a   IEnumSTATDATA**
05e0: 20 29 0d 0a 09 09 7b 0d 0a 09 09 09 72 65 74 75   )....{.....retu
05f0: 72 6e 20 4f 4c 45 5f 45 5f 41 44 56 49 53 45 4e  rn OLE_E_ADVISEN
0600: 4f 54 53 55 50 50 4f 52 54 45 44 3b 0d 0a 09 09  OTSUPPORTED;....
0610: 7d 0d 0a 0d 0a 70 72 69 76 61 74 65 3a 20 2f 2f  }....private: //
0620: 2d 2d 20 93 e0 95 94 8f 88 97 9d 20 2d 2d 2d 2d  -- ........ ----
0630: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d  -------------...
0640: 0a 09 6b 69 41 72 72 61 79 3c 46 4f 52 4d 41 54  ..kiArray<FORMAT
0650: 45 54 43 3e 20 6d 5f 46 6f 72 6d 61 74 4c 69 73  ETC> m_FormatLis
0660: 74 3b 0d 0a 09 62 6f 6f 6c 20 6d 5f 62 46 69 72  t;...bool m_bFir
0670: 73 74 3b 0d 0a 09 66 72 69 65 6e 64 20 63 6c 61  st;...friend cla
0680: 73 73 20 6b 69 44 61 74 61 4f 62 6a 65 63 74 5f  ss kiDataObject_
0690: 45 6e 75 6d 3b 0d 0a 0d 0a 70 75 62 6c 69 63 3a  Enum;....public:
06a0: 0d 0a 09 76 6f 69 64 20 62 65 67 69 6e 28 29 0d  ...void begin().
06b0: 0a 09 09 7b 0d 0a 09 09 09 6d 5f 62 46 69 72 73  ...{.....m_bFirs
06c0: 74 20 3d 20 74 72 75 65 3b 0d 0a 09 09 7d 0d 0a  t = true;....}..
06d0: 7d 3b 0d 0a 0d 0a 2f 2a 3d 2a 3d 2a 3d 2a 3d 2a  };..../*=*=*=*=*
06e0: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a  =*=*=*=*=*=*=*=*
06f0: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a  =*=*=*=*=*=*=*=*
0700: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a  =*=*=*=*=*=*=*=*
0710: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 2f 0d  =*=*=*=*=*=*=*/.
0720: 0a 2f 2f 20 6b 69 44 72 6f 70 53 6f 75 72 63 65  .// kiDropSource
0730: 20 3a 20 83 68 83 8d 83 62 83 76 8c b3 82 c6 82   : .h...b.v.....
0740: b5 82 c4 82 cc 95 57 8f 80 8f 88 97 9d 0d 0a 0d  ......W.........
0750: 0a 63 6c 61 73 73 20 6b 69 44 72 6f 70 53 6f 75  .class kiDropSou
0760: 72 63 65 20 3a 20 70 75 62 6c 69 63 20 49 44 72  rce : public IDr
0770: 6f 70 53 6f 75 72 63 65 0d 0a 7b 0d 0a 70 75 62  opSource..{..pub
0780: 6c 69 63 3a 20 2f 2f 2d 2d 20 83 68 83 89 83 62  lic: //-- .h...b
0790: 83 4f 81 95 83 68 83 8d 83 62 83 76 8e c0 8d 73  .O...h...b.v...s
07a0: 81 49 0d 0a 0d 0a 09 73 74 61 74 69 63 20 62 6f  .I.....static bo
07b0: 6f 6c 20 44 6e 44 28 20 6b 69 44 61 74 61 4f 62  ol DnD( kiDataOb
07c0: 6a 65 63 74 2a 20 70 4f 62 6a 2c 20 44 57 4f 52  ject* pObj, DWOR
07d0: 44 20 65 66 63 74 2c 20 44 57 4f 52 44 2a 20 70  D efct, DWORD* p
07e0: 65 66 63 74 3d 4e 55 4c 4c 20 29 3b 0d 0a 0d 0a  efct=NULL );....
07f0: 70 72 69 76 61 74 65 3a 20 2f 2f 2d 2d 20 49 55  private: //-- IU
0800: 6e 6b 6e 6f 77 6e 0d 0a 0d 0a 09 6b 69 44 72 6f  nknown.....kiDro
0810: 70 53 6f 75 72 63 65 28 29 3b 0d 0a 09 53 54 44  pSource();...STD
0820: 4d 45 54 48 4f 44 49 4d 50 20 20 20 20 20 20 20  METHODIMP       
0830: 20 20 51 75 65 72 79 49 6e 74 65 72 66 61 63 65    QueryInterface
0840: 28 20 52 45 46 49 49 44 2c 20 76 6f 69 64 2a 2a  ( REFIID, void**
0850: 20 29 3b 0d 0a 09 53 54 44 4d 45 54 48 4f 44 49   );...STDMETHODI
0860: 4d 50 5f 28 55 4c 4f 4e 47 29 20 41 64 64 52 65  MP_(ULONG) AddRe
0870: 66 28 29 3b 0d 0a 09 53 54 44 4d 45 54 48 4f 44  f();...STDMETHOD
0880: 49 4d 50 5f 28 55 4c 4f 4e 47 29 20 52 65 6c 65  IMP_(ULONG) Rele
0890: 61 73 65 28 29 3b 0d 0a 09 55 4c 4f 4e 47 20 20  ase();...ULONG  
08a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f                m_
08b0: 63 52 65 66 3b 0d 0a 0d 0a 70 72 69 76 61 74 65  cRef;....private
08c0: 3a 20 2f 2f 2d 2d 20 49 44 72 6f 70 53 6f 75 72  : //-- IDropSour
08d0: 63 65 0d 0a 0d 0a 09 53 54 44 4d 45 54 48 4f 44  ce.....STDMETHOD
08e0: 49 4d 50 20 51 75 65 72 79 43 6f 6e 74 69 6e 75  IMP QueryContinu
08f0: 65 44 72 61 67 28 20 42 4f 4f 4c 2c 20 44 57 4f  eDrag( BOOL, DWO
0900: 52 44 20 29 3b 0d 0a 09 53 54 44 4d 45 54 48 4f  RD );...STDMETHO
0910: 44 49 4d 50 20 47 69 76 65 46 65 65 64 62 61 63  DIMP GiveFeedbac
0920: 6b 28 20 44 57 4f 52 44 20 29 3b 0d 0a 7d 3b 0d  k( DWORD );..};.
0930: 0a 0d 0a 23 65 6e 64 69 66 0d 0a                 ...#endif..