<p>So odd situation that I ran into today with OrderBy:</p>

<pre><code>Func&lt;SomeClass, int&gt; orderByNumber = 
  currentClass =&gt; 
   currentClass.SomeNumber;
</code></pre>

<p>Then:</p>

<pre><code>someCollection.OrderBy(orderByNumber);
</code></pre>

<p>This is fine, but I was going to create a method instead because it might be usable somewhere else other than an orderBy.</p>

<pre><code>private int ReturnNumber(SomeClass currentClass)
{
  return currentClass.SomeNumber;
}
</code></pre>

<p>Now when I try to plug that into the OrderBy:</p>

<pre><code>someCollection.OrderBy(ReturnNumber);
</code></pre>

<p>It can't infer the type like it can if I use a Func.  Seems like to me they should be the same since the method itself is "strongly typed" like the Func.</p>

<p>Side Note: I realize I can do this:</p>

<pre><code>Func&lt;SomeClass, int&gt; orderByNumber = ReturnNumber;
</code></pre>

I believe you still have to enable the tooltip, even though you are replacing the builtin.
```
```
EnableToolTips(TRUE);
```
```
Well, since that did not work for you and since no-one more expert has offered any help, here a few more suggestions from me.  Although they are lame, they might get you moving again:
Make sure your OnCreate() rotine is actually being executed.
Enable the tool tip BEFORE you replace it.
The code I use to do this looks like this. ( I confess I do not understand all the details, I copied it from some sample code, it worked and so I never looked at it any more. )
// Enable the standard tooltip
EnableToolTips(TRUE);
// Disable the builtin tooltip
CToolTipCtrl* pToolTipCtrl = (CToolTipCtrl*)CWnd::FromHandle((HWND)::SendMessage(m_hWnd, LVM_GETTOOLTIPS, 0, 0L));