Outlook 2003 - Subclassing Appointment Form

G

Guest

This question is for Outlook 2003 specifically.

I have a requirement to extend native Appointment form and add couple of
fields on it. It is not possible using design custom form.

Choices I have for above requirement is :
(1) Design tab P-2 using custom form, hide original appoinment tab and ship
this custom oft plus bunch of activex controls to achieve to near-same
usability as native form
(2) Add 2 fields in native outlook form by subclassing it

Second option seems better because it is better usability-wise,
maintenance-wise, deployment-wise, keeping-users-customizations etc.


Question:
-----------
Did you come across details of implementing subclassing.

Basic logic involves Getting hwnd from an appointment inspector and
Replacing the window procedure with your own code ( SetWindowLong ).

I am looking for details/codesnippet of implementing this subclassing.

Appreciate all pointers / code snippets / links.
 
K

Ken Slovak - [MVP - Outlook]

I wouldn't do that. It's a great way to one-off your form.

I'd either add a control to open a separate form to show the 2 needed fields
to the menus of the Outlook item or I'd proxy the original Outlook form by
handling NewInspector and not displaying the Outlook form and displaying an
alternate form that has all the UI you want.




"newToOutlookProgramming"
 
G

Guest

Hi,

I did consider adding a control to open a separate form , but it has
usability issue.
I also prototyped displaying an alternate form, but it also involves
rebuilding a lot of functionality which comes free in native outlook form
like all the menus (File ....etc), Scheduling Tab etc.
Also considered hiding just appointment tab, and building tab P-2 & renaming
it. this requires lot of activex controls for date-time, reminder, sound,
label etc etc fields because these are not in custom form toolbox.

So, Prototyping using Subclassing mechanism is atleast worth trying. Why
would a form be one-offed by this?

My requirement is to add few fields on appoitnment from from local database,
and NOT loose any native functionality at the same time.

Hence, looking for details/codesnippet of implementing subclassing
appointment form.

thanks
 
K

Ken Slovak - [MVP - Outlook]

It would one-off the form because you'd be adding controls to it on the fly.
That's guaranteed to do that. If you insist on this method I can't help you
any further because it's so wrong.




"newToOutlookProgramming"
 
G

Guest

----This question is for outlook 2003------

Hi,

(1) Can you help me jot down some cons (actually I need several) for this
approach (subclassing) .

I did prototype the way you suggested (proxy the original Outlook form by
handling NewInspector and not displaying the Outlook form and displaying an
alternate form), but it looses a lot of default functionality of the
appointment, re-building all of which is a lot of effort.

(2) Alternatively, Is it possible to add a 2 editable textboxes in the
custom-bar in the apppointment inspector via a addin ?

thanks again
 
A

Andrei Smolin

Hi,

Add-in Express allows COM add-ins to embed a custom NET or Borland VCL form
into Outlook Inspector windows. See the second screenshot on
http://www.add-in-express.com/outlook-extension/. It is an animated gif, so
please wait a little to let it show a message window. This feature works for
all Outlook Inspectors (task, appointment, contact, etc) whether they show a
built-in form or a custom one.

In addition, it allows embedding a custom .NET contol onto Office toolbars.
See http://www.add-in-express.com/office-toolbar-controls/.

Please note, the web-site provides a Feedback form (say, on the Support
page). Please use it if you have any questions.

Regards from Belarus,

Andrei Smolin
Add-in Express Team Leader
www.add-in-express.com



"newToOutlookProgramming"
 
K

Ken Slovak - [MVP - Outlook]

1. You have to do your own research and decision making about the pros and
cons of any approach.

2. Not using CommandBar controls, no.




"newToOutlookProgramming"
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top