summaryrefslogtreecommitdiffabout
path: root/PumpKINDlg.cpp
Unidiff
Diffstat (limited to 'PumpKINDlg.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--PumpKINDlg.cpp84
1 files changed, 82 insertions, 2 deletions
diff --git a/PumpKINDlg.cpp b/PumpKINDlg.cpp
index 4cb1633..9786ef0 100644
--- a/PumpKINDlg.cpp
+++ b/PumpKINDlg.cpp
@@ -131,2 +131,6 @@ void CPumpKINDlg::DoDataExchange(CDataExchange* pDX)
131 //{{AFX_DATA_MAP(CPumpKINDlg) 131 //{{AFX_DATA_MAP(CPumpKINDlg)
132 DDX_Control(pDX, ID_HELP, m_HelpCtl);
133 DDX_Control(pDX, IDC_PUT, m_PutCtl);
134 DDX_Control(pDX, IDC_GET, m_GetCtl);
135 DDX_Control(pDX, IDC_EXIT, m_ExitCtl);
132 DDX_Control(pDX, IDC_LISTENING, m_ListenCtl); 136 DDX_Control(pDX, IDC_LISTENING, m_ListenCtl);
@@ -158,2 +162,3 @@ BEGIN_MESSAGE_MAP(CPumpKINDlg, CDialog)
158 ON_COMMAND(ID_TRAY_SHOWPUMPKINWINDOW, OnTrayShowpumpkinwindow) 162 ON_COMMAND(ID_TRAY_SHOWPUMPKINWINDOW, OnTrayShowpumpkinwindow)
163 ON_COMMAND(ID_TRAY_LISTEN, OnTrayListen)
159 ON_COMMAND(ID_TRAY_EXIT, OnTrayExit) 164 ON_COMMAND(ID_TRAY_EXIT, OnTrayExit)
@@ -170,3 +175,4 @@ BEGIN_MESSAGE_MAP(CPumpKINDlg, CDialog)
170 ON_BN_CLICKED(IDC_LISTENING, OnListening) 175 ON_BN_CLICKED(IDC_LISTENING, OnListening)
171 ON_COMMAND(ID_TRAY_LISTEN, OnTrayListen) 176 ON_WM_GETMINMAXINFO()
177 ON_WM_SIZE()
172 //}}AFX_MSG_MAP 178 //}}AFX_MSG_MAP
@@ -203,3 +209,2 @@ BOOL CPumpKINDlg::OnInitDialog()
203 209
204
205 m_Images.Create(16,16,TRUE,2,1); 210 m_Images.Create(16,16,TRUE,2,1);
@@ -227,2 +232,16 @@ CRect listrc;
227 232
233CRect wrci, wrco;
234 GetWindowRect(&wrco);
235 GetClientRect(&wrci);
236CRect brc;
237 m_GetCtl.GetWindowRect(&brc); ScreenToClient(&brc);
238 m_rightGapButtons = wrci.right-brc.right;
239 m_List.GetWindowRect(&brc); ScreenToClient(&brc);
240 m_rightGapList = wrci.right-brc.right;
241 m_ListenCtl.GetWindowRect(&brc); ScreenToClient(&brc);
242 m_bottomGapListen = wrci.bottom-brc.bottom;
243 m_Log.GetWindowRect(&brc);ScreenToClient(&brc);
244 m_bottomGapLog = wrci.bottom-brc.bottom;
245 m_MinSize.cx = wrco.Width(); m_MinSize.cy=wrco.Height();
246
228CRect rc, drc; 247CRect rc, drc;
@@ -2079 +2098,62 @@ void CPumpKINDlg::LogLine(LPCTSTR str)
2079} 2098}
2099
2100void CPumpKINDlg::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)
2101{
2102 CDialog::OnGetMinMaxInfo(lpMMI);
2103 if(m_MinSize.cx>0 && m_MinSize.cy>0){
2104 lpMMI->ptMinTrackSize.x = m_MinSize.cx;
2105 lpMMI->ptMinTrackSize.y = m_MinSize.cy;
2106 }
2107}
2108
2109void CPumpKINDlg::OnSize(UINT nType, int cx, int cy)
2110{
2111 CDialog::OnSize(nType, cx, cy);
2112 if(nType==SIZE_RESTORED)
2113 RecalcLayout(cx,cy);
2114}
2115
2116void CPumpKINDlg::RecalcLayout(int,int)
2117{
2118 CRect wrc;
2119 GetClientRect(&wrc);
2120 AdjustButton(m_GetCtl,wrc);
2121 AdjustButton(m_PutCtl,wrc);
2122 AdjustButton(m_AbortCtl,wrc);
2123 AdjustButton(m_HelpCtl,wrc);
2124 AdjustButton(m_ExitCtl,wrc);
2125 AdjustButton(m_OptionsCtl,wrc);
2126 CRect brc;
2127 m_List.GetWindowRect(&brc); ScreenToClient(&brc);
2128 m_List.SetWindowPos(
2129 0,
2130 brc.left, brc.top,
2131 wrc.right-m_rightGapList-brc.left, brc.bottom-brc.top,
2132 SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOZORDER|SWP_NOCOPYBITS );
2133 m_Log.GetWindowRect(&brc); ScreenToClient(&brc);
2134 m_Log.SetWindowPos(
2135 0,
2136 brc.left, brc.top,
2137 wrc.right-m_rightGapButtons-brc.left, wrc.bottom-m_bottomGapLog-brc.top,
2138 SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOZORDER|SWP_NOCOPYBITS );
2139 m_ListenCtl.GetWindowRect(&brc); ScreenToClient(&brc);
2140 m_ListenCtl.SetWindowPos(
2141 0,
2142 wrc.right-brc.Width()-m_rightGapButtons, wrc.bottom-brc.Height()-m_bottomGapListen,
2143 0,0,
2144 SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOSIZE|SWP_NOZORDER|SWP_NOCOPYBITS );
2145 int i = m_Log.GetCount();
2146 if(i!=LB_ERR)
2147 m_Log.SetCurSel(i-1);
2148}
2149
2150void CPumpKINDlg::AdjustButton(CWnd& w,CRect& wrc)
2151{
2152 CRect brc;
2153 w.GetWindowRect(&brc); ScreenToClient(&brc);
2154 w.SetWindowPos(
2155 0,
2156 wrc.right-brc.Width()-m_rightGapButtons, brc.top,
2157 0, 0,
2158 SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOSIZE|SWP_NOZORDER|SWP_NOCOPYBITS );
2159}