mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-10 11:59:58 -05:00
Initial community commit
This commit is contained in:
67
Src/Plugins/Input/in_vorbis/DlgBase.cpp
Normal file
67
Src/Plugins/Input/in_vorbis/DlgBase.cpp
Normal file
@@ -0,0 +1,67 @@
|
||||
#include "DlgBase.h"
|
||||
|
||||
void DlgBase::MakeComboEdit(UINT id, DWORD s)
|
||||
{
|
||||
HWND w = GetDlgItem(wnd, id);
|
||||
RECT r;
|
||||
GetChildRect(id, r);
|
||||
DestroyWindow(w);
|
||||
CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT", 0, WS_CHILD | s, r.left - 1, r.top - 1, r.right - r.left, r.bottom - r.top, wnd, (HMENU)id, 0, 0);
|
||||
}
|
||||
|
||||
void DlgBase::GetChildRect(UINT id, RECT& child)
|
||||
{
|
||||
RECT r_parent, r_child;
|
||||
GetWindowRect(wnd, &r_parent);
|
||||
GetWindowRect(GetDlgItem(wnd, id), &r_child);
|
||||
int dx = r_parent.left;
|
||||
int dy = r_parent.top;
|
||||
if (!(GetWindowLong(wnd, GWL_STYLE)&WS_CHILD))
|
||||
{
|
||||
dy += GetSystemMetrics(SM_CYCAPTION) + GetSystemMetrics(SM_CYDLGFRAME);
|
||||
dx += GetSystemMetrics(SM_CXDLGFRAME);
|
||||
}
|
||||
child.left = r_child.left - dx;
|
||||
child.right = r_child.right - dx;
|
||||
child.top = r_child.top - dy;
|
||||
child.bottom = r_child.bottom - dy;
|
||||
}
|
||||
|
||||
void DlgBase::do_sizing(UINT wp, RECT * r)
|
||||
{
|
||||
UINT dx, dy;
|
||||
dx = r->right - r->left;
|
||||
dy = r->bottom - r->top;
|
||||
if (dx < min_size_x_w)
|
||||
{
|
||||
switch (wp)
|
||||
{
|
||||
case WMSZ_BOTTOMLEFT:
|
||||
case WMSZ_LEFT:
|
||||
case WMSZ_TOPLEFT:
|
||||
r->left = r->right - min_size_x_w;
|
||||
break;
|
||||
case WMSZ_BOTTOMRIGHT:
|
||||
case WMSZ_RIGHT:
|
||||
case WMSZ_TOPRIGHT:
|
||||
r->right = r->left + min_size_x_w;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (dy < min_size_y_w)
|
||||
{
|
||||
switch (wp)
|
||||
{
|
||||
case WMSZ_BOTTOMLEFT:
|
||||
case WMSZ_BOTTOM:
|
||||
case WMSZ_BOTTOMRIGHT:
|
||||
r->bottom = r->top + min_size_y_w;
|
||||
break;
|
||||
case WMSZ_TOPLEFT:
|
||||
case WMSZ_TOP:
|
||||
case WMSZ_TOPRIGHT:
|
||||
r->top = r->bottom - min_size_y_w;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user