本文整理匯總了Golang中github.com/lxn/win.WNDCLASSEX類的典型用法代碼示例。如果您正苦於以下問題:Golang WNDCLASSEX類的具體用法?Golang WNDCLASSEX怎麽用?Golang WNDCLASSEX使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了WNDCLASSEX類的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: MustRegisterWindowClassWithWndProcPtr
func MustRegisterWindowClassWithWndProcPtr(className string, wndProcPtr uintptr) {
if registeredWindowClasses[className] {
panic("window class already registered")
}
hInst := win.GetModuleHandle(nil)
if hInst == 0 {
panic("GetModuleHandle")
}
hIcon := win.LoadIcon(0, (*uint16)(unsafe.Pointer(uintptr(win.IDI_APPLICATION))))
if hIcon == 0 {
panic("LoadIcon")
}
hCursor := win.LoadCursor(0, (*uint16)(unsafe.Pointer(uintptr(win.IDC_ARROW))))
if hCursor == 0 {
panic("LoadCursor")
}
var wc win.WNDCLASSEX
wc.CbSize = uint32(unsafe.Sizeof(wc))
wc.LpfnWndProc = wndProcPtr
wc.HInstance = hInst
wc.HIcon = hIcon
wc.HCursor = hCursor
wc.HbrBackground = win.COLOR_BTNFACE + 1
wc.LpszClassName = syscall.StringToUTF16Ptr(className)
if atom := win.RegisterClassEx(&wc); atom == 0 {
panic("RegisterClassEx")
}
registeredWindowClasses[className] = true
}
示例2: MyRegisterClass
func MyRegisterClass(hInstance win.HINSTANCE) (atom win.ATOM) {
var wc win.WNDCLASSEX
wc.CbSize = uint32(unsafe.Sizeof(wc))
wc.Style = win.CS_HREDRAW | win.CS_VREDRAW
wc.LpfnWndProc = syscall.NewCallback(WndProc)
wc.CbClsExtra = 0
wc.CbWndExtra = 0
wc.HInstance = hInstance
wc.HbrBackground = win.GetSysColorBrush(win.COLOR_WINDOWFRAME)
wc.LpszMenuName = syscall.StringToUTF16Ptr("")
wc.LpszClassName = syscall.StringToUTF16Ptr(wndClassName)
wc.HIconSm = win.LoadIcon(0, win.MAKEINTRESOURCE(win.IDI_APPLICATION))
wc.HIcon = win.LoadIcon(0, win.MAKEINTRESOURCE(win.IDI_APPLICATION))
wc.HCursor = win.LoadCursor(0, win.MAKEINTRESOURCE(win.IDC_ARROW))
return win.RegisterClassEx(&wc)
}