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
2003-04-28 -- Leonid Chudakov
Newsgroups: comp.lang.clarion
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:30 am This article has been viewed 35225 times.
Google search
has resulted in 137 hits on this article since January 25, 2004.
Back to article list
Search Articles
Add Comment
Printer friendly
|
|
|