Change game selection dialog back to original size, make it resizable, and fix disappearing preview image bug
This commit is contained in:
parent
3211db5adc
commit
7c2cff3d56
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue