Change game selection dialog back to original size, make it resizable, and fix disappearing preview image bug

This commit is contained in:
Barry Harris 2012-03-08 20:00:11 +00:00
parent 3211db5adc
commit 7c2cff3d56
4 changed files with 271 additions and 45 deletions

View File

@ -229,51 +229,51 @@ BEGIN
CONTROL " I understand and agree to be bound by the terms of the above license agreement",IDC_ACCEPTLICENSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,170,282,14
END
IDD_SELNEW DIALOGEX 0, 0, 650, 420
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
IDD_SELNEW DIALOGEX 0, 0, 500, 362
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
CAPTION "Select Game"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
CONTROL "Tree1",IDC_TREE1,"SysTreeView32",TVS_HASBUTTONS | TVS_LINESATROOT | TVS_SHOWSELALWAYS | TVS_FULLROWSELECT | TVS_NOHSCROLL | WS_TABSTOP,9,13,471,255,WS_EX_STATICEDGE
CONTROL "Tree2",IDC_TREE2,"SysTreeView32",TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_SHOWSELALWAYS | WS_TABSTOP | 0x8000,491,249,148,140,WS_EX_STATICEDGE
GROUPBOX "Preview",IDC_STATIC2,487,1,157,118
GROUPBOX "Title",IDC_STATIC3,487,120,157,118
CONTROL "",IDC_SCREENSHOT_H,"Static",SS_BITMAP | SS_REALSIZEIMAGE | SS_SUNKEN,493,13,50,50, WS_EX_CLIENTEDGE
CONTROL "",IDC_SCREENSHOT_V,"Static",SS_BITMAP | SS_REALSIZEIMAGE | SS_SUNKEN,521,13,50,50, WS_EX_CLIENTEDGE
CONTROL "",IDC_SCREENSHOT2_H,"Static",SS_BITMAP | SS_REALSIZEIMAGE | SS_SUNKEN,493,131,50,50, WS_EX_CLIENTEDGE
CONTROL "",IDC_SCREENSHOT2_V,"Static",SS_BITMAP | SS_REALSIZEIMAGE | SS_SUNKEN,521,131,50,50, WS_EX_CLIENTEDGE
GROUPBOX "Select Game",IDC_STATIC1,4,1,481,359
CONTROL "",IDC_STATIC_INFOBOX,"Static",SS_WHITERECT | SS_SUNKEN,9,271,471,66
LTEXT "Game info:",IDC_LABELCOMMENT,13,276,45,8,NOT WS_GROUP
LTEXT "ROM name:",IDC_LABELROMNAME,13,286,45,8,NOT WS_GROUP
LTEXT "ROM info:",IDC_LABELROMINFO,13,296,45,8,NOT WS_GROUP
LTEXT "Released by:",IDC_LABELSYSTEM,13,306,45,8,NOT WS_GROUP
LTEXT "Genre:",IDC_LABELGENRE,13,316,45,8,NOT WS_GROUP
LTEXT "Notes:",IDC_LABELNOTES,13,326,45,8,NOT WS_GROUP
EDITTEXT IDC_TEXTCOMMENT,60,276,419,8,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
EDITTEXT IDC_TEXTROMNAME,60,286,419,8,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
EDITTEXT IDC_TEXTROMINFO,60,296,419,8,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
EDITTEXT IDC_TEXTSYSTEM,60,306,419,8,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
EDITTEXT IDC_TEXTGENRE,60,316,419,8,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
EDITTEXT IDC_TEXTNOTES,60,326,419,8,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
GROUPBOX "Filters",IDC_STATIC_SYS,487,238,157,152
LTEXT "",IDC_DRVCOUNT,10,344,381,8
CONTROL "Rom Info",IDROMINFO,"Button",WS_TABSTOP,401,342,78,14
GROUPBOX "Options",IDC_STATIC_OPT,4,363,270,55
CONTROL "Show available",IDC_CHECKAVAILABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,9,375,80,8
CONTROL "Show unavailable",IDC_CHECKUNAVAILABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,9,389,80,8
CONTROL "Always show clones",IDC_CHECKAUTOEXPAND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,9,403,80,8
CONTROL "Use zipnames",IDC_SEL_SHORTNAME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,105,375,80,8
CONTROL "Latin text only",IDC_SEL_ASCIIONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,105,389,80,8
CONTROL "ROMs Dirs...",IDROM,"Button",WS_TABSTOP,201,375,68,14
CONTROL "Scan ROMs",IDRESCAN,"Button",WS_TABSTOP,201,394,68,14
CONTROL "Cancel",IDCANCEL,"Button",WS_TABSTOP,523,400,58,14
CONTROL "Play",IDOK,"Button",WS_TABSTOP,586,400,58,14
GROUPBOX "IPS",IDC_SEL_IPSGROUP,278,363,206,27
CONTROL "Apply Patches",IDC_SEL_APPLYIPS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,283,375,90,8
CONTROL "IPS Manager",IDC_SEL_IPSMANAGER,"Button",WS_TABSTOP,401,372,78,14
GROUPBOX "Search",IDC_SEL_SEARCHGROUP,278,391,206,27
EDITTEXT IDC_SEL_SEARCH,283,400,195,12,ES_AUTOHSCROLL | WS_TABSTOP
CONTROL "Tree1",IDC_TREE1,"SysTreeView32",TVS_HASBUTTONS | TVS_LINESATROOT | TVS_SHOWSELALWAYS | TVS_FULLROWSELECT | TVS_NOHSCROLL | WS_TABSTOP,9,133,323,137,WS_EX_STATICEDGE
CONTROL "Tree2",IDC_TREE2,"SysTreeView32",TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_SHOWSELALWAYS | WS_TABSTOP | 0x8000,345,101,148,168,WS_EX_STATICEDGE
GROUPBOX "Preview",IDC_STATIC2,4,1,157,118
GROUPBOX "Title",IDC_STATIC3,163,1,157,118
CONTROL "",IDC_SCREENSHOT_H,"Static",SS_BITMAP | SS_REALSIZEIMAGE | SS_SUNKEN,10,13,50,50, WS_EX_CLIENTEDGE
CONTROL "",IDC_SCREENSHOT_V,"Static",SS_BITMAP | SS_REALSIZEIMAGE | SS_SUNKEN,48,13,50,50, WS_EX_CLIENTEDGE
CONTROL "",IDC_SCREENSHOT2_H,"Static",SS_BITMAP | SS_REALSIZEIMAGE | SS_SUNKEN,169,13,50,50, WS_EX_CLIENTEDGE
CONTROL "",IDC_SCREENSHOT2_V,"Static",SS_BITMAP | SS_REALSIZEIMAGE | SS_SUNKEN,197,13,50,50, WS_EX_CLIENTEDGE
GROUPBOX "Select Game",IDC_STATIC1,4,121,334,240
CONTROL "",IDC_STATIC_INFOBOX,"Static",SS_WHITERECT | SS_SUNKEN,9,273,323,66
LTEXT "Game info:",IDC_LABELCOMMENT,13,278,45,8,NOT WS_GROUP
LTEXT "ROM name:",IDC_LABELROMNAME,13,288,45,8,NOT WS_GROUP
LTEXT "ROM info:",IDC_LABELROMINFO,13,298,45,8,NOT WS_GROUP
LTEXT "Released by:",IDC_LABELSYSTEM,13,308,45,8,NOT WS_GROUP
LTEXT "Genre:",IDC_LABELGENRE,13,318,45,8,NOT WS_GROUP
LTEXT "Notes:",IDC_LABELNOTES,13,328,45,8,NOT WS_GROUP
EDITTEXT IDC_TEXTCOMMENT,60,278,271,8,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
EDITTEXT IDC_TEXTROMNAME,60,288,271,8,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
EDITTEXT IDC_TEXTROMINFO,60,298,271,8,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
EDITTEXT IDC_TEXTSYSTEM,60,308,271,8,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
EDITTEXT IDC_TEXTGENRE,60,318,271,8,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
EDITTEXT IDC_TEXTNOTES,60,328,271,8,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
GROUPBOX "Filters",IDC_STATIC_SYS,341,90,157,180
LTEXT "",IDC_DRVCOUNT,10,345,241,8
CONTROL "Rom Info",IDROMINFO,"Button",WS_TABSTOP,256,343,78,14
GROUPBOX "Options",IDC_STATIC_OPT,341,1,157,87
CONTROL "Show available",IDC_CHECKAVAILABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,346,13,80,8
CONTROL "Show unavailable",IDC_CHECKUNAVAILABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,346,24,80,8
CONTROL "Always show clones",IDC_CHECKAUTOEXPAND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,346,35,80,8
CONTROL "Use zipnames",IDC_SEL_SHORTNAME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,346,46,80,8
CONTROL "Latin text only",IDC_SEL_ASCIIONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,346,57,80,8
CONTROL "ROMs Dirs...",IDROM,"Button",WS_TABSTOP,346,70,72,14
CONTROL "Scan ROMs",IDRESCAN,"Button",WS_TABSTOP,422,70,72,14
CONTROL "Cancel",IDCANCEL,"Button",WS_TABSTOP,376,346,58,14
CONTROL "Play",IDOK,"Button",WS_TABSTOP,439,346,58,14
GROUPBOX "IPS",IDC_SEL_IPSGROUP,341,299,157,43
CONTROL "Apply Patches",IDC_SEL_APPLYIPS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,346,311,90,8
CONTROL "IPS Manager",IDC_SEL_IPSMANAGER,"Button",WS_TABSTOP,346,324,78,14
GROUPBOX "Search",IDC_SEL_SEARCHGROUP,341,271,157,27
EDITTEXT IDC_SEL_SEARCH,346,282,147,12,ES_AUTOHSCROLL | WS_TABSTOP
END
IDD_CAPTURE DIALOGEX 0, 0, 270, 90

