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) }
func NewIconFromResourceId(id uintptr) (*Icon, error) { hInst := win.GetModuleHandle(nil) if hInst == 0 { return nil, lastError("GetModuleHandle") } hIcon := win.LoadIcon(hInst, win.MAKEINTRESOURCE(id)) if hIcon == 0 { return nil, lastError("LoadIcon") } return &Icon{hIcon: hIcon}, nil }
func IconQuestion() *Icon { return &Icon{win.LoadIcon(0, win.MAKEINTRESOURCE(win.IDI_QUESTION)), true} }
func IconError() *Icon { return &Icon{win.LoadIcon(0, win.MAKEINTRESOURCE(win.IDI_ERROR)), true} }
func IconApplication() *Icon { return &Icon{win.LoadIcon(0, win.MAKEINTRESOURCE(win.IDI_APPLICATION)), true} }
func CursorWait() Cursor { return stockCursor{win.LoadCursor(0, win.MAKEINTRESOURCE(win.IDC_WAIT))} }
func CursorHelp() Cursor { return stockCursor{win.LoadCursor(0, win.MAKEINTRESOURCE(win.IDC_HELP))} }
func IconWinLogo() *Icon { return &Icon{win.LoadIcon(0, win.MAKEINTRESOURCE(win.IDI_WINLOGO)), true} }
func CursorHand() Cursor { return stockCursor{win.LoadCursor(0, win.MAKEINTRESOURCE(win.IDC_HAND))} }
func CursorAppStarting() Cursor { return stockCursor{win.LoadCursor(0, win.MAKEINTRESOURCE(win.IDC_APPSTARTING))} }
func CursorNo() Cursor { return stockCursor{win.LoadCursor(0, win.MAKEINTRESOURCE(win.IDC_NO))} }
func CursorUpArrow() Cursor { return stockCursor{win.LoadCursor(0, win.MAKEINTRESOURCE(win.IDC_UPARROW))} }
func CursorCross() Cursor { return stockCursor{win.LoadCursor(0, win.MAKEINTRESOURCE(win.IDC_CROSS))} }
func IconWarning() *Icon { return &Icon{win.LoadIcon(0, win.MAKEINTRESOURCE(win.IDI_WARNING)), true} }
func CursorIcon() Cursor { return stockCursor{win.LoadCursor(0, win.MAKEINTRESOURCE(win.IDC_ICON))} }
func IconInformation() *Icon { return &Icon{win.LoadIcon(0, win.MAKEINTRESOURCE(win.IDI_INFORMATION)), true} }
func CursorSize() Cursor { return stockCursor{win.LoadCursor(0, win.MAKEINTRESOURCE(win.IDC_SIZE))} }
func IconShield() *Icon { return &Icon{win.LoadIcon(0, win.MAKEINTRESOURCE(win.IDI_SHIELD)), true} }
func CursorIBeam() Cursor { return stockCursor{win.LoadCursor(0, win.MAKEINTRESOURCE(win.IDC_IBEAM))} }