Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Do not work DoModal() for font change:

Do not work DoModal() for font change:

Scheduled Pinned Locked Moved C / C++ / MFC
comhelpquestion
1 Posts 1 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V Offline
    V Offline
    vgrigor
    wrote on last edited by
    #1

    Idea: to compensate font change by inverse change of CDialog's font, to make controls look same. It wors for modeLess Creation, but for Modal - ActiveX - in my case Windowless ActiveX- do not created after ew template use. Where is error or bot made some work? Private members get in Macro defining CDialog function, that called GetDoModalData() to get Them, Functionality of creation Cdialog with font change placed in inheritable class class CDlgHead : public CBitmapDialog , public CDialogCreatorHelper //CDialog All works except for ActiveX-Windowless - as I tested: //Call as: CDlgHead dlg; dlg.GetDoModalData(); dlg.Create_WithFont(IDD_Form_1,pParent,0,-1); //0 - Create ModeLess, 1 Modal, //-1 - compensate font size automatically class CDlgHead : public CBitmapDialog , public CDialogCreatorHelper //CDialog { public: //------------------------------------------- //Definitions: DEFINE_DoModalData; } #define DEFINE_DoModalData \ virtual void GetDoModalData() { \ pCopy_m_lpszTemplateName = &m_lpszTemplateName; \ pCopy_m_hDialogTemplate = &m_hDialogTemplate; \ pCopy_m_lpDialogTemplate = &m_lpDialogTemplate; \ pCopy_m_nIDHelp = &m_nIDHelp; \ pCopy_m_pParentWnd = &m_pParentWnd; \ pCopy_m_hWndTop = &m_hWndTop; \ }; class CDoModalData { public: CDoModalData() { //GetDoModalData(); }; LPCTSTR* pCopy_m_lpszTemplateName; HGLOBAL* pCopy_m_hDialogTemplate; LPCDLGTEMPLATE* pCopy_m_lpDialogTemplate; UINT* pCopy_m_nIDHelp; CWnd** pCopy_m_pParentWnd; HWND* pCopy_m_hWndTop ; virtual void GetDoModalData()=0; }; /* pCopy_m_lpszTemplateName = &m_lpszTemplateName; // name or MAKEINTRESOURCE pCopy_m_hDialogTemplate = &m_hDialogTemplate; // indirect (m_lpDialogTemplate == NULL) pCopy_m_lpDialogTemplate = &m_lpDialogTemplate; // indirect if (m_lpszTemplateName == NULL) */ template class CDialogCreatorHelper :public CDoModalData { public: CDialogCreatorHelper(void) { //dlg_T::GetDoModalData(); }; ~CDialogCreatorHelper(void){}; virtual void GetDoModalData() =0 ; CString m_FontName; int m_FontSize; //CDialog* pDialog; //int Create(int IDD,CDialog* pDialog, CWnd* pParentW

    1 Reply Last reply
    0
    Reply
    • Reply as topic
    Log in to reply
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes


    • Login

    • Don't have an account? Register

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • World
    • Users
    • Groups