Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
GraphEdit Property Pages vs. Code
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  5 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Alessandro Angeli  
View profile  
 More options Aug 15 2002, 1:46 pm
Newsgroups: microsoft.public.multimedia.directx.dshow.programming
From: "Alessandro Angeli" <a.angeli.REM...@sogetel.REMOVE.it>
Date: Thu, 15 Aug 2002 19:24:42 +0200
Local: Thurs, Aug 15 2002 1:24 pm
Subject: Re: GraphEdit Property Pages vs. Code
The pins' pages are added by GraphEdit, they're not supplied by the filter.

"Curt Peterson" <c...@NsOtSrPiAkMeMfIoNrGcMeEsoftware.com> wrote in message

news:cCQ69.371$wj.185224@news.uswest.net...


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Alessandro Angeli  
View profile  
 More options Aug 16 2002, 6:17 am
Newsgroups: microsoft.public.multimedia.directx.dshow.programming
From: "Alessandro Angeli" <a.angeli.REM...@sogetel.REMOVE.it>
Date: Fri, 16 Aug 2002 11:43:54 +0200
Local: Fri, Aug 16 2002 5:43 am
Subject: Re: GraphEdit Property Pages vs. Code
GraphEdit is likely to do something like the following:

- invoke ISpecifyPropertyPages::GetPages() on the filter
- list the filter pins via IBaseFilter::EnumPins()
- get each pin's name from IPin::QueryPinInfo()
- get each pin's media type from IPin::ConnectionMediaType()
  or, if the pin is not connected, its list of preferred
  media types from IPin::EnumMediaTypes()
- create the property frame using either OleCreatePropertyFrame()
  or creating it's own dialog
- display the filter's IPropertyPage's and it's own panels
  for the pins

"Curt Peterson" <c...@NsOtSrPiAkMeMfIoNrGcMeEsoftware.com> wrote in message

news:06_69.601$Tj3.384682@news.uswest.net...


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Alessandro Angeli  
View profile  
 More options Aug 16 2002, 1:18 pm
Newsgroups: microsoft.public.multimedia.directx.dshow.programming
From: "Alessandro Angeli" <a.angeli.REM...@sogetel.REMOVE.it>
Date: Fri, 16 Aug 2002 19:06:38 +0200
Local: Fri, Aug 16 2002 1:06 pm
Subject: Re: GraphEdit Property Pages vs. Code
I have no experience with OleCreatePropertyFrame(), however you could try to
create and register your own implementation of the IPropertyPage for the
pin, then pass to OleCreatePropertyFrame() an array containing the GUIDs of
the filter pages you want to display and the GUID of your pin page, one for
each pin. Pass also the pin pointers in the objects' array so that your
pages will receive those pointers (you can distinguish them querying for
IPin) and you can then display the relevant informations. Can't guarantee
that works.

"Curt Peterson" <c...@NsOtSrPiAkMeMfIoNrGcMeEsoftware.com> wrote in message

news:nh779.986$wj.308150@news.uswest.net...

> "Alessandro Angeli" <a.angeli.REM...@sogetel.REMOVE.it> wrote in message
> news:#PPE3wQRCHA.2556@tkmsftngp09...
> > GraphEdit is likely to do something like the following:

> > > - create the property frame using either OleCreatePropertyFrame()
> >   or creating it's own dialog
> > - display the filter's IPropertyPage's and it's own panels
> >   for the pins

> Thanks for your response! One last question. Is there a way to add a panel

to the Property Pages
> referenced in OleCreatePropertyFrame()? Or, if that won't work, is there a

way to extract the dialog
> information from the CAUUID object? I was suspecting the first method,

since the additional pages
> seem to be simple Text - based "reports" rather than dialog controls.

> I could make my own second dialog, or whatever, but it seems that

GraphEdit's method is cleaner.
> I have spent quite a bit of time trying to do some of the things GraphEdit

can do, and have been


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "OleCreatePropertyFrame" by Alessandro Angeli
Alessandro Angeli  
View profile  
 More options Aug 19 2002, 10:14 am
Newsgroups: microsoft.public.multimedia.directx.dshow.programming
From: "Alessandro Angeli" <a.angeli.REM...@sogetel.REMOVE.it>
Date: Mon, 19 Aug 2002 15:55:57 +0200
Local: Mon, Aug 19 2002 9:55 am
Subject: Re: OleCreatePropertyFrame

> I don't mind creating a property page for my own COM objects, but since
> GraphEdit doesn't need it, I shouldn't either.

> Does anyone out there have an intimate knowledge of OleCreatePropertyFrame
> or the methods GraphEdit might use to do this? Being fairly new to COM and

Why do you say GE doesn't need it? There are only 3 ways Windows provides so
that an application can perform such a task, and GE must use one of those
since it's just a windowed application.

1. you create your own frame to host the filter's property pages and other
informations about the pins
2. you use OleCreatePropertyFrame() to host the filter's pages, but to add
other informations you need to disguise them as other IPropertyPage's
3. you use OleCreatePropertyFrame() and hack into the created frame's HWND
hierarchy to add other components to display the pins' informations

I should add that GE doesn't import OleCreatePropertyFrame() or
OleCreatePropertyFrameIndirect(), so it's likely it uses the first way.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Alessandro Angeli  
View profile  
 More options Aug 19 2002, 2:21 pm
Newsgroups: microsoft.public.multimedia.directx.dshow.programming
From: "Alessandro Angeli" <a.angeli.REM...@sogetel.REMOVE.it>
Date: Mon, 19 Aug 2002 20:09:42 +0200
Local: Mon, Aug 19 2002 2:09 pm
Subject: Re: OleCreatePropertyFrame
What I think GraphEdit does is not use OleCreatePropertyFrame() at all but
it creates its very own frame, so that it does not need to either "hack" the
frame or fake property pages for the pins.

Hosting an IPropertyPage is IMHO easier than creating a page.

1. create the window/dialog/component to host the pages
2. create an IPropertyPageSite to wrap the window
3. query the filter for its pages' GUIDs with
ISpecifyPropertyPages::GetPages()
4. then CoCreateInstance() each page you want to display
5. initialize each page passing an instance of your IPropertyPageSite to
IPropertyPage::SetPageSite() and a pointer to the IBaseFilter in
SetObjects().
6. Activate() it with the HWND of its container
7. Show() it
8. ...

You can read a description of how the OLE frame implementation works in the
PSDK:

\Platform SDK Documentation
 \Component Services
  \COM
   \Control and Property Pages
    \Guide
     \Property Pages and Property Sheets
      \Property Sheets and Property Pages
    \Reference
     \Interfaces
      \IPropertyPage
      \IPropertyPageSite
      \IPropertyPageSite - Ole Implementation

"Curt Peterson" <c...@NsOtSrPiAkMeMfIoNrGcMeEsoftware.com> wrote in message

news:5A989.2751$Tj3.1186875@news.uswest.net...


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google