このホームページは Amazon Kindle 本の作成中の草稿です。日々、原稿を見直しているので、内容が変わることに留意して読んで下さい。本が出版され次第、このホームページは削除されます。
1.29 ウィンドウハンドルの取得(wm_frame)
メインウィンドウは OS によってタイトルバーやメニューが装飾されて作成されます。この場合、OS が操作に用いる識別子(ウィンドウハンドル)は、Wm クラスの「wm_frame」メソッドで取得することができます。Windows の関数でウィンドウを操作する場合はこの識別子を用います。下記の書式を用います。Wm クラスメソッドを参照して下さい。
object.wm_frame()
このメソッドで取得される識別子は 16 進文字列であることに注意します。
次のプログラムは、メインウィンドウのウィンドウハンドルを「wm_frame」メソッドで取得しています。取得値は 16 進文字列なので Python の関数で 10 進整数値に変換しています。それぞれを「print」出力しています。
import tkinter as tk | |
root = tk.Tk() | |
root.config(width=300, height=200, bg='blue') | |
root.geometry('+100+100') | |
root.update() | |
rf = root.wm_frame() | |
print(rf) | |
hwnd = int(rf, 16) | |
print(hwnd) | |
root.mainloop() |
プログラムを実行すると、ウィンドウが表示され、ウィンドウハンドルが 16 進文字列、10 進整数値としてprint」出力されます。
0x3404e6
3409126
3409126