mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-23 12:19:19 +02:00
fix menuitem icon patch, hdcScreen released too soon
git-svn-id: trunk@4893 -
This commit is contained in:
parent
2d402a5596
commit
53135f6bc0
@ -2796,16 +2796,14 @@ var MenuInfo: MENUITEMINFO;
|
||||
if (maxWidth>=TMenuItem(Sender).Bitmap.Width) and (maxHeight>=TMenuItem(Sender).Bitmap.Height) then Result:=TMenuItem(Sender).Bitmap.Handle
|
||||
else
|
||||
begin
|
||||
newWidth:=min(maxWidth, TMenuItem(Sender).Bitmap.Width);
|
||||
newHeight:=min(maxHeight, TMenuItem(Sender).Bitmap.Height);
|
||||
hdcScreen:=GetDC(GetDesktopWindow);
|
||||
hdcOrigBitmap:=CreateCompatibleDC(hdcScreen);
|
||||
hdcNewBitmap:=CreateCompatibleDC(hdcScreen);
|
||||
hbmpCheck:=CreateCompatibleBitmap(hdcScreen, maxWidth, maxHeight);
|
||||
ReleaseDC(GetDesktopWindow, hdcScreen);
|
||||
hbmpCheck:=CreateCompatibleBitmap(hdcScreen, newWidth, newHeight);
|
||||
OldOrigBitmap:=SelectObject(hdcOrigBitmap, TMenuItem(Sender).Bitmap.Handle);
|
||||
OldCheckmark:=SelectObject(hdcNewBitmap, hbmpCheck);
|
||||
StretchBlt(hdcNewBitmap, 0, 0, newWidth, newHeight, hdcOrigBitmap, 0, 0, TMenuItem(Sender).Bitmap.Width, TMenuItem(Sender).Bitmap.Height, SRCCOPY);
|
||||
StretchBlt(hdcNewBitmap, 0, 0, maxWidth, maxHeight, hdcOrigBitmap, 0, 0, TMenuItem(Sender).Bitmap.Width, TMenuItem(Sender).Bitmap.Height, SRCCOPY);
|
||||
SelectObject(hdcOrigBitmap, OldOrigBitmap);
|
||||
hbmpCheck:=SelectObject(hdcNewBitmap, OldCheckmark);
|
||||
DeleteDC(hdcNewBitmap);
|
||||
@ -2890,6 +2888,9 @@ End;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.142 2003/12/16 21:04:02 micha
|
||||
fix menuitem icon patch, hdcScreen released too soon
|
||||
|
||||
Revision 1.141 2003/12/15 21:57:16 micha
|
||||
checklistbox, implement object+checked; from vincent
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user