Python:创建一个简单的Window窗口

#如果对Window Program有兴趣,可以看一下《windows程序设计》

#编写者:SDY

import win32api,win32gui,win32con,os
#窗口类
class My_Window():
    def __init__(self):
        wndclass=win32gui.WNDCLASS()
        wndclass.style=win32con.CS_HREDRAW|win32con.CS_VREDRAW
        wndclass.cbWndExtra=0
#      wndclass.hInstance=self.hInstance
        wndclass.hIcon=win32gui.LoadIcon(0,win32con.IDI_WINLOGO)
        wndclass.hCursor=win32gui.LoadCursor(0,win32con.IDC_ARROW)
        wndclass.hbrBackground=win32gui.GetStockObject(win32con.WHITE_BRUSH)
#      wndclass.lpszMenuName='Menu'
        wndclass.lpszClassName='MyWindowClass'
        wndclass.lpfnWndProc=self.WndProc
        atom=win32gui.RegisterClass(wndclass)
        self.class_atom=atom

#窗口过程函数
    def WndProc(self,handle,msg,mwParam,mlParam):
        if msg==win32con.WM_PAINT:
            hdc,ps=win32gui.BeginPaint(handle)
            rect=win32gui.GetClientRect(handle)
            win32gui.DrawText(hdc,'Window',-1,rect,

            win32con.DT_SINGLELINE|win32con.DT_CENTER|win32con.DT_VCENTER)
            win32gui.EndPaint(handle,ps)
            return 0
        elif msg==win32con.WM_DESTROY:
            win32gui.PostQuitMessage(0)
            return 0
        else:
            return win32gui.DefWindowProc(handle, msg, mwParam, mlParam)

#主函数

WinClass=My_Window()
msg=1
handle=win32gui.CreateWindow(WinClass.class_atom,'Hello Window',win32con.WS_OVERLAPPEDWINDOW,win32con.CW_USEDEFAULT,win32con.CW_USEDEFAULT,win32con.CW_USEDEFAULT,  win32con.CW_USEDEFAULT,0,0,0,None)
win32gui.ShowWindow(handle,win32con.SW_SHOWNORMAL)
win32gui.UpdateWindow(handle)
while msg:
    msg=win32gui.GetMessage(handle,0,0)
    win32gui.TranslateMessage(msg[1])
    win32gui.DispatchMessage(msg[1])
#os.system('pause')

你可能感兴趣的:(windows,python)