Called from: => TRANSBMP( 0 )
Called from: .\source\classes\TABS.PRG => TTABS:PAINTTAB( 365 )
Called from: .\source\classes\TABS.PRG => TTABS:PAINTOVER( 523 )
Called from: .\source\classes\TABS.PRG => TTABS:MOUSEHOVER( 553 )
Called from: .\source\classes\TABS.PRG => (b)TTABS_NEW( 182 )
Called from: .\source\classes\WINDOW.PRG => TWINDOW:MOUSEMOVE( 2911 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:MOUSEMOVE( 741 )
Called from: .\source\classes\TABS.PRG => TTABS:MOUSEMOVE( 1041 )
Called from: => TWINDOW:HANDLEEVENT( 0 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1699 )
Called from: .\source\classes\TABS.PRG => TTABS:HANDLEEVENT( 1021 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3160 )
Called from: => DIALOGBOXINDIRECT( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 266 )
Error (2) Can't create bitmap
#pragma BEGINDUMP
#include <windows.h>
#include <hbapi.h>
static void TransBmp( HBITMAP hBitmap, int iXsize, int iYsize,
COLORREF rgbTransparent, HDC hDC,
int iXOffset, int iYOffset, int iWidth, int iHeight )
{
HDC mDC, nDC;
HBITMAP hMask, hBmOld1, hBmOld2;
LPBYTE lpBits;
mDC = CreateCompatibleDC( hDC );
if( mDC )
{
hBmOld1 = ( HBITMAP ) SelectObject( mDC, hBitmap );
lpBits = ( LPBYTE ) hb_xgrab( iXsize * iYsize * 2 );
if( lpBits )
{
hMask = CreateBitmap( iXsize, iYsize, 1, 1, lpBits );
if( hMask )
{
nDC = CreateCompatibleDC( hDC );
if( nDC )
{
hBmOld2 = ( HBITMAP ) SelectObject( nDC, hMask );
SetBkColor( mDC, rgbTransparent );
BitBlt( nDC, 0, 0, iXsize, iYsize, mDC, 0, 0, SRCCOPY );
SetStretchBltMode( hDC, COLORONCOLOR );
StretchBlt( hDC, iXOffset, iYOffset, iWidth, iHeight,
mDC, 0, 0, iXsize, iYsize,
SRCINVERT );
StretchBlt( hDC, iXOffset, iYOffset, iWidth, iHeight,
nDC, 0, 0, iXsize, iYsize,
SRCAND );
StretchBlt( hDC, iXOffset, iYOffset, iWidth, iHeight,
mDC, 0, 0, iXsize, iYsize,
SRCINVERT );
SelectObject( nDC, hBmOld2 );
DeleteDC( nDC );
}
else
MessageBox( 0, "(1) Can't create compatible DC!", "Error", 0 );
DeleteObject( hMask );
}
else
MessageBox( 0, "(2) Can't create bitmap!", "Error", 0 );
hb_xfree( lpBits );
}
else
MessageBox( 0, "(3) Can't allocate memory!", "Error", 0 );
SelectObject( mDC, hBmOld1 );
DeleteDC( mDC );
}
else
MessageBox( 0, "(4) Can't create DC!", "Error", 0 );
}
HB_FUNC( TRANSBMP )
{
TransBmp( ( HBITMAP ) hb_parnl( 1 ), hb_parnl( 2 ), hb_parnl( 3 ), hb_parnl( 4 ),
( HDC ) hb_parnl( 5 ), hb_parnl( 6 ), hb_parnl( 7 ), hb_parnl( 8 ),
hb_parnl( 9 ) );
}
#pragma ENDDUMP
define timer oTimer interval 1000 action ( oWnd:cTitle := Time(), oRBar:refresh() ) of oWnd
ukservice wrote:Who is the author of TransBmp?.
ukservice wrote:But also it is required to work with the program, click on buttons, open dialogs, treport, etc.
define timer oTimer interval 1000 action ( If( n++%2 == 0, oWnd:Move( , , 100, 100 ), oWnd:Move( , , 800, 800 ) ), sysrefresh() ) of oWnd
ukservice wrote:
Who is the author of TransBmp?.
MessageBox( 0, "(2) Can't create bitmap!", "Error", 0 );
ukservice wrote:And what about METHOD Paint() at CLASS TRBtn?. At the end of it //ReleaseDC( ::hWnd, ::hDC ) is commented. I don´t know why.
FONT,1292505504,TWINDOW:GETFONT(2732)->TWINDOW:NEW(847)->MAIN(179)
::GetFont()
return Self
DEFINE WINDOW oWndMain FROM 1, 1 TO 28, 75 ;
TITLE "TEST" ;
MENU MenuMain()
Return to FiveWin for Harbour/xHarbour
Users browsing this forum: Google [Bot] and 84 guests