Get Ready to Unleash the
Power of UCanCode .NET

UCanCode
Software focuses on general application software development. We provide complete solution for developers. No matter you want to develop a simple database
workflow application, or an large flow/diagram based system, our product will provide a complete solution for you. Our product had been used by hundreds of top companies around the world!

"100% source code provided! Free you from not daring to use components because of unable to master the key technology of components!"

Introduction

When I
posted an
article
discussing
the subject
of placing a
toolbar
right in the
middle of
elsewhere,
Daniel
Kaminsky
pointed out,
that the
tool tips
were not
displayed.

So I sat
down, and
placed the
line
EnableToolTips()
in my
dialogs
OnInitDialog
function.
And what
shall I tell
you, it did
not work.
Every dialog
and every
view showed
the
toolbar,
but no
tool tips,
or
occasionally
only very
odd ones
popped up.

Having a
look at the
help, there
it was
stated:

Simply
calling
EnableToolTips
is not
enough
to
display
tool
tips for
your
child
controls
unless
the
parent
window
is
derived
from
CFrameWnd.

And because
a
CDialog
or
CView
is not a
descendant
of
CFrameWnd
the tool
tips will
not get
displayed.
But a
solution was
also at the
bottom of
this
article,
which I
implemented
without
further
thinking. It
worked well
except to
the fact
that it
showed
something
like: "Your
mouse is
hovering
over the
control with
the ID
1234". That
was
something I
never used
as tool tip
text.
Because I
wanted the
text, stored
in the
resource of
the
toolbar
being
displayed, I
looked up
the source
codes of the
MFC itself.

The solution
provided
here is
solely from
the people
of
Microsoft.
My only
creative
part, is
finding the
places to
copy!

Step1

Create a
toolbar and
attach it to
your dialog.
Use the
normal
method of
creating a
variable of
type
CToolBar,
and ... (or
look at the
source). In
the creation
process
during
OnInit...(),
make sure
that the bar
style flag
CBRS_TOOLTIPS
is set.

Step 3

Open
WINFRM.CPP
in your
MFC-source
directory.
Copy the
complete
function
body of
BOOL
CFrameWnd::OnToolTipText(UINT,
NMHDR*
pNMHDR,
LRESULT*
pResult)
and paste it
just beneath
the new
written line
in your
dialogs/view
implementation
file. Do not
compile!

I told you
not to! Add
#include
<afxpriv.h>
either at
the
beginning of
the dialogs
header file
or elsewhere
in
stdafx.h.
Thus the
functions
AfxExtractSubString
and
AfxLoadString
are known.
Find the
following
lines in
AFXISAPI.H
(source
directory
for
MFC->Include)

Extroduction

If you have
no access to
the sources
of the MFC,
open the
sources of
the demo
project. I
did already
copy and
paste. If I
understand
right, what
is said in
the
documentation,
this will
work for any
CWnd
- window.
Like
CDialogs,
CViews,
CStatics,
CTreeCtrl
s, just to
name a few?
Happy
copying and
pasting.

Copyright ?1998-2009 UCanCode.Net Software , all rights reserved.
Other product and company names herein may be the trademarks of their respective owners.