Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: HIView embedder




On 30-nov-04, at 22:48, R. Scott Thompson wrote:

On Nov 30, 2004, at 3:42 PM, Jan E. Schotsman wrote:

Hello all,

What is the best way to programmatically create the HIView equivalent of a user pane?
With the Control Manager API can do it in one line:

CreateUserPaneControl( window, &bounds, kControlSupportsEmbedding, &userPane );


Why not just use:

HIObjectCreate (kHIViewClassID, nil, &userPane);

Unless you need to allocate your own custom data per-view or provide some really special processing, just a bare HIView should work fine.

Scott


Thanks Scott. So my replacement looks like this (error checking omitted):

void MyHICreateEmbedderPane( WindowRef window, HIRect hiBounds, HIViewRef *userPane )
{
HIViewRef root = HIViewGetRoot( window );


HIObjectCreate( kHIViewClassID, nil, (HIObjectRef *)userPane );


HIViewChangeAttributes( *userPane, kHIViewAllowsSubviews, 0 );

HIViewAddSubview( root, *userPane );

HIViewSetFrame( *userPane, &hiBounds );
}

That's still 5 lines of code to get rid of the Control Manager function.

Jan
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Carbon-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/carbon-dev/email@hidden

This email sent to email@hidden

References: 
 >HIView embedder (From: "Jan E. Schotsman" <email@hidden>)
 >Re: HIView embedder (From: "R. Scott Thompson" <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.