WTL

とりあえず、ウィンドウスプリットしてみたり、DDXしてみたりしてますが、使いやすいですね。

class CNewProjectDlg
  : public CDialogImpl< CNewProjectDlg >
  , public CWinDataExchange< CNewProjectDlg >
{
public:
  enum {
    IDD = IDD_NEW_PROJECT,
  };

  CNewProjectDlg();
  virtual ~CNewProjectDlg();

  // DDXマップ
  BEGIN_DDX_MAP( CNewProjectDlg )
    DDX_CONTROL_HANDLE( IDC_PROJECTNAME, m_cProjectName )
    DDX_CONTROL_HANDLE( IDC_PROJECTPATH, m_cProjectPath )
    DDX_TEXT( IDC_PROJECTNAME, m_sProjectName )
    DDX_TEXT( IDC_PROJECTPATH, m_sProjectPath )
  END_DDX_MAP()

  // 公開メンバ
  CEdit    m_cProjectName;
  CEdit    m_cProjectPath;
  CString	  m_sProjectName;
  CString	  m_sProjectPath;

  // メッセージマップ
  BEGIN_MSG_MAP( CNewProjectDlg )
    MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog )
    COMMAND_ID_HANDLER( IDOK, OnOk )
    COMMAND_ID_HANDLER( IDCANCEL, OnCancel )
  END_MSG_MAP()

  // メッセージハンドラ
  LRESULT OnInitDialog( UINT, WPARAM, LPARAM, BOOL& );
  LRESULT OnOk( WORD, WORD, HWND, BOOL& );
  LRESULT OnCancel( WORD, WORD, HWND, BOOL& );
};

といった感じでWindowsプログラミング。マクロがあるけど、まぁぱっと見わかりやすいし、ご愛嬌。MFCには二度と帰れないような気がします。