2008-11-25 09:15 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)

* harbour/contrib/gtwvg/wvggui.c
  * harbour/contrib/gtwvg/wvgdlg.prg
  * harbour/contrib/gtwvg/wvgtoolb.prg
    + Hot Tracking of toolbar buttons.

    ;TODO: Buttons from resources.
           System defined buttons.
           Buttons with dropdown menues.
           Buttons with disabled/hot images.
This commit is contained in:
Pritpal Bedi
2008-11-25 17:20:49 +00:00
parent 23f63ba827
commit 9279f182f6
4 changed files with 36 additions and 12 deletions

View File

@@ -8,6 +8,17 @@
2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
*/
2008-11-25 09:15 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/contrib/gtwvg/wvggui.c
* harbour/contrib/gtwvg/wvgdlg.prg
* harbour/contrib/gtwvg/wvgtoolb.prg
+ Hot Tracking of toolbar buttons.
;TODO: Buttons from resources.
System defined buttons.
Buttons with dropdown menues.
Buttons with disabled/hot images.
2008-11-25 02:14 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/contrib/gtwvg/hbgtwvg.ch
* harbour/contrib/gtwvg/wvtwin.ch

View File

@@ -162,6 +162,10 @@ METHOD destroy() CLASS WvgDialog
::oMenu:destroy()
ENDIF
IF Len( ::aChildren ) > 0
aeval( ::aChildren, {|o| o:destroy() } )
ENDIF
::pGT := NIL
::pGTp := NIL

View File

@@ -1098,17 +1098,20 @@ static LRESULT CALLBACK hb_gt_wvt_WndProc( HWND hWnd, UINT message, WPARAM wPara
LPNMMOUSE nmm = ( LPNMMOUSE ) lParam;
NMHDR nmh = nmm->hdr;
hb_arrayNew( pEvParams, 5 );
hb_arraySetNI( pEvParams, 1, ( int ) wParam );
hb_arraySetNInt( pEvParams, 2, ( HB_PTRDIFF ) nmh.hwndFrom );
hb_arraySetNI( pEvParams, 3, nmh.idFrom );
hb_arraySetNI( pEvParams, 4, nmh.code );
hb_arraySetNL( pEvParams, 5, nmm->dwItemSpec );
if( nmh.code == NM_CLICK )
{
hb_arrayNew( pEvParams, 5 );
hb_arraySetNI( pEvParams, 1, ( int ) wParam );
hb_arraySetNInt( pEvParams, 2, ( HB_PTRDIFF ) nmh.hwndFrom );
hb_arraySetNI( pEvParams, 3, nmh.idFrom );
hb_arraySetNI( pEvParams, 4, nmh.code );
hb_arraySetNL( pEvParams, 5, nmm->dwItemSpec );
hb_gt_wvt_FireEvent( pWVT, HB_GTE_NOTIFY, pEvParams );
hb_gt_wvt_FireEvent( pWVT, HB_GTE_NOTIFY, pEvParams );
hb_itemRelease( pEvParams );
return TRUE;
hb_itemRelease( pEvParams );
return TRUE;
}
}
case WM_CREATE:
{

View File

@@ -226,10 +226,16 @@ METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible ) CLASS Wv
METHOD destroy() CLASS WvgToolBar
LOCAL i, nItems
IF ( nItems := ::numItems() ) > 0
IF ( nItems := Len( ::aItems ) ) > 0
FOR i := 1 TO nItems
IF ::aItems[ i ]:image <> NIL
Win_DeleteObject( ::aItems[ i ]:image )
IF ::aItems[ i,2 ]:image <> NIL
Win_DeleteObject( ::aItems[ i,2 ]:image )
ENDIF
IF ::aItems[ i,2 ]:disabledImage <> NIL
Win_DeleteObject( ::aItems[ i,2 ]:disabledImage )
ENDIF
IF ::aItems[ i,2 ]:hotImage <> NIL
Win_DeleteObject( ::aItems[ i,2 ]:hotImage )
ENDIF
NEXT
ENDIF