[SNDVOL32] Add the small master dialog

- Add the small master dialog.
- Add support for tray (/t), small (/s) and normal (/n) dialog sizes.
- Fix the font size calculation for the dialogs.
- Fix the dialog unit to pixel conversion.
- Fix the client window size calculation.
- Do not leak font handles.
This commit is contained in:
Eric Kohl 2018-03-10 21:10:40 +01:00
parent 8bdebb1fed
commit 849fdca3f9
32 changed files with 514 additions and 115 deletions

View file

@ -7,11 +7,15 @@
#include "sndvol32.h" #include "sndvol32.h"
#include <wingdi.h>
#define XLEFT (30) VOID
#define XTOP (20) ConvertRect(LPRECT lpRect, UINT xBaseUnit, UINT yBaseUnit)
#define DIALOG_VOLUME_SIZE (150) {
lpRect->left = MulDiv(lpRect->left, xBaseUnit, 4);
lpRect->right = MulDiv(lpRect->right, xBaseUnit, 4);
lpRect->top = MulDiv(lpRect->top, yBaseUnit, 8);
lpRect->bottom = MulDiv(lpRect->bottom, yBaseUnit, 8);
}
LPVOID LPVOID
LoadDialogResource( LoadDialogResource(
@ -66,7 +70,9 @@ AddDialogControl(
IN LPRECT DialogOffset, IN LPRECT DialogOffset,
IN PDLGITEMTEMPLATE DialogItem, IN PDLGITEMTEMPLATE DialogItem,
IN DWORD DialogIdMultiplier, IN DWORD DialogIdMultiplier,
IN HFONT hFont) IN HFONT hFont,
UINT xBaseUnit,
UINT yBaseUnit)
{ {
RECT rect; RECT rect;
LPWORD Offset; LPWORD Offset;
@ -75,12 +81,18 @@ AddDialogControl(
DWORD wID; DWORD wID;
/* initialize client rectangle */ /* initialize client rectangle */
rect.left = DialogItem->x + DialogOffset->left; rect.left = DialogItem->x;
rect.top = DialogItem->y + DialogOffset->top; rect.top = DialogItem->y;
rect.right = DialogItem->cx; rect.right = DialogItem->x + DialogItem->cx;
rect.bottom = DialogItem->cy; rect.bottom = DialogItem->y + DialogItem->cy;
//MapDialogRect(hwndDialog, &rect); /* Convert Dialog units to pixes */
ConvertRect(&rect, xBaseUnit, yBaseUnit);
rect.left += DialogOffset->left;
rect.right += DialogOffset->left;
rect.top += DialogOffset->top;
rect.bottom += DialogOffset->top;
/* move offset after dialog item */ /* move offset after dialog item */
Offset = (LPWORD)(DialogItem + 1); Offset = (LPWORD)(DialogItem + 1);
@ -140,8 +152,8 @@ AddDialogControl(
DialogItem->style, DialogItem->style,
rect.left, rect.left,
rect.top, rect.top,
rect.right, rect.right - rect.left,
rect.bottom, rect.bottom - rect.top,
hwndDialog, hwndDialog,
(HMENU)(wID), (HMENU)(wID),
hAppInstance, hAppInstance,
@ -207,35 +219,75 @@ VOID
LoadDialogControls( LoadDialogControls(
IN PMIXER_WINDOW MixerWindow, IN PMIXER_WINDOW MixerWindow,
LPRECT DialogOffset, LPRECT DialogOffset,
LPVOID DlgResource, WORD ItemCount,
DWORD DialogIdMultiplier) PDLGITEMTEMPLATE DialogItem,
DWORD DialogIdMultiplier,
UINT xBaseUnit,
UINT yBaseUnit)
{ {
LPDLGTEMPLATE DialogHeader;
PDLGITEMTEMPLATE DialogItem;
LPWORD Offset; LPWORD Offset;
WORD FontSize; WORD Index;
WCHAR FontName[100];
WORD Length, Index;
HFONT Font;
/* get dialog header */
DialogHeader = (LPDLGTEMPLATE)DlgResource;
/* sanity check */ /* sanity check */
assert(DialogHeader->cdit); assert(ItemCount);
if (MixerWindow->Window) if (MixerWindow->Window)
MixerWindow->Window = (HWND*)HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, MixerWindow->Window, (MixerWindow->WindowCount + DialogHeader->cdit) * sizeof(HWND)); MixerWindow->Window = (HWND*)HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, MixerWindow->Window, (MixerWindow->WindowCount + ItemCount) * sizeof(HWND));
else else
MixerWindow->Window = (HWND*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, DialogHeader->cdit * sizeof(HWND)); MixerWindow->Window = (HWND*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, ItemCount * sizeof(HWND));
if (!MixerWindow->Window) if (!MixerWindow->Window)
{ {
/* no memory */ /* no memory */
return; return;
} }
/* now walk past the dialog header */ /* enumerate now all controls */
Offset = (LPWORD)(DialogHeader + 1); for (Index = 0; Index < ItemCount; Index++)
{
/* add controls */
Offset = AddDialogControl(MixerWindow->hWnd, &MixerWindow->Window[MixerWindow->WindowCount], DialogOffset, DialogItem, DialogIdMultiplier, MixerWindow->hFont, xBaseUnit, yBaseUnit);
/* sanity check */
assert(Offset);
/* move dialog item to new offset */
DialogItem =(PDLGITEMTEMPLATE)Offset;
/* increment window count */
MixerWindow->WindowCount++;
}
}
VOID
LoadDialog(
IN HMODULE hModule,
IN PMIXER_WINDOW MixerWindow,
IN LPCWSTR DialogResId,
IN DWORD Index)
{
LPDLGTEMPLATE DlgTemplate;
PDLGITEMTEMPLATE DlgItem;
RECT dialogRect;
LPWORD Offset;
WORD FontSize;
WCHAR FontName[100];
WORD Length;
int width;
DWORD units = GetDialogBaseUnits();
UINT xBaseUnit = LOWORD(units);
UINT yBaseUnit = HIWORD(units);
/* first load the dialog resource */
DlgTemplate = (LPDLGTEMPLATE)LoadDialogResource(hModule, DialogResId, NULL);
if (!DlgTemplate)
{
/* failed to load resource */
return;
}
/* Now walk past the dialog header */
Offset = (LPWORD)(DlgTemplate + 1);
/* FIXME: support menu */ /* FIXME: support menu */
assert(*Offset == 0); assert(*Offset == 0);
@ -260,61 +312,62 @@ LoadDialogControls(
/* copy font */ /* copy font */
wcscpy(FontName, (LPWSTR)Offset); wcscpy(FontName, (LPWSTR)Offset);
Font = CreateFontW(FontSize+8, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FF_DONTCARE, FontName); if (DlgTemplate->style & DS_SETFONT)
assert(Font); {
HDC hDC;
hDC = GetDC(0);
if (!MixerWindow->hFont)
{
int pixels = MulDiv(FontSize, GetDeviceCaps(hDC, LOGPIXELSY), 72);
MixerWindow->hFont = CreateFontW(-pixels, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FF_DONTCARE, FontName);
}
if (MixerWindow->hFont)
{
SIZE charSize;
HFONT hOldFont;
hOldFont = SelectObject(hDC, MixerWindow->hFont);
charSize.cx = GdiGetCharDimensions(hDC, NULL, &charSize.cy);
if (charSize.cx)
{
xBaseUnit = charSize.cx;
yBaseUnit = charSize.cy;
}
SelectObject(hDC, hOldFont);
}
}
// assert(MixerWindow->hFont);
/* move offset after font name */ /* move offset after font name */
Offset += Length; Offset += Length;
/* offset is now at first dialog item control */ /* offset is now at first dialog item control */
DialogItem = (PDLGITEMTEMPLATE)Offset; DlgItem = (PDLGITEMTEMPLATE)Offset;
/* enumerate now all controls */ dialogRect.left = 0;
for(Index = 0; Index < DialogHeader->cdit; Index++) dialogRect.right = DlgTemplate->cx;
{ dialogRect.top = 0;
/* add controls */ dialogRect.bottom = DlgTemplate->cy;
Offset = AddDialogControl(MixerWindow->hWnd, &MixerWindow->Window[MixerWindow->WindowCount], DialogOffset, DialogItem, DialogIdMultiplier, Font);
/* sanity check */ ConvertRect(&dialogRect, xBaseUnit, yBaseUnit);
assert(Offset);
/* move dialog item to new offset */ width = dialogRect.right - dialogRect.left;
DialogItem =(PDLGITEMTEMPLATE)Offset;
/* increment window count */ dialogRect.left += MixerWindow->rect.right;
MixerWindow->WindowCount++; dialogRect.right += MixerWindow->rect.right;
} dialogRect.top += MixerWindow->rect.top;
} dialogRect.bottom += MixerWindow->rect.top;
VOID
LoadDialog(
IN HMODULE hModule,
IN PMIXER_WINDOW MixerWindow,
IN LPCWSTR DialogResId,
IN DWORD Index)
{
LPVOID DlgResource;
RECT rect;
/* first load the dialog resource */
DlgResource = LoadDialogResource(hModule, DialogResId, NULL);
if (!DlgResource)
{
/* failed to load resource */
return;
}
/* get window size */
GetClientRect(MixerWindow->hWnd, &rect);
/* adjust client position */
rect.left += (Index * DIALOG_VOLUME_SIZE);
MixerWindow->rect.right += width;
if ((dialogRect.bottom - dialogRect.top) > (MixerWindow->rect.bottom - MixerWindow->rect.top))
MixerWindow->rect.bottom = MixerWindow->rect.top + dialogRect.bottom - dialogRect.top;
/* now add the controls */ /* now add the controls */
LoadDialogControls(MixerWindow, &rect, DlgResource, Index); LoadDialogControls(MixerWindow, &dialogRect, DlgTemplate->cdit, DlgItem, Index, xBaseUnit, yBaseUnit);
} }
BOOL BOOL
@ -328,7 +381,6 @@ EnumConnectionsCallback(
WCHAR LineName[MIXER_LONG_NAME_CHARS]; WCHAR LineName[MIXER_LONG_NAME_CHARS];
DWORD Flags; DWORD Flags;
DWORD wID; DWORD wID;
RECT rect;
UINT ControlCount = 0, Index; UINT ControlCount = 0, Index;
LPMIXERCONTROL Control = NULL; LPMIXERCONTROL Control = NULL;
HWND hDlgCtrl; HWND hDlgCtrl;
@ -352,8 +404,10 @@ EnumConnectionsCallback(
/* is it selected */ /* is it selected */
if (Flags != 0x4) if (Flags != 0x4)
{ {
int dlgId = (PrefContext->MixerWindow->Mode == SMALL_MODE) ? IDD_SMALL_MASTER : IDD_VOLUME_CTRL;
/* load dialog resource */ /* load dialog resource */
LoadDialog(hAppInstance, PrefContext->MixerWindow, MAKEINTRESOURCE(IDD_VOLUME_CTRL), PrefContext->Count); LoadDialog(hAppInstance, PrefContext->MixerWindow, MAKEINTRESOURCE(dlgId), PrefContext->Count);
/* get id */ /* get id */
wID = (PrefContext->Count + 1) * IDC_LINE_NAME; wID = (PrefContext->Count + 1) * IDC_LINE_NAME;
@ -431,12 +485,6 @@ EnumConnectionsCallback(
/* increment dialog count */ /* increment dialog count */
PrefContext->Count++; PrefContext->Count++;
/* get application rectangle */
GetWindowRect(PrefContext->MixerWindow->hWnd, &rect);
/* now move the window */
MoveWindow(PrefContext->MixerWindow->hWnd, rect.left, rect.top, (PrefContext->Count * DIALOG_VOLUME_SIZE), rect.bottom - rect.top, TRUE);
} }
} }
} }
@ -448,13 +496,26 @@ LoadDialogCtrls(
PPREFERENCES_CONTEXT PrefContext) PPREFERENCES_CONTEXT PrefContext)
{ {
HWND hDlgCtrl; HWND hDlgCtrl;
RECT statusRect;
/* set dialog count to zero */ /* set dialog count to zero */
PrefContext->Count = 0; PrefContext->Count = 0;
SetRectEmpty(&PrefContext->MixerWindow->rect);
/* enumerate controls */ /* enumerate controls */
SndMixerEnumConnections(PrefContext->MixerWindow->Mixer, PrefContext->SelectedLine, EnumConnectionsCallback, (PVOID)PrefContext); SndMixerEnumConnections(PrefContext->MixerWindow->Mixer, PrefContext->SelectedLine, EnumConnectionsCallback, (PVOID)PrefContext);
if (PrefContext->MixerWindow->hStatusBar)
{
GetWindowRect(PrefContext->MixerWindow->hStatusBar, &statusRect);
PrefContext->MixerWindow->rect.bottom += (statusRect.bottom - statusRect.top);
}
/* now move the window */
AdjustWindowRect(&PrefContext->MixerWindow->rect, WS_DLGFRAME | WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_VISIBLE, TRUE);
SetWindowPos(PrefContext->MixerWindow->hWnd, HWND_TOP, PrefContext->MixerWindow->rect.left, PrefContext->MixerWindow->rect.top, PrefContext->MixerWindow->rect.right - PrefContext->MixerWindow->rect.left, PrefContext->MixerWindow->rect.bottom - PrefContext->MixerWindow->rect.top, SWP_NOMOVE | SWP_NOZORDER);
/* get last line separator */ /* get last line separator */
hDlgCtrl = GetDlgItem(PrefContext->MixerWindow->hWnd, IDC_LINE_SEP * PrefContext->Count); hDlgCtrl = GetDlgItem(PrefContext->MixerWindow->hWnd, IDC_LINE_SEP * PrefContext->Count);
@ -463,7 +524,6 @@ LoadDialogCtrls(
/* hide last separator */ /* hide last separator */
ShowWindow(hDlgCtrl, SW_HIDE); ShowWindow(hDlgCtrl, SW_HIDE);
} }
} }
VOID VOID

View file

@ -59,6 +59,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Обща", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "За&глушаване", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -61,6 +61,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Celková hlasitost", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Ztlumit", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -55,6 +55,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Master", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Stumm", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -55,6 +55,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Master", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Mute", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -55,6 +55,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Master", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Mute", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -58,6 +58,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Principal", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Silenciar", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -55,6 +55,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Volume principal", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Muet", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -57,6 +57,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "ראשי", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "השתק", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -57,6 +57,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Master", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Mute", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -55,6 +55,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Master", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Mute", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -55,6 +55,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Master", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Disattiva", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -55,6 +55,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 9, "MS UI Gothic"
BEGIN
CTEXT "Master", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Mute", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -57,6 +57,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 9, "굴림"
BEGIN
CTEXT "Master", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Mute", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -57,6 +57,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Master", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Mute", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -55,6 +55,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Master", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Mute", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -55,6 +55,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Master", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Mute", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -63,6 +63,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Kanał główny", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Wycisz", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -57,6 +57,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Master", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Mudo", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -56,6 +56,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Volum general", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "A&muțește tot", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -57,6 +57,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Главная", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "В&ыкл. все", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -57,6 +57,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Master", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Mute", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -59,6 +59,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Master", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "Heshtur", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -57,6 +57,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Huvud", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Tyst", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -63,6 +63,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Master", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Mute", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -57,6 +57,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Ana", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "S&essiz", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -63,6 +63,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 8, "MS Shell Dlg"
BEGIN
CTEXT "Головна", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "&Тиша", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -57,6 +57,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 9, "宋体"
BEGIN
CTEXT "主要", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "静音(&M)", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -57,6 +57,17 @@ BEGIN
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200
END END
IDD_SMALL_MASTER DIALOG 0, 0, 45, 100
STYLE WS_POPUP | WS_BORDER
FONT 9, "新細明體"
BEGIN
CTEXT "主要", IDC_LINE_NAME, 3, 3, 39, 8
CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2, 12, 39, 18
CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 30, 30, 50
AUTOCHECKBOX "靜音(&M)", IDC_LINE_SWITCH, 1, 85, 44, 10
CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 45, 1, 1, 100
END
IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80 IDD_TRAY_CTRL DIALOGEX 0, 0, 50, 80
STYLE DS_MODALFRAME | WS_POPUP STYLE DS_MODALFRAME | WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW EXSTYLE WS_EX_TOOLWINDOW

View file

@ -26,6 +26,7 @@
#define IDS_SNDVOL32 100 #define IDS_SNDVOL32 100
#define IDS_NOMIXERDEVICES 101 #define IDS_NOMIXERDEVICES 101
#define IDD_VOLUME_CTRL 200 #define IDD_VOLUME_CTRL 200
#define IDD_PREFERENCES 201 #define IDD_SMALL_MASTER 202
#define IDD_TRAY_CTRL 202 #define IDD_TRAY_CTRL 204
#define IDD_PREFERENCES 205

View file

@ -820,7 +820,8 @@ MainWindowProc(HWND hwnd,
} }
/* destroy old status bar */ /* destroy old status bar */
DestroyWindow(MixerWindow->hStatusBar); if (MixerWindow->Mode == NORMAL_MODE)
DestroyWindow(MixerWindow->hStatusBar);
/* update details */ /* update details */
Preferences.SelectedLine = Pref.SelectedLine; Preferences.SelectedLine = Pref.SelectedLine;
@ -835,18 +836,20 @@ MainWindowProc(HWND hwnd,
RebuildMixerWindowControls(&Preferences); RebuildMixerWindowControls(&Preferences);
/* create status window */ /* create status window */
MixerWindow->hStatusBar = CreateStatusWindow(WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS, if (MixerWindow->Mode == NORMAL_MODE)
NULL,
hwnd,
0);
/* set status bar */
if (MixerWindow->hStatusBar)
{ {
SendMessage(MixerWindow->hStatusBar, MixerWindow->hStatusBar = CreateStatusWindow(WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS,
WM_SETTEXT, NULL,
0, hwnd,
(LPARAM)szProduct); 0);
if (MixerWindow->hStatusBar)
{
/* Set status bar */
SendMessage(MixerWindow->hStatusBar,
WM_SETTEXT,
0,
(LPARAM)szProduct);
}
} }
} }
break; break;
@ -999,16 +1002,19 @@ MainWindowProc(HWND hwnd,
} }
/* create status window */ /* create status window */
MixerWindow->hStatusBar = CreateStatusWindow(WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS, if (MixerWindow->Mode == NORMAL_MODE)
NULL,
hwnd,
0);
if (MixerWindow->hStatusBar)
{ {
SendMessage(MixerWindow->hStatusBar, MixerWindow->hStatusBar = CreateStatusWindow(WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS,
WM_SETTEXT, NULL,
0, hwnd,
(LPARAM)szProduct); 0);
if (MixerWindow->hStatusBar)
{
SendMessage(MixerWindow->hStatusBar,
WM_SETTEXT,
0,
(LPARAM)szProduct);
}
} }
} }
break; break;
@ -1024,6 +1030,8 @@ MainWindowProc(HWND hwnd,
{ {
SndMixerDestroy(MixerWindow->Mixer); SndMixerDestroy(MixerWindow->Mixer);
} }
if (MixerWindow->hFont)
DeleteObject(MixerWindow->hFont);
HeapFree(hAppHeap, 0, MixerWindow); HeapFree(hAppHeap, 0, MixerWindow);
} }
break; break;
@ -1080,7 +1088,9 @@ UnregisterApplicationClasses(VOID)
} }
static HWND static HWND
CreateApplicationWindow(VOID) CreateApplicationWindow(
WINDOW_MODE WindowMode,
BOOL bRecord)
{ {
HWND hWnd; HWND hWnd;
@ -1092,6 +1102,9 @@ CreateApplicationWindow(VOID)
return NULL; return NULL;
} }
MixerWindow->Mode = WindowMode;
if (mixerGetNumDevs() > 0) if (mixerGetNumDevs() > 0)
{ {
hWnd = CreateWindowEx(WS_EX_WINDOWEDGE | WS_EX_CONTROLPARENT, hWnd = CreateWindowEx(WS_EX_WINDOWEDGE | WS_EX_CONTROLPARENT,
@ -1139,10 +1152,14 @@ CreateApplicationWindow(VOID)
static static
BOOL BOOL
HandleCommandLine(LPTSTR cmdline, HandleCommandLine(LPTSTR cmdline,
PBOOL pTray) PWINDOW_MODE pMode,
PBOOL pRecord)
{ {
TCHAR option; TCHAR option;
*pRecord = FALSE;
*pMode = SMALL_MODE;
while (*cmdline == _T(' ') || *cmdline == _T('-') || *cmdline == _T('/')) while (*cmdline == _T(' ') || *cmdline == _T('-') || *cmdline == _T('/'))
{ {
if (*cmdline++ == _T(' ')) if (*cmdline++ == _T(' '))
@ -1162,25 +1179,27 @@ HandleCommandLine(LPTSTR cmdline,
case 'n': /* Normal size */ case 'n': /* Normal size */
case 'N': case 'N':
*pTray = FALSE; *pMode = NORMAL_MODE;
break; break;
case 's': /* Small size */ case 's': /* Small size */
case 'S': case 'S':
*pTray = FALSE; *pMode = SMALL_MODE;
break; break;
case 't': /* Tray size */ case 't': /* Tray size */
case 'T': case 'T':
*pTray = TRUE; *pMode = TRAY_MODE;
break; break;
case 'p': /* Play mode */ case 'p': /* Play mode */
case 'P': case 'P':
*pRecord = FALSE;
break; break;
case 'r': /* Record mode */ case 'r': /* Record mode */
case 'R': case 'R':
*pRecord = TRUE;
break; break;
default: default:
@ -1200,7 +1219,8 @@ _tWinMain(HINSTANCE hInstance,
MSG Msg; MSG Msg;
int Ret = 1; int Ret = 1;
INITCOMMONCONTROLSEX Controls; INITCOMMONCONTROLSEX Controls;
BOOL bTray = FALSE; WINDOW_MODE WindowMode = SMALL_MODE;
BOOL bRecord = FALSE;
UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(nCmdShow); UNREFERENCED_PARAMETER(nCmdShow);
@ -1208,7 +1228,7 @@ _tWinMain(HINSTANCE hInstance,
hAppInstance = hInstance; hAppInstance = hInstance;
hAppHeap = GetProcessHeap(); hAppHeap = GetProcessHeap();
HandleCommandLine(lpszCmdLine, &bTray); HandleCommandLine(lpszCmdLine, &WindowMode, &bRecord);
if (InitAppConfig()) if (InitAppConfig())
{ {
@ -1225,7 +1245,7 @@ _tWinMain(HINSTANCE hInstance,
InitCommonControlsEx(&Controls); InitCommonControlsEx(&Controls);
if (bTray) if (WindowMode == TRAY_MODE)
{ {
DialogBoxParam(hAppInstance, DialogBoxParam(hAppInstance,
MAKEINTRESOURCE(IDD_TRAY_CTRL), MAKEINTRESOURCE(IDD_TRAY_CTRL),
@ -1237,7 +1257,7 @@ _tWinMain(HINSTANCE hInstance,
{ {
if (RegisterApplicationClasses()) if (RegisterApplicationClasses())
{ {
hMainWnd = CreateApplicationWindow(); hMainWnd = CreateApplicationWindow(WindowMode, bRecord);
if (hMainWnd != NULL) if (hMainWnd != NULL)
{ {
BOOL bRet; BOOL bRet;

View file

@ -5,6 +5,7 @@
#include <windef.h> #include <windef.h>
#include <winbase.h> #include <winbase.h>
#include <wingdi.h>
#include <winuser.h> #include <winuser.h>
#include <mmsystem.h> #include <mmsystem.h>
#include <commctrl.h> #include <commctrl.h>
@ -13,6 +14,13 @@
#include "resources.h" #include "resources.h"
typedef enum _WINDOW_MODE
{
NORMAL_MODE,
SMALL_MODE,
TRAY_MODE
} WINDOW_MODE, *PWINDOW_MODE;
typedef struct _MIXER_WINDOW typedef struct _MIXER_WINDOW
{ {
HWND hWnd; HWND hWnd;
@ -20,9 +28,11 @@ typedef struct _MIXER_WINDOW
struct _SND_MIXER *Mixer; struct _SND_MIXER *Mixer;
UINT SelectedLine; UINT SelectedLine;
UINT WindowCount; UINT WindowCount;
HWND * Window; HWND *Window;
WINDOW_MODE Mode;
RECT rect;
HFONT hFont;
} MIXER_WINDOW, *PMIXER_WINDOW; } MIXER_WINDOW, *PMIXER_WINDOW;
extern HINSTANCE hAppInstance; extern HINSTANCE hAppInstance;