diff options
author | George Hazan <ghazan@miranda.im> | 2022-06-12 16:05:08 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2022-06-12 16:05:08 +0300 |
commit | f2b19e75ca2d8381eb501b7a39c30fc94b796ad4 (patch) | |
tree | 0d7d039043b7414f3283cc08063e1e399f649b64 /src/core/stduserinfo | |
parent | e0edef78dc6d374eb466cee54b825cbe31ae4a64 (diff) |
StdUserInfo: custom resizers for the predefined dialogs
Diffstat (limited to 'src/core/stduserinfo')
-rw-r--r-- | src/core/stduserinfo/src/contactinfo.cpp | 36 | ||||
-rw-r--r-- | src/core/stduserinfo/src/stdinfo.cpp | 24 |
2 files changed, 51 insertions, 9 deletions
diff --git a/src/core/stduserinfo/src/contactinfo.cpp b/src/core/stduserinfo/src/contactinfo.cpp index df0895005b..475c0d3de0 100644 --- a/src/core/stduserinfo/src/contactinfo.cpp +++ b/src/core/stduserinfo/src/contactinfo.cpp @@ -241,22 +241,15 @@ public: if (hHandCursor == nullptr)
hHandCursor = LoadCursor(nullptr, IDC_HAND);
- RECT rc;
- GetClientRect(m_emails.GetHwnd(), &rc);
- rc.right -= GetSystemMetrics(SM_CXVSCROLL);
-
LVCOLUMN lvc;
lvc.mask = LVCF_WIDTH;
m_emails.SetExtendedListViewStyleEx(LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP, LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP);
m_phones.SetExtendedListViewStyleEx(LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP, LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP);
- lvc.cx = rc.right / 4;
+ lvc.cx = 50;
m_emails.InsertColumn(0, &lvc);
m_phones.InsertColumn(0, &lvc);
- lvc.cx = rc.right - rc.right / 4 - 40;
m_emails.InsertColumn(1, &lvc);
- lvc.cx = rc.right - rc.right / 4 - 90;
m_phones.InsertColumn(1, &lvc);
- lvc.cx = 50;
m_phones.InsertColumn(2, &lvc);
lvc.cx = 20;
m_emails.InsertColumn(2, &lvc);
@@ -266,6 +259,17 @@ public: return true;
}
+ int Resizer(UTILRESIZECONTROL *urc) override
+ {
+ switch (urc->wId) {
+ case IDC_EMAILS:
+ case IDC_PHONES:
+ return RD_ANCHORX_WIDTH | RD_ANCHORY_TOP;
+ }
+
+ return RD_ANCHORX_LEFT | RD_ANCHORY_TOP;
+ }
+
bool OnRefresh() override
{
if (m_hContact == 0)
@@ -524,7 +528,21 @@ public: }
}
- return CDlgBase::DlgProc(msg, wParam, lParam);
+ INT_PTR res = CDlgBase::DlgProc(msg, wParam, lParam);
+
+ if (msg == WM_SIZE) {
+ RECT rc;
+ GetClientRect(m_emails.GetHwnd(), &rc);
+ rc.right -= GetSystemMetrics(SM_CXVSCROLL);
+
+ m_emails.SetColumnWidth(0, rc.right / 4);
+ m_emails.SetColumnWidth(1, rc.right - rc.right / 4 - 40);
+
+ m_phones.SetColumnWidth(0, rc.right / 4);
+ m_phones.SetColumnWidth(1, rc.right - rc.right / 4 - 90);
+ }
+
+ return res;
}
};
diff --git a/src/core/stduserinfo/src/stdinfo.cpp b/src/core/stduserinfo/src/stdinfo.cpp index da987d8039..0a81dd8d3e 100644 --- a/src/core/stduserinfo/src/stdinfo.cpp +++ b/src/core/stduserinfo/src/stdinfo.cpp @@ -386,6 +386,17 @@ public: return true;
}
+ int Resizer(UTILRESIZECONTROL *urc) override
+ {
+ switch (urc->wId) {
+ case IDC_PAST:
+ case IDC_INTERESTS:
+ return RD_ANCHORX_WIDTH | RD_ANCHORY_TOP;
+ }
+
+ return RD_ANCHORX_LEFT | RD_ANCHORY_TOP;
+ }
+
bool OnRefresh() override
{
char *szProto = Proto_GetBaseAccountName(m_hContact);
@@ -519,6 +530,19 @@ public: DeleteObject((HFONT)SendDlgItemMessage(m_hwnd, IDC_ABOUT, WM_GETFONT, 0, 0));
}
+ int Resizer(UTILRESIZECONTROL *urc) override
+ {
+ switch (urc->wId) {
+ case IDC_ABOUT:
+ return RD_ANCHORX_WIDTH | RD_ANCHORY_TOP;
+
+ case IDC_MYNOTES:
+ return RD_ANCHORX_WIDTH | RD_ANCHORY_HEIGHT;
+ }
+
+ return RD_ANCHORX_LEFT | RD_ANCHORY_TOP;
+ }
+
bool OnRefresh() override
{
char *szProto = Proto_GetBaseAccountName(m_hContact);
|