Я работал с вызовами API Windows, чтобы получить некоторые собственные стили окон Windows, работающие с Tkinter. Я столкнулся с проблемами, когда пытался предотвратить изменение размера окна. Использование root.resizable(False, False)
перед сопоставлением окна дает эффект, мало чем отличающийся от эффекта метода root.overrideredirect(True)
; вызов его после того, как стиль был изменен, вызывает всевозможные сумасшествия (окно психует). Я думаю, что, вероятно, есть специфичный для Windows эквивалент root.resizable(False, False)
. Как мне заставить это работать? Имейте в виду, что у меня есть дескриптор окна Tkinter.
Код :
import Tkinter as tk
import string, win32ui, win32con
def decaption(event):
root = event.widget
# makes a handle to the window
handle = string.atoi(root.wm_frame(), 0)
# changes the style
frame = win32ui.CreateWindowFromHandle(handle)
frame.ModifyStyle(win32con.WS_CAPTION, 0, win32con.SWP_FRAMECHANGED)
root.bind("<Map>", None)
root = tk.Tk()
# changes the style when the window is mapped
root.bind("<Map>", decaption)
root.mainloop()