使用Python Tkinter:如何平滑移动和调整非焦点窗口的大小?

时间:2014-09-01 09:43:48

标签: python winapi tkinter pywin32

我使用Tkinter创建了一个不可聚焦的窗口:

import Tkinter as tk
import win32api
import win32con
import pywintypes

root = tk.Tk()

root.geometry("+0+0")
root.lift()


hWindow = pywintypes.HANDLE(int(root.frame(), 16))
exStyle = win32con.WS_EX_COMPOSITED | win32con.WS_EX_LAYERED | win32con.WS_EX_NOACTIVATE
win32api.SetWindowLong(hWindow, win32con.GWL_EXSTYLE, exStyle)

root.mainloop()

在Delphi中为了顺利移动和调整它,我使用代码:

procedure TForm1.WMMoving(var Msg: TMessage);
var
  Rect: ^TRect;
begin
  Rect := Pointer(Msg.LParam);
  SetWindowPos(Form1.Handle, HWND_TOPMOST, Rect^.left, Rect^.top,
    Rect^.right - Rect^.left, Rect^.bottom - Rect^.top, 0);
end;

procedure TForm1.WMSizing(var Msg: TMessage);
var
  Rect: ^TRect;
begin
  Rect := Pointer(Msg.LParam);
  SetWindowPos(Form1.Handle, HWND_TOPMOST, Rect^.left, Rect^.top,
    Rect^.right - Rect^.left, Rect^.bottom - Rect^.top, 0);
end;

我需要它来创建一个屏幕键盘。

0 个答案:

没有答案