tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

ComboDialog.cpp (1333B)


      1 // ComboDialog.cpp
      2 
      3 #include "StdAfx.h"
      4 #include "ComboDialog.h"
      5 
      6 #include "../../../Windows/Control/Static.h"
      7 
      8 #ifdef LANG
      9 #include "LangUtils.h"
     10 #endif
     11 
     12 using namespace NWindows;
     13 
     14 bool CComboDialog::OnInit()
     15 {
     16  #ifdef LANG
     17  LangSetDlgItems(*this, NULL, 0);
     18  #endif
     19  _comboBox.Attach(GetItem(IDC_COMBO));
     20 
     21  /*
     22  // why it doesn't work ?
     23  DWORD style = _comboBox.GetStyle();
     24  if (Sorted)
     25    style |= CBS_SORT;
     26  else
     27    style &= ~CBS_SORT;
     28  _comboBox.SetStyle(style);
     29  */
     30  SetText(Title);
     31  
     32  NControl::CStatic staticContol;
     33  staticContol.Attach(GetItem(IDT_COMBO));
     34  staticContol.SetText(Static);
     35  _comboBox.SetText(Value);
     36  FOR_VECTOR (i, Strings)
     37    _comboBox.AddString(Strings[i]);
     38  NormalizeSize();
     39  return CModalDialog::OnInit();
     40 }
     41 
     42 bool CComboDialog::OnSize(WPARAM /* wParam */, int xSize, int ySize)
     43 {
     44  int mx, my;
     45  GetMargins(8, mx, my);
     46  int bx1, bx2, by;
     47  GetItemSizes(IDCANCEL, bx1, by);
     48  GetItemSizes(IDOK, bx2, by);
     49  int y = ySize - my - by;
     50  int x = xSize - mx - bx1;
     51 
     52  InvalidateRect(NULL);
     53 
     54  MoveItem(IDCANCEL, x, y, bx1, by);
     55  MoveItem(IDOK, x - mx - bx2, y, bx2, by);
     56  ChangeSubWindowSizeX(_comboBox, xSize - mx * 2);
     57  return false;
     58 }
     59 
     60 void CComboDialog::OnOK()
     61 {
     62  _comboBox.GetText(Value);
     63  CModalDialog::OnOK();
     64 }