I forgot to select the write font into the dc before calling GetTextExtent.
AliR.
Oops the attachements didn't get attached.
/////////////////////////////////////////////////////////////
//AutoWidthButton.h
#pragma once
// CAutoWidthButton
class CAutoWidthButton : public CButton
{
 DECLARE_DYNAMIC(CAutoWidthButton)
public:
 CAutoWidthButton();
 virtual ~CAutoWidthButton();
protected:
   afx_msg LRESULT OnSetText(WPARAM wParam,LPARAM lParam);
 DECLARE_MESSAGE_MAP()
   virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
   virtual void PreSubclassWindow();
private:
   void ResizeButton();
};
/////////////////////////////////////////////////////////////
// AutoWidthButton.cpp : implementation file
//
#include "stdafx.h"
#include "DynamicButtonWidth.h"
#include "AutoWidthButton.h"
#include ".\autowidthbutton.h"
// CAutoWidthButton
IMPLEMENT_DYNAMIC(CAutoWidthButton, CButton)
CAutoWidthButton::CAutoWidthButton()
{
}
CAutoWidthButton::~CAutoWidthButton()
{
}
BEGIN_MESSAGE_MAP(CAutoWidthButton, CButton)
   ON_MESSAGE(WM_SETTEXT,OnSetText)
END_MESSAGE_MAP()
// CAutoWidthButton message handlers
BOOL CAutoWidthButton::PreCreateWindow(CREATESTRUCT& cs)
{
   if (CButton::PreCreateWindow(cs))
   {
      ResizeButton();
      return TRUE;
   }
   return FALSE;
}
void CAutoWidthButton::PreSubclassWindow()
{
   CButton::PreSubclassWindow();
   ResizeButton();
}
LRESULT CAutoWidthButton::OnSetText(WPARAM wParam,LPARAM lParam)
{
   LRESULT Result = Default();
   ResizeButton();
   return Result;
}
void CAutoWidthButton::ResizeButton()
{
   CDC *pDC = GetDC();
   CString Text;
   GetWindowText(Text);
   CRect Rect;
   GetWindowRect(&Rect);
   CSize Size = pDC->GetTextExtent(Text);
   SetWindowPos(NULL,0,0,Size.cx +
10,Rect.Height(),SWP_NOMOVE|SWP_NOZORDER);
   ReleaseDC(pDC);
}
AliR.
"AliR" <AliR@online.nospam> wrote in message
news:444e6f11$0$14896$a8266bb1@reader.corenews.com...
Try this
AliR.
"Eric Margheim" <NOSPAM***eric@prism-grp.com***NOSPAM> wrote in message
news:u$EUmbIaGHA.4292@TK2MSFTNGP04.phx.gbl...
I'd like to dynamically change the size of my CButton derived control
based
upon the text/bitmap size.    So if the application calls