Exemplo n.º 1
0
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
 if( !CFrameWnd::PreCreateWindow(cs) )
  return FALSE;
 
 //устанавливаем позицию главного окна запомненную ранее, если это возможно
 if (m_OnGetInitialPos)
 {
  CPoint point;
  m_OnGetInitialPos(point);

  if (point.x != std::numeric_limits<int>::max() && point.y != std::numeric_limits<int>::max())
  {
   cs.x = point.x;
   cs.y = point.y;
  }
 }

 //устанавливаем необходимый размер главного окна. Windows непонятным образо м масштабирует диалоги (непропорционально DPI), поэтому
 //для каждого DPI подгоняем размеры
 DPIAware dpia;
 switch(dpia.GetDPIX())
 {
  case 72:
   cs.cx = dpia.ScaleX(965);
   break;    
  default:
  case 96:
   cs.cx = dpia.ScaleX(730); //OK
   break;    
  case 120:
   cs.cx = dpia.ScaleX(765);
   break;    
  case 144:
   cs.cx = dpia.ScaleX(795); //OK
   break;    
  case 192:
   cs.cx = dpia.ScaleX(730);
   break;    
 }
 switch(dpia.GetDPIY())
 {
  case 72:
   cs.cy = dpia.ScaleY(580);
   break;    
  default:
  case 96:
   cs.cy = dpia.ScaleY(455);
   break;    
 }

 cs.style = WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX;
 cs.dwExStyle &= ~WS_EX_CLIENTEDGE;
 cs.dwExStyle |= WS_EX_CONTROLPARENT;
 cs.lpszClass = AfxRegisterWndClass(0);
 return TRUE;
}
Exemplo n.º 2
0
BOOL CCheckEngineTabDlg::OnInitDialog()
{
 Super::OnInitDialog();

 m_quick_help_text.SetWindowText(MLL::LoadString(IDS_CEPAGE_QUICK_HELP_TEXT));

 m_errors_list.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES | LVS_EX_GRIDLINES);

 //устанавливаем картинки состояния для чекбоксов...
 m_errors_list.SetImageList(&m_image_list, LVSIL_STATE);

 DPIAware dpia;
 m_errors_list.InsertColumn(0, MLL::LoadString(IDS_CEPAGE_ERROR_STATE), LVCFMT_LEFT, dpia.ScaleX(70));
 m_errors_list.InsertColumn(1, _T("BC"), LVCFMT_LEFT, 35);
 m_errors_list.InsertColumn(2, MLL::LoadString(IDS_CEPAGE_ERROR_DESCRIPTION), LVCFMT_LEFT, 450);

 SetTimer(TIMER_ID,250,NULL);

 ResetErrorsList();

 m_header_ctrl->Init(m_errors_list.GetHeaderCtrl());
 m_header_ctrl->SetTextColor(m_gray_text_color);

 UpdateDialogControls(this,TRUE);
 return TRUE;  // return TRUE unless you set the focus to a control
}