View File

@ -286,6 +286,8 @@ extern int nLoadMenuShowX;
extern int nLoadMenuBoardTypeFilter;
extern int nLoadMenuGenreFilter;
extern int nLoadMenuFamilyFilter;
extern int nSelDlgWidth;
extern int nSelDlgHeight;
int SelDialog(int nMVSCartsOnly, HWND hParentWND);
extern UINT_PTR nTimer;
extern HBITMAP hPrevBmp;

View File

@ -181,6 +181,8 @@ int ConfigAppLoad()
VAR(nCDEmuSelect);
PAT(CDEmuImage);
VAR(nSelDlgWidth);
VAR(nSelDlgHeight);
VAR(nLoadMenuShowX);
VAR(nLoadMenuBoardTypeFilter);
VAR(nLoadMenuGenreFilter);
@ -505,6 +507,10 @@ int ConfigAppSave()
_ftprintf(h, _T("\n\n\n"));
_ftprintf(h, _T("// --- Load Game Dialogs ------------------------------------------------------\n"));
_ftprintf(h, _T("\n// Load game dialog dimensions (in win32 client co-ordinates)\n"));
VAR(nSelDlgWidth);
VAR(nSelDlgHeight);
_ftprintf(h, _T("\n// Load game dialog options\n"));
VAR(nLoadMenuShowX);

View File

@ -42,6 +42,52 @@ static HICON hDrvIcon[9999];
static int RomInfoDialog();
// Dialog Sizing
int nSelDlgWidth = 750;
int nSelDlgHeight = 588;
static int nDlgInitialWidth;
static int nDlgInitialHeight;
static int nDlgOptionsGrpInitialPos[4];
static int nDlgAvailableChbInitialPos[4];
static int nDlgUnavailableChbInitialPos[4];
static int nDlgAlwaysClonesChbInitialPos[4];
static int nDlgZipnamesChbInitialPos[4];
static int nDlgLatinTextChbInitialPos[4];
static int nDlgRomDirsBtnInitialPos[4];
static int nDlgScanRomsBtnInitialPos[4];
static int nDlgFilterGrpInitialPos[4];
static int nDlgFilterTreeInitialPos[4];
static int nDlgIpsGrpInitialPos[4];
static int nDlgApplyIpsChbInitialPos[4];
static int nDlgIpsManBtnInitialPos[4];
static int nDlgSearchGrpInitialPos[4];
static int nDlgSearchTxtInitialPos[4];
static int nDlgCancelBtnInitialPos[4];
static int nDlgPlayBtnInitialPos[4];
static int nDlgPreviewGrpInitialPos[4];
static int nDlgPreviewImgHInitialPos[4];
static int nDlgPreviewImgVInitialPos[4];
static int nDlgTitleGrpInitialPos[4];
static int nDlgTitleImgHInitialPos[4];
static int nDlgTitleImgVInitialPos[4];
static int nDlgWhiteBoxInitialPos[4];
static int nDlgGameInfoLblInitialPos[4];
static int nDlgRomNameLblInitialPos[4];
static int nDlgRomInfoLblInitialPos[4];
static int nDlgReleasedByLblInitialPos[4];
static int nDlgGenreLblInitialPos[4];
static int nDlgNotesLblInitialPos[4];
static int nDlgGameInfoTxtInitialPos[4];
static int nDlgRomNameTxtInitialPos[4];
static int nDlgRomInfoTxtInitialPos[4];
static int nDlgReleasedByTxtInitialPos[4];
static int nDlgGenreTxtInitialPos[4];
static int nDlgNotesTxtInitialPos[4];
static int nDlgDrvCountTxtInitialPos[4];
static int nDlgDrvRomInfoBtnInitialPos[4];
static int nDlgSelectGameGrpInitialPos[4];
static int nDlgSelectGameLstInitialPos[4];
// Filter TreeView
HWND hFilterList = NULL;
HTREEITEM hFilterCapcomMisc = NULL;
@ -211,6 +257,90 @@ static unsigned int nTmpDrvCount;
static void RebuildEverything();
// ----------------------------------
// Dialog sizing support functions and macros (everything working in client co-ords)
#define GetInititalControlPos(a, b) \
GetWindowRect(GetDlgItem(hSelDlg, a), &rect); \
memset(&point, 0, sizeof(POINT)); \
point.x = rect.left; \
point.y = rect.top; \
ScreenToClient(hSelDlg, &point); \
b[0] = point.x; \
b[1] = point.y; \
GetClientRect(GetDlgItem(hSelDlg, a), &rect); \
b[2] = rect.right; \
b[3] = rect.bottom;
#define SetControlPosAlignTopRight(a, b) \
SetWindowPos(GetDlgItem(hSelDlg, a), hSelDlg, b[0] - xDelta, b[1], 0, 0, SWP_NOZORDER | SWP_NOSIZE | SWP_NOSENDCHANGING);
#define SetControlPosAlignTopLeft(a, b) \
SetWindowPos(GetDlgItem(hSelDlg, a), hSelDlg, b[0], b[1], 0, 0, SWP_NOZORDER | SWP_NOSIZE | SWP_NOSENDCHANGING);
#define SetControlPosAlignBottomRight(a, b) \
SetWindowPos(GetDlgItem(hSelDlg, a), hSelDlg, b[0] - xDelta, b[1] - yDelta, 0, 0, SWP_NOZORDER | SWP_NOSIZE | SWP_NOSENDCHANGING);
#define SetControlPosAlignBottomLeftResizeHor(a, b) \
SetWindowPos(GetDlgItem(hSelDlg, a), hSelDlg, b[0], b[1] - yDelta, b[2] - xDelta, b[3], SWP_NOZORDER | SWP_NOSENDCHANGING);
#define SetControlPosAlignTopRightResizeVert(a, b) \
xScrollBarDelta = (a == IDC_TREE2) ? -18 : 0; \
SetWindowPos(GetDlgItem(hSelDlg, a), hSelDlg, b[0] - xDelta, b[1], b[2] - xScrollBarDelta, b[3] - yDelta, SWP_NOZORDER | SWP_NOSENDCHANGING);
#define SetControlPosAlignTopLeftResizeHorVert(a, b) \
xScrollBarDelta = (a == IDC_TREE1) ? -18 : 0; \
SetWindowPos(GetDlgItem(hSelDlg, a), hSelDlg, b[0], b[1], b[2] - xDelta - xScrollBarDelta, b[3] - yDelta, SWP_NOZORDER | SWP_NOSENDCHANGING);
static void GetInitialPositions()
{
RECT rect;
POINT point;
GetClientRect(hSelDlg, &rect);
nDlgInitialWidth = rect.right;
nDlgInitialHeight = rect.bottom;
GetInititalControlPos(IDC_STATIC_OPT, nDlgOptionsGrpInitialPos);
GetInititalControlPos(IDC_CHECKAVAILABLE, nDlgAvailableChbInitialPos);
GetInititalControlPos(IDC_CHECKUNAVAILABLE, nDlgUnavailableChbInitialPos);
GetInititalControlPos(IDC_CHECKAUTOEXPAND, nDlgAlwaysClonesChbInitialPos);
GetInititalControlPos(IDC_SEL_SHORTNAME, nDlgZipnamesChbInitialPos);
GetInititalControlPos(IDC_SEL_ASCIIONLY, nDlgLatinTextChbInitialPos);
GetInititalControlPos(IDROM, nDlgRomDirsBtnInitialPos);
GetInititalControlPos(IDRESCAN, nDlgScanRomsBtnInitialPos);
GetInititalControlPos(IDC_STATIC_SYS, nDlgFilterGrpInitialPos);
GetInititalControlPos(IDC_TREE2, nDlgFilterTreeInitialPos);
GetInititalControlPos(IDC_SEL_IPSGROUP, nDlgIpsGrpInitialPos);
GetInititalControlPos(IDC_SEL_APPLYIPS, nDlgApplyIpsChbInitialPos);
GetInititalControlPos(IDC_SEL_IPSMANAGER, nDlgIpsManBtnInitialPos);
GetInititalControlPos(IDC_SEL_SEARCHGROUP, nDlgSearchGrpInitialPos);
GetInititalControlPos(IDC_SEL_SEARCH, nDlgSearchTxtInitialPos);
GetInititalControlPos(IDCANCEL, nDlgCancelBtnInitialPos);
GetInititalControlPos(IDOK, nDlgPlayBtnInitialPos);
GetInititalControlPos(IDC_STATIC2, nDlgPreviewGrpInitialPos);
GetInititalControlPos(IDC_SCREENSHOT_H, nDlgPreviewImgHInitialPos);
GetInititalControlPos(IDC_SCREENSHOT_V, nDlgPreviewImgVInitialPos);
GetInititalControlPos(IDC_STATIC3, nDlgTitleGrpInitialPos);
GetInititalControlPos(IDC_SCREENSHOT2_H, nDlgTitleImgHInitialPos);
GetInititalControlPos(IDC_SCREENSHOT2_V, nDlgTitleImgVInitialPos);
GetInititalControlPos(IDC_STATIC_INFOBOX, nDlgWhiteBoxInitialPos);
GetInititalControlPos(IDC_LABELCOMMENT, nDlgGameInfoLblInitialPos);
GetInititalControlPos(IDC_LABELROMNAME, nDlgRomNameLblInitialPos);
GetInititalControlPos(IDC_LABELROMINFO, nDlgRomInfoLblInitialPos);
GetInititalControlPos(IDC_LABELSYSTEM, nDlgReleasedByLblInitialPos);
GetInititalControlPos(IDC_LABELGENRE, nDlgGenreLblInitialPos);
GetInititalControlPos(IDC_LABELNOTES, nDlgNotesLblInitialPos);
GetInititalControlPos(IDC_TEXTCOMMENT, nDlgGameInfoTxtInitialPos);
GetInititalControlPos(IDC_TEXTROMNAME, nDlgRomNameTxtInitialPos);
GetInititalControlPos(IDC_TEXTROMINFO, nDlgRomInfoTxtInitialPos);
GetInititalControlPos(IDC_TEXTSYSTEM, nDlgReleasedByTxtInitialPos);
GetInititalControlPos(IDC_TEXTGENRE, nDlgGenreTxtInitialPos);
GetInititalControlPos(IDC_TEXTNOTES, nDlgNotesTxtInitialPos);
GetInititalControlPos(IDC_DRVCOUNT, nDlgDrvCountTxtInitialPos);
GetInititalControlPos(IDROMINFO, nDlgDrvRomInfoBtnInitialPos);
GetInititalControlPos(IDC_STATIC1, nDlgSelectGameGrpInitialPos);
GetInititalControlPos(IDC_TREE1, nDlgSelectGameLstInitialPos);
}
// Check if a specified driver is working
static bool CheckWorkingStatus(int nDriver)
{
@ -577,6 +707,12 @@ static void MyEndDialog()
hDrvIconMiss = NULL;
}
RECT rect;
GetClientRect(hSelDlg, &rect);
nSelDlgWidth = rect.right;
nSelDlgHeight = rect.bottom;
EndDialog(hSelDlg, 0);
}
@ -807,9 +943,9 @@ static int UpdatePreview(bool bReset, TCHAR *szPath, int HorCtrl, int VerCtrl)
hNewImage = PNGLoadBitmap(hSelDlg, NULL, 213, 160, 2);
}
if (hPrevBmp) {
DeleteObject((HGDIOBJ)hPrevBmp);
}
// if (hPrevBmp) {
// DeleteObject((HGDIOBJ)hPrevBmp);
// }
hPrevBmp = hNewImage;
if (bImageOrientation == 0) {
@ -1108,6 +1244,12 @@ static INT_PTR CALLBACK DialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lP
HICON hIcon = LoadIcon(hAppInst, MAKEINTRESOURCE(IDI_APP));
SendMessage(hSelDlg, WM_SETICON, ICON_SMALL, (LPARAM)hIcon); // Set the Game Selection dialog icon.
GetInitialPositions();
SetWindowPos(hDlg, NULL, 0, 0, nSelDlgWidth, nSelDlgHeight, SWP_NOZORDER);
WndInMid(hDlg, hParent);
return TRUE;
}
@ -1444,6 +1586,82 @@ static INT_PTR CALLBACK DialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lP
DeleteObject(hWhiteBGBrush);
return 0;
}
if (Msg == WM_GETMINMAXINFO) {
MINMAXINFO *info = (MINMAXINFO*)lParam;
info->ptMinTrackSize.x = nDlgInitialWidth;
info->ptMinTrackSize.y = nDlgInitialHeight;
return 0;
}
if (Msg == WM_WINDOWPOSCHANGED) {
RECT rc;
int xDelta;
int yDelta;
int xScrollBarDelta;
if (nDlgInitialWidth == 0 || nDlgInitialHeight == 0) return 0;
GetClientRect(hDlg, &rc);
xDelta = nDlgInitialWidth - rc.right;
yDelta = nDlgInitialHeight - rc.bottom;
if (xDelta == 0 && yDelta == 0) return 0;
SetControlPosAlignTopRight(IDC_STATIC_OPT, nDlgOptionsGrpInitialPos);
SetControlPosAlignTopRight(IDC_CHECKAVAILABLE, nDlgAvailableChbInitialPos);
SetControlPosAlignTopRight(IDC_CHECKUNAVAILABLE, nDlgUnavailableChbInitialPos);
SetControlPosAlignTopRight(IDC_CHECKAUTOEXPAND, nDlgAlwaysClonesChbInitialPos);
SetControlPosAlignTopRight(IDC_SEL_SHORTNAME, nDlgZipnamesChbInitialPos);
SetControlPosAlignTopRight(IDC_SEL_ASCIIONLY, nDlgLatinTextChbInitialPos);
SetControlPosAlignTopRight(IDROM, nDlgRomDirsBtnInitialPos);
SetControlPosAlignTopRight(IDRESCAN, nDlgScanRomsBtnInitialPos);
SetControlPosAlignTopRightResizeVert(IDC_STATIC_SYS, nDlgFilterGrpInitialPos);
SetControlPosAlignTopRightResizeVert(IDC_TREE2, nDlgFilterTreeInitialPos);
SetControlPosAlignBottomRight(IDC_SEL_IPSGROUP, nDlgIpsGrpInitialPos);
SetControlPosAlignBottomRight(IDC_SEL_APPLYIPS, nDlgApplyIpsChbInitialPos);
SetControlPosAlignBottomRight(IDC_SEL_IPSMANAGER, nDlgIpsManBtnInitialPos);
SetControlPosAlignBottomRight(IDC_SEL_SEARCHGROUP, nDlgSearchGrpInitialPos);
SetControlPosAlignBottomRight(IDC_SEL_SEARCH, nDlgSearchTxtInitialPos);
SetControlPosAlignBottomRight(IDCANCEL, nDlgCancelBtnInitialPos);
SetControlPosAlignBottomRight(IDOK, nDlgPlayBtnInitialPos);
SetControlPosAlignTopLeft(IDC_STATIC2, nDlgPreviewGrpInitialPos);
SetControlPosAlignTopLeft(IDC_SCREENSHOT_H, nDlgPreviewImgHInitialPos);
SetControlPosAlignTopLeft(IDC_SCREENSHOT_V, nDlgPreviewImgVInitialPos);
SetControlPosAlignTopLeft(IDC_STATIC3, nDlgTitleGrpInitialPos);
SetControlPosAlignTopLeft(IDC_SCREENSHOT2_H, nDlgTitleImgHInitialPos);
SetControlPosAlignTopLeft(IDC_SCREENSHOT2_V, nDlgTitleImgVInitialPos);
SetControlPosAlignBottomLeftResizeHor(IDC_STATIC_INFOBOX, nDlgWhiteBoxInitialPos);
SetControlPosAlignBottomLeftResizeHor(IDC_LABELCOMMENT, nDlgGameInfoLblInitialPos);
SetControlPosAlignBottomLeftResizeHor(IDC_LABELROMNAME, nDlgRomNameLblInitialPos);
SetControlPosAlignBottomLeftResizeHor(IDC_LABELROMINFO, nDlgRomInfoLblInitialPos);
SetControlPosAlignBottomLeftResizeHor(IDC_LABELSYSTEM, nDlgReleasedByLblInitialPos);
SetControlPosAlignBottomLeftResizeHor(IDC_LABELGENRE, nDlgGenreLblInitialPos);
SetControlPosAlignBottomLeftResizeHor(IDC_LABELNOTES, nDlgNotesLblInitialPos);
SetControlPosAlignBottomLeftResizeHor(IDC_TEXTCOMMENT, nDlgGameInfoTxtInitialPos);
SetControlPosAlignBottomLeftResizeHor(IDC_TEXTROMNAME, nDlgRomNameTxtInitialPos);
SetControlPosAlignBottomLeftResizeHor(IDC_TEXTROMINFO, nDlgRomInfoTxtInitialPos);
SetControlPosAlignBottomLeftResizeHor(IDC_TEXTSYSTEM, nDlgReleasedByTxtInitialPos);
SetControlPosAlignBottomLeftResizeHor(IDC_TEXTGENRE, nDlgGenreTxtInitialPos);
SetControlPosAlignBottomLeftResizeHor(IDC_TEXTNOTES, nDlgNotesTxtInitialPos);
SetControlPosAlignBottomLeftResizeHor(IDC_DRVCOUNT, nDlgDrvCountTxtInitialPos);
SetControlPosAlignBottomRight(IDROMINFO, nDlgDrvRomInfoBtnInitialPos);
SetControlPosAlignTopLeftResizeHorVert(IDC_STATIC1, nDlgSelectGameGrpInitialPos);
SetControlPosAlignTopLeftResizeHorVert(IDC_TREE1, nDlgSelectGameLstInitialPos);
InvalidateRect(hSelDlg, NULL, true);
UpdateWindow(hSelDlg);
return 0;
}
// if (Msg == WM_TIMER) {
// UpdatePreview(false, szAppPreviewsPath, IDC_SCREENSHOT_H, IDC_SCREENSHOT_V);