def OnPaint(self, hwnd, msg, wp, lp):
dc, ps=win32gui.BeginPaint(hwnd)
wndrect = win32gui.GetClientRect(hwnd)
wndwidth = wndrect[2]-wndrect[0]
wndheight = wndrect[3]-wndrect[1]
win32clipboard.OpenClipboard()
try:
try:
hbitmap = win32clipboard.GetClipboardData(win32clipboard.CF_BITMAP)
except TypeError:
font=win32gui.LOGFONT()
font.lfHeight=15 #int(wndheight/20)
font.lfWidth=15 #font.lfHeight
# font.lfWeight=150
hf=win32gui.CreateFontIndirect(font)
win32gui.SelectObject(dc,hf)
win32gui.SetBkMode(dc, win32con.TRANSPARENT)
win32gui.SetTextColor(dc,win32api.RGB(0,0,0))
win32gui.DrawText(dc,'No bitmaps are in the clipboard\n(try pressing the PrtScn button)', -1,
(0,0, wndwidth, wndheight),
win32con.DT_CENTER)
else:
bminfo = win32gui.GetObject(hbitmap)
dcDC = win32gui.CreateCompatibleDC(None)
win32gui.SelectObject(dcDC, hbitmap)
win32gui.StretchBlt(dc, 0, 0, wndwidth, wndheight, dcDC, 0, 0, bminfo.bmWidth, bminfo.bmHeight, win32con.SRCCOPY)
win32gui.DeleteDC(dcDC)
win32gui.EndPaint(hwnd, ps)
finally:
win32clipboard.CloseClipboard()
return 0
评论列表
文章目录