2009-04-14 09:04 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/source/rtl/gtwvt/gtwvt.c
* harbour/contrib/gtwvg/gtwvg.c
! Fixed a long standing bug - window mismanaged when clicking on titlebar.
Processed WM_NCLBUTTONDCLK:
This commit is contained in:
@@ -8,6 +8,12 @@
|
||||
2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
|
||||
*/
|
||||
|
||||
2009-04-14 09:04 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
|
||||
* harbour/source/rtl/gtwvt/gtwvt.c
|
||||
* harbour/contrib/gtwvg/gtwvg.c
|
||||
! Fixed a long standing bug - window mismanaged when clicking on titlebar.
|
||||
Processed WM_NCLBUTTONDCLK:
|
||||
|
||||
2009-04-14 15:57 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
! Fixed Borland stub for both GUI and CUI mode.
|
||||
|
||||
@@ -919,6 +919,25 @@ static BOOL hb_gt_wvt_FitSizeRows( PHB_GTWVT pWVT )
|
||||
return( bSizeChanged );
|
||||
}
|
||||
|
||||
static void hb_gt_wvt_Maximize( PHB_GTWVT pWVT )
|
||||
{
|
||||
pWVT->bMaximized = TRUE;
|
||||
hb_gt_wvt_FitSizeRows( pWVT );
|
||||
|
||||
/* Disable "maximize" button */
|
||||
{
|
||||
#if (defined(_MSC_VER) && (_MSC_VER <= 1200 || defined(HB_OS_WIN_CE)) || defined(__DMC__)) && !defined(HB_ARCH_64BIT)
|
||||
DWORD style = GetWindowLong( pWVT->hWnd, GWL_STYLE );
|
||||
SetWindowLong( pWVT->hWnd, GWL_STYLE, style &~ WS_MAXIMIZEBOX );
|
||||
#else
|
||||
LONG_PTR style = GetWindowLongPtr( pWVT->hWnd, GWL_STYLE );
|
||||
SetWindowLongPtr( pWVT->hWnd, GWL_STYLE, ( HB_PTRDIFF ) style &~ WS_MAXIMIZEBOX );
|
||||
#endif
|
||||
}
|
||||
SetWindowPos( pWVT->hWnd, NULL, 0, 0, 0, 0,
|
||||
SWP_NOACTIVATE | SWP_DRAWFRAME | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_DEFERERASE );
|
||||
}
|
||||
|
||||
static void hb_gt_wvt_ResetWindowSize( PHB_GTWVT pWVT )
|
||||
{
|
||||
HDC hdc;
|
||||
@@ -2073,27 +2092,19 @@ static LRESULT CALLBACK hb_gt_wvt_WndProc( HWND hWnd, UINT message, WPARAM wPara
|
||||
hb_gt_wvt_FitSizeRows( pWVT );
|
||||
return 0;
|
||||
|
||||
case WM_NCLBUTTONDBLCLK:
|
||||
if( !pWVT->bMaximized )
|
||||
{
|
||||
hb_gt_wvt_Maximize( pWVT );
|
||||
}
|
||||
return 0;
|
||||
|
||||
case WM_SYSCOMMAND:
|
||||
switch( wParam )
|
||||
{
|
||||
case SC_MAXIMIZE:
|
||||
{
|
||||
pWVT->bMaximized = TRUE;
|
||||
|
||||
hb_gt_wvt_FitSizeRows( pWVT );
|
||||
|
||||
/* Disable "maximize" button */
|
||||
{
|
||||
#if (defined(_MSC_VER) && (_MSC_VER <= 1200 || defined(HB_OS_WIN_CE)) || defined(__DMC__)) && !defined(HB_ARCH_64BIT)
|
||||
DWORD style = GetWindowLong( pWVT->hWnd, GWL_STYLE );
|
||||
SetWindowLong( pWVT->hWnd, GWL_STYLE, style &~ WS_MAXIMIZEBOX );
|
||||
#else
|
||||
LONG_PTR style = GetWindowLongPtr( pWVT->hWnd, GWL_STYLE );
|
||||
SetWindowLongPtr( pWVT->hWnd, GWL_STYLE, ( HB_PTRDIFF ) style &~ WS_MAXIMIZEBOX );
|
||||
#endif
|
||||
}
|
||||
SetWindowPos( pWVT->hWnd, NULL, 0, 0, 0, 0,
|
||||
SWP_NOACTIVATE | SWP_DRAWFRAME | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_DEFERERASE );
|
||||
hb_gt_wvt_Maximize( pWVT );
|
||||
return 0;
|
||||
}
|
||||
case SYS_EV_MARK:
|
||||
|
||||
@@ -729,6 +729,31 @@ static void hb_gt_wvt_FitSize( PHB_GTWVT pWVT )
|
||||
}
|
||||
}
|
||||
|
||||
static void hb_gt_wvt_Maximize( PHB_GTWVT pWVT )
|
||||
{
|
||||
pWVT->bMaximized = TRUE;
|
||||
|
||||
if( pWVT->ResizeMode == HB_GTI_RESIZEMODE_FONT )
|
||||
hb_gt_wvt_FitSize( pWVT );
|
||||
else
|
||||
hb_gt_wvt_FitRows( pWVT );
|
||||
|
||||
/* Disable "maximize" button */
|
||||
#if (defined(_MSC_VER) && (_MSC_VER <= 1200 || defined(HB_OS_WIN_CE)) || defined(__DMC__)) && !defined(HB_ARCH_64BIT)
|
||||
SetWindowLong( pWVT->hWnd, GWL_STYLE, WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_THICKFRAME );
|
||||
#else
|
||||
SetWindowLongPtr( pWVT->hWnd, GWL_STYLE, WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_THICKFRAME );
|
||||
#endif
|
||||
SetWindowPos( pWVT->hWnd, NULL, 0, 0, 0, 0,
|
||||
SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_DEFERERASE );
|
||||
ShowWindow( pWVT->hWnd, SW_HIDE );
|
||||
ShowWindow( pWVT->hWnd, SW_NORMAL );
|
||||
|
||||
hb_gt_wvt_FireEvent( pWVT, HB_GTE_RESIZED );
|
||||
if( pWVT->ResizeMode == HB_GTI_RESIZEMODE_ROWS )
|
||||
hb_gt_wvt_AddCharToInputQueue( pWVT, HB_K_RESIZE );
|
||||
}
|
||||
|
||||
static void hb_gt_wvt_ResetWindowSize( PHB_GTWVT pWVT )
|
||||
{
|
||||
HDC hdc;
|
||||
@@ -1701,33 +1726,19 @@ static LRESULT CALLBACK hb_gt_wvt_WndProc( HWND hWnd, UINT message, WPARAM wPara
|
||||
}
|
||||
return 0;
|
||||
|
||||
case WM_NCLBUTTONDBLCLK:
|
||||
if( !pWVT->bMaximized )
|
||||
{
|
||||
hb_gt_wvt_Maximize( pWVT );
|
||||
}
|
||||
return 0;
|
||||
|
||||
case WM_SYSCOMMAND:
|
||||
switch( wParam )
|
||||
{
|
||||
case SC_MAXIMIZE:
|
||||
{
|
||||
pWVT->bMaximized = TRUE;
|
||||
|
||||
if( pWVT->ResizeMode == HB_GTI_RESIZEMODE_FONT )
|
||||
hb_gt_wvt_FitSize( pWVT );
|
||||
else
|
||||
hb_gt_wvt_FitRows( pWVT );
|
||||
|
||||
/* Disable "maximize" button */
|
||||
#if (defined(_MSC_VER) && (_MSC_VER <= 1200 || defined(HB_OS_WIN_CE)) || defined(__DMC__)) && !defined(HB_ARCH_64BIT)
|
||||
SetWindowLong( pWVT->hWnd, GWL_STYLE, WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_THICKFRAME );
|
||||
#else
|
||||
SetWindowLongPtr( pWVT->hWnd, GWL_STYLE, WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_THICKFRAME );
|
||||
#endif
|
||||
SetWindowPos( pWVT->hWnd, NULL, 0, 0, 0, 0,
|
||||
SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_DEFERERASE );
|
||||
ShowWindow( pWVT->hWnd, SW_HIDE );
|
||||
ShowWindow( pWVT->hWnd, SW_NORMAL );
|
||||
|
||||
hb_gt_wvt_FireEvent( pWVT, HB_GTE_RESIZED );
|
||||
if( pWVT->ResizeMode == HB_GTI_RESIZEMODE_ROWS )
|
||||
hb_gt_wvt_AddCharToInputQueue( pWVT, HB_K_RESIZE );
|
||||
|
||||
hb_gt_wvt_Maximize( pWVT );
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user