/* * readInResourceFile */ static bool readInResourceFile( char *fullname ) { BYTE *data; uint_32 dsize; WRInfo *info; WRSelectImageInfo *sii; WPI_PROC cb; bool ok; info = NULL; sii = NULL; data = NULL; ok = (fullname != NULL); if( ok ) { info = WRLoadResource( fullname, WR_DONT_KNOW ); ok = (info != NULL); } if( ok ) { cb = _wpi_makeprocinstance( (WPI_PROC)IEHelpCallBack, Instance ); sii = WRSelectImage( HMainWindow, info, cb ); _wpi_freeprocinstance( cb ); ok = (sii != NULL && sii->lnode != NULL); } if( ok ) { if( sii->type == (uint_16)(pointer_int)RT_BITMAP ) { imgType = BITMAP_IMG; data = WRCopyResData( info, sii->lnode ); dsize = sii->lnode->Info.Length; ok = (data != NULL); if( ok ) { ok = WRAddBitmapFileHeader( &data, &dsize ); } } else if( sii->type == (uint_16)(pointer_int)RT_GROUP_CURSOR ) { imgType = CURSOR_IMG; ok = WRCreateCursorData( info, sii->lnode, &data, &dsize ); } else if( sii->type == (uint_16)(pointer_int)RT_GROUP_ICON ) { imgType = ICON_IMG; ok = WRCreateIconData( info, sii->lnode, &data, &dsize ); } else { imgType = UNDEF_IMG; ok = false; } } if( ok ) { if( sii->type == (uint_16)(pointer_int)RT_BITMAP ) { ok = ReadBitmapFromData( data, fullname, info, sii->lnode ); } else if( sii->type == (uint_16)(pointer_int)RT_GROUP_CURSOR ) { ok = ReadCursorFromData( data, fullname, info, sii->lnode ); } else if( sii->type == (uint_16)(pointer_int)RT_GROUP_ICON ) { ok = ReadIconFromData( data, fullname, info, sii->lnode ); } } if( sii != NULL ) { WRFreeSelectImageInfo( sii ); } if( data != NULL ) { MemFree( data ); } return( ok ); } /* readInResourceFile */
/* * IEStartDDEEditSession */ BOOL IEStartDDEEditSession( void ) { char *filename; HDDEDATA hData; void *data; DWORD ret; uint_32 size; BOOL ok; data = NULL; filename = NULL; ok = (EditFormat != DDENone); if( ok ) { hData = DdeClientTransaction( NULL, 0, IEClientConv, hFileItem, IEClipFormats[EditFormat].format, XTYP_REQUEST, TIME_OUT, &ret ); ok = (hData != (HDDEDATA)NULL); } if( ok ) { ok = IEHData2Mem( hData, (void **)&filename, &size ); DdeFreeDataHandle( hData ); } if( ok ) { hData = DdeClientTransaction( NULL, 0, IEClientConv, hDataItem, IEClipFormats[EditFormat].format, XTYP_REQUEST, TIME_OUT, &ret ); } if( ok ) { if( hData != (HDDEDATA)NULL ) { ok = IEHData2Mem( hData, &data, &size ); DdeFreeDataHandle( hData ); } } if( ok ) { switch( EditFormat ) { case DDEBitmap: if( data != NULL ) { ok = ReadBitmapFromData( data, filename, NULL, NULL ); } else { ok = NewImage( BITMAP_IMG, NULL ); } break; case DDECursor: if( data != NULL ) { ok = ReadCursorFromData( data, filename, NULL, NULL ); } else { ok = NewImage( CURSOR_IMG, NULL ); } break; case DDEIcon: if( data != NULL ) { ok = ReadIconFromData( data, filename, NULL, NULL ); } else { ok = NewImage( ICON_IMG, NULL ); } break; default: ok = false; break; } } if( filename != NULL ) { MemFree( filename ); } if( data != NULL ) { MemFree( data ); } return( ok ); } /* IEStartDDEEditSession */