Minimal TreeView item hieght is 16, the height of the checbox
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3076 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
419d351fc3
commit
570f1b0e75
1 changed files with 40 additions and 14 deletions
|
@ -353,8 +353,7 @@ static int CALLBACK WINAPI BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lPara
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
BOOL bMainShown = FALSE;
|
||||||
|
|
||||||
BOOL CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
BOOL CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
if (uMsg == WM_INITDIALOG || uMsg == WM_NOTIFY_OUTER_NEXT)
|
if (uMsg == WM_INITDIALOG || uMsg == WM_NOTIFY_OUTER_NEXT)
|
||||||
|
@ -381,11 +380,11 @@ BOOL CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
m_hwndOK=GetDlgItem(hwndDlg,IDOK);
|
m_hwndOK=GetDlgItem(hwndDlg,IDOK);
|
||||||
m_hwndCancel=GetDlgItem(hwndDlg,IDCANCEL);
|
m_hwndCancel=GetDlgItem(hwndDlg,IDCANCEL);
|
||||||
SetDlgItemTextFromLang(hwndDlg,IDC_VERSTR,LANG_BRANDING);
|
SetDlgItemTextFromLang(hwndDlg,IDC_VERSTR,LANG_BRANDING);
|
||||||
SetClassLong(hwndDlg,GCL_HICON,(long)g_hIcon);
|
SetClassLong(hwndDlg,GCL_HICON,(long)g_hIcon);
|
||||||
#if defined(NSIS_SUPPORT_CODECALLBACKS) && defined(NSIS_CONFIG_ENHANCEDUI_SUPPORT)
|
#if defined(NSIS_SUPPORT_CODECALLBACKS) && defined(NSIS_CONFIG_ENHANCEDUI_SUPPORT)
|
||||||
if (!(g_quit_flag = ExecuteCodeSegment(g_header->code_onGUIInit,NULL)))
|
g_quit_flag = ExecuteCodeSegment(g_header->code_onGUIInit,NULL);
|
||||||
#endif
|
#endif
|
||||||
ShowWindow(hwndDlg,SW_SHOW);
|
//ShowWindow(hwndDlg,SW_SHOW);
|
||||||
}
|
}
|
||||||
|
|
||||||
this_page=g_pages+m_page;
|
this_page=g_pages+m_page;
|
||||||
|
@ -422,7 +421,7 @@ nextPage:
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
HWND hwndtmp;
|
HWND hwndtmp, newPage;
|
||||||
|
|
||||||
int pflags = this_page->flags;
|
int pflags = this_page->flags;
|
||||||
|
|
||||||
|
@ -456,7 +455,10 @@ nextPage:
|
||||||
}
|
}
|
||||||
#endif //NSIS_SUPPORT_CODECALLBACKS
|
#endif //NSIS_SUPPORT_CODECALLBACKS
|
||||||
|
|
||||||
if (this_page->wndproc_id != PWP_COMPLETED) DestroyWindow(m_curwnd);
|
if (this_page->wndproc_id != PWP_COMPLETED) {
|
||||||
|
// Done inside WM_NOTIFY_CUSTOM_READY
|
||||||
|
//DestroyWindow(m_curwnd);
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
if (g_exec_flags.abort) SetFocus(m_hwndCancel);
|
if (g_exec_flags.abort) SetFocus(m_hwndCancel);
|
||||||
else if (g_exec_flags.autoclose) goto nextPage;
|
else if (g_exec_flags.autoclose) goto nextPage;
|
||||||
|
@ -469,25 +471,25 @@ nextPage:
|
||||||
|
|
||||||
if (this_page->dlg_id > 0) // NSIS page
|
if (this_page->dlg_id > 0) // NSIS page
|
||||||
{
|
{
|
||||||
m_curwnd=CreateDialogParam(
|
newPage=CreateDialogParam(
|
||||||
g_hInstance,
|
g_hInstance,
|
||||||
MAKEINTRESOURCE(this_page->dlg_id+dlg_offset),
|
MAKEINTRESOURCE(this_page->dlg_id+dlg_offset),
|
||||||
hwndDlg,winprocs[this_page->wndproc_id],(LPARAM)this_page
|
hwndDlg,winprocs[this_page->wndproc_id],(LPARAM)this_page
|
||||||
);
|
);
|
||||||
if (m_curwnd)
|
if (newPage)
|
||||||
{
|
{
|
||||||
RECT r;
|
RECT r;
|
||||||
|
|
||||||
SetDlgItemTextFromLang(m_curwnd,IDC_INTROTEXT,this_page->parms[0]);
|
SetDlgItemTextFromLang(newPage,IDC_INTROTEXT,this_page->parms[0]);
|
||||||
|
|
||||||
GetWindowRect(GetDlgItem(hwndDlg,IDC_CHILDRECT),&r);
|
GetWindowRect(GetDlgItem(hwndDlg,IDC_CHILDRECT),&r);
|
||||||
ScreenToClient(hwndDlg,(LPPOINT)&r);
|
ScreenToClient(hwndDlg,(LPPOINT)&r);
|
||||||
SetWindowPos(m_curwnd,0,r.left,r.top,0,0,SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOZORDER);
|
SetWindowPos(newPage,0,r.left,r.top,0,0,SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOZORDER|SWP_NOREDRAW);
|
||||||
|
SendMessage(hwndDlg, WM_NOTIFY_CUSTOM_READY, (WPARAM)newPage, 0);
|
||||||
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
#ifdef NSIS_SUPPORT_CODECALLBACKS
|
||||||
ExecuteCodeSegment(this_page->showfunc,NULL);
|
ExecuteCodeSegment(this_page->showfunc,NULL);
|
||||||
#endif //NSIS_SUPPORT_CODECALLBACKS
|
#endif //NSIS_SUPPORT_CODECALLBACKS
|
||||||
ShowWindow(m_curwnd,SW_SHOWNA);
|
SendMessage(newPage,WM_NOTIFY_START,0,0);
|
||||||
SendMessage(m_curwnd,WM_NOTIFY_START,0,0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//XGE 5th September 2002 - Do *not* move the focus to the OK button if we are
|
//XGE 5th September 2002 - Do *not* move the focus to the OK button if we are
|
||||||
|
@ -511,10 +513,23 @@ nextPage:
|
||||||
}
|
}
|
||||||
#endif //NSIS_SUPPORT_BGBG
|
#endif //NSIS_SUPPORT_BGBG
|
||||||
|
|
||||||
if (uMsg == WM_NOTIFY_CUSTOM_READY) {
|
if (uMsg == WM_NOTIFY_CUSTOM_READY ) {
|
||||||
|
SetWindowPos(m_curwnd, 0, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_HIDEWINDOW | SWP_NOREDRAW );
|
||||||
DestroyWindow(m_curwnd);
|
DestroyWindow(m_curwnd);
|
||||||
|
|
||||||
m_curwnd = (HWND)wParam;
|
m_curwnd = (HWND)wParam;
|
||||||
|
|
||||||
|
SetWindowPos(m_curwnd, 0, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_SHOWWINDOW );
|
||||||
|
|
||||||
|
if ( !bMainShown )
|
||||||
|
{
|
||||||
|
bMainShown = TRUE;
|
||||||
|
SetWindowPos(hwndDlg, 0, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_SHOWWINDOW | SWP_FRAMECHANGED);
|
||||||
|
}
|
||||||
|
|
||||||
|
InvalidateRect(hwndDlg, NULL, TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (uMsg == WM_CLOSE)
|
if (uMsg == WM_CLOSE)
|
||||||
{
|
{
|
||||||
if (!IsWindowEnabled(m_hwndCancel) && IsWindowEnabled(m_hwndOK))
|
if (!IsWindowEnabled(m_hwndCancel) && IsWindowEnabled(m_hwndOK))
|
||||||
|
@ -559,6 +574,7 @@ nextPage:
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Forward WM_COMMANDs to inner dialogs, can be custom ones
|
// Forward WM_COMMANDs to inner dialogs, can be custom ones
|
||||||
|
// It allow inner dialogs to react on keyboard, ex: button can be clicked using the ENTER key
|
||||||
SendMessage(m_curwnd, uMsg, wParam, lParam);
|
SendMessage(m_curwnd, uMsg, wParam, lParam);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1034,6 +1050,16 @@ static BOOL CALLBACK SelProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
||||||
|
|
||||||
TreeView_SetImageList(hwndTree1, hImageList, TVSIL_STATE);
|
TreeView_SetImageList(hwndTree1, hImageList, TVSIL_STATE);
|
||||||
|
|
||||||
|
#ifndef TVM_SETITEMHEIGHT
|
||||||
|
#define TVM_SETITEMHEIGHT (TV_FIRST + 27)
|
||||||
|
#endif
|
||||||
|
#ifndef TVM_GETITEMHEIGHT
|
||||||
|
#define TVM_GETITEMHEIGHT (TV_FIRST + 28)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (SendMessage(hwndTree1, TVM_GETITEMHEIGHT, 0, 0) < 16)
|
||||||
|
SendMessage(hwndTree1, TVM_SETITEMHEIGHT, 16, 0);
|
||||||
|
|
||||||
DeleteObject(hBMcheck1);
|
DeleteObject(hBMcheck1);
|
||||||
|
|
||||||
for (i = 0; i < NSIS_MAX_INST_TYPES+1; i++)
|
for (i = 0; i < NSIS_MAX_INST_TYPES+1; i++)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue