` Printed Icetips Article

Icetips Article



Windows API: Enumerating Clarion Tab Windows
2002-12-17 -- Jim Kane
 
Newsgroups: TopSpeed.Topic.Language


it looks like x-spy that comes with visual c.
the key info is that the window you want is a child of the client area. To
get the hwnd, enumchildwindows() and for each window found call
getclassname() untill you find cla$tab or what ever it is you want.  Once
you have the hwnd, call getwindowtext() to read the text.  you can also call
getwindowlong() to read the style and find the first tab - the one with the
ws_group style.  Once you have that you can read the others in order with
getnextdlggroupitem() or soon as you find one tab in the enumeration use
that api to with the direction flag set to true to move thru the tabs to the
first tab then reverse teh direction flag and go to the last to get all of
them.
I've always found the clarion properties and event relating to tabs to be
adequate for anything I wanted so I'm curious what your trying to do?  May
be a little drawicon()?
Jim Kane

"Jim Gambon"  wrote in message
news:3e0005dc@news.softvelocity.com...
> Hi Larry,
>
> > Good luck, here's what I know about the property sheet and tabs.
> >
> > The sheet window and all tab windows are children of the window's client
> area.  That is
> > the tabs are not children of the sheet's window
>
> You have found out, basically, what I've found out. I've sub-classed, and
> I've enumerated child windows looking for a hidden key into this thing,
but
> I have not found it (yet). Someone else sent me some clever code that
traces
> around the visible sheet using WindowFromPoint. I'm beginning to wonder if
> this is the only possible solution.
>
> > The sheet's window is created like this:
>
> Nicely presented. Do you use a home-made, or store-bought spy tool for
this?
>
> Thanks you very much for the response.
>
> Regards,
>
> Jim
>
>
>
>



Printed May 4, 2024, 8:14 pm
This article has been viewed/printed 35113 times.
Google search has resulted in 44 hits on this article since January 25, 2004.