Templates, Tools and Utilities for Clarion Developers
|
|
|
|
Icetips Article
Back to article list
Search Articles
Add Comment
Printer friendly
Direct link
Windows API: Getting handle of Clarion style metafiles - structure
2003-04-28 -- Ron Schofield
Newsgroups: comp.lang.clarion
typedef struct _PlaceableMetaHeader
{
DWORD Key; /* Magic number (always 9AC6CDD7h) */
WORD Handle; /* Metafile HANDLE number (always 0) */
SHORT Left; /* Left coordinate in metafile units */
SHORT Top; /* Top coordinate in metafile units */
SHORT Right; /* Right coordinate in metafile units */
SHORT Bottom; /* Bottom coordinate in metafile units */
WORD Inch; /* Number of metafile units per inch */
DWORD Reserved; /* Reserved (always 0) */
WORD Checksum; /* Checksum value for previous 10 WORDs */
} PLACEABLEMETAHEADER;
From http://www.wotsit.org/download.asp?f=wmf
"Steve Johnson - ThinkData Inc." wrote:
> That's what I was afraid of Do you happen to have the definition for
> the AldusHeader structure?
>
> Thanks
>
> Steve
>
> "Leonid Chudakov" wrote in message
> news:3ead9af0@news.softvelocity.com...
> > I'm using temporary files.
> >
> > !Check if it's Aldus style file
> > hFile = _lopen(ClarionMetafileName,2)
> > RetVal = _lread(hFile,Address(AldusHeader),22)
> > If AldusHeader.Key = 9AC6CDD7H Then !Aldus style file
> > !Create work wmf file
> > RetVal = GetTempPath(255,TempPath)
> > RetVal = GetTempFileName(TempPath,FilePrefix,0,TempFileName)
> > hTempFile = _lopen(TempFileName,2)
> > mfglbhnd = GlobalAlloc(BOR(GMEM_MOVEABLE,GMEM_ZEROINIT),
> > GetFileSize(hFile,0) - 22)
> > gptr = GlobalLock(mfglbhnd)
> > RetVal = _llseek(hFile,22,0)
> > RetVal = _hread(hFile, gptr, GetFileSize(hFile,0) - 22)
> > RetVal = _hwrite(hTempFile, gptr, GetFileSize(hFile,0) - 22)
> > RetVal = GlobalFree(mfglbhnd)
> > RetVal = _lclose(hTempFile)
> > hMeta = GetMetafile(TempFileName)
> > End
> >
> > "Steve Johnson - ThinkData Inc." wrote in
> > message news:3ead942b$1@news.softvelocity.com...
> > > How would one skip the first 22 bytes without writing a new temporary
> > file?
> > > Do you have an example of handling this?
> > >
> > > "Leonid Chudakov" wrote in message
> > > news:3ead9366@news.softvelocity.com...
> > > > Hi Steve,
> > > >
> > > > Clarion generates aldus style wmfs. You need to skip first 22 bytes
> and
> > > use
> > > > GetMetafile.
> > > >
> > > > --
> > > > --
> > > > Leonid Chudakov
> > > > chudakov@netzero.com
> > > > Cool tools and Clarion examples at
> > > > http://www.klarisoft.com
> > > > http://members.tripod.com/cwstuff/clarion_products.htm
> > > >
> > > > "Steve Johnson - ThinkData Inc." wrote
> in
> > > > message news:3ead8f41$1@news.softvelocity.com...
> > > > > I have tried both GetMetaFile and GetEnhMetaFile - neither one works
> > > > > properly. Do you have a working example of one of these API
> functions
> > > > > actually functioning with Clarion WMF files?
> > > > >
> > > > > "Sebastian Streiger" wrote in message
> > > > > news:3ead8e7c@news.softvelocity.com...
> > > > > > Steve:
> > > > > > There are two "Flavors" of Meta Files.
> > > > > > Windows Meta Files - Old windows metafil format
> > > > > > Enhanced Meta Files - New (win 95 I guess) file format
> > > > > > Both of this file format usually use the WMF file extension.
> You
> > > > have
> > > > > to
> > > > > > read the file header to know wich one of them you are dealing
> with.
> > > > > > Clarion Report engine generates EMF.
> > > > > > You will have to dig in MSDN.
> > > > > > Try this link
> > > > > >
> > > > >
> > > >
> > >
> >
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/metafil
> > > > > > e_0whf.asp
> > > > > >
> > > > > > Probably it won't work, cause MSDN is changes in it's navigation
> > tree
> > > > very
> > > > > > frequently.
> > > > > >
> > > > > > Bets regards
> > > > > >
> > > > > > --
> > > > > > Sebastián Streiger
> > > > > > Departamento Sistemas
> > > > > > Red Megatone
> > > > > > Tel: 0342-4502745
> > > > > > Int: 745
> > > > > > sstreige at redmegatone.com
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > "Steve Johnson - ThinkData Inc."
> > > escribió
> > > > > en
> > > > > > el mensaje news:3ead8947$1@news.softvelocity.com...
> > > > > > > Hi all -
> > > > > > >
> > > > > > > I'm having issues calling the GetMetaFile API function to
> retrieve
> > a
> > > > WMF
> > > > > > > file and convert it without using Clarion image controls. I
> have
> > it
> > > > > > > prototyped as follows:
> > > > > > >
> > > > > > > GetMetaFile(*cstring
> > > szMetaFile),long,pascal,raw,name('GetMetaFileA')
> > > > > > >
> > > > > > > No matter what I do, every time I call it and pass it the name
> of
> > a
> > > > > > Clarion
> > > > > > > generated WMF file I get no return value. Has anyone worked
> with
> > > WMF
> > > > > > files
> > > > > > > in this way?
> > > > > > >
> > > > > > > Thanks
> > > > > > >
> > > > > > > Steve Johnson
> > > > > > > ThinkData Inc.
> > > > > > > http://www.thinkdata.com
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
Today is November 21, 2024, 3:48 am This article has been viewed 35216 times.
Google search
has resulted in 112 hits on this article since January 25, 2004.
Back to article list
Search Articles
Add Comment
Printer friendly
|
|
|