func imgButton_OnPaint(arg *gform.EventArg) { if data, ok := arg.Data().(*gform.PaintEventData); ok { var b *ImgButton if b, ok = arg.Sender().(*ImgButton); ok { var bmp *gform.Bitmap switch b.state { case IBSNormal: bmp = newResBitmap(&b.resNormal) case IBSMouseHover: bmp = newResBitmap(&b.resMouseOver) case IBSClick: bmp = newResBitmap(&b.resClick) } if bmp != nil { defer bmp.Dispose() if b.Height() != bmp.Height() || b.Width() != bmp.Width() { b.SetSize(bmp.Size()) } data.Canvas.DrawBitmap(bmp, 0, 0) } } } }
func onpaint(arg *gform.EventArg) { if data, ok := arg.Data().(*gform.PaintEventData); ok { if bmp, err := gform.NewBitmapFromResource( gform.GetAppInstance(), w32.MakeIntResource(IDR_PNG1), syscall.StringToUTF16Ptr("PNG"), gform.RGB(255, 0, 0)); err == nil { data.Canvas.DrawBitmap(bmp, 10, 10) bmp.Dispose() } else { println(err.Error()) } } }
func mainform_OnPaint(arg *gform.EventArg) { var mf *Mainform var ok bool var data *gform.PaintEventData if mf, ok = arg.Sender().(*Mainform); ok { if data, ok = arg.Data().(*gform.PaintEventData); ok { gResMainformBkColor := gform.RGB(255, 255, 255) bkBrush := gform.NewSolidColorBrush(gResMainformBkColor) defer bkBrush.Dispose() borderBrush := gform.NewSolidColorBrush(gform.RGB(154, 154, 154)) defer borderBrush.Dispose() borderPen := gform.NewPen(w32.PS_COSMETIC|w32.PS_SOLID, 1, borderBrush) defer borderPen.Dispose() data.Canvas.DrawRect(mf.ClientRect(), borderPen, bkBrush) // Draw title bar w := mf.Width() titleRect := gform.NewRect(1, 1, w-1, 22) titleBrush := gform.NewSolidColorBrush(gMainformTitleBarColor) defer titleBrush.Dispose() data.Canvas.FillRect(titleRect, titleBrush) // Draw title text f := gform.NewFont("Bauhaus 93", 9, 0) defer f.Dispose() titleRect.Inflate(-5, 0) data.Canvas.DrawText(mf.Caption(), titleRect, w32.DT_LEFT|w32.DT_VCENTER|w32.DT_SINGLELINE, f, gResMainformBkColor) // Draw "Drop Here" f = gform.NewFont("Bauhaus 93", 25, gform.FontBold) defer f.Dispose() bodyRect := gform.NewRect(1, 50, w-1, 120) data.Canvas.DrawText("Drop Here", bodyRect, w32.DT_CENTER|w32.DT_VCENTER|w32.DT_SINGLELINE, f, gform.RGB(187, 187, 187)) // Draw drop arrow if bmp, err := gform.NewBitmapFromResource(gform.GetAppInstance(), w32.MakeIntResource(IDR_DROPARROW), gResPNG, gResMainformBkColor); err == nil { data.Canvas.DrawBitmap(bmp, (w-bmp.Width())/2, 110) bmp.Dispose() } // Draw bottom panel h := mf.Height() bottomRect := gform.NewRect(1, 150, w-1, h-1) data.Canvas.FillRect(bottomRect, titleBrush) } } }
func stateButton_OnPaint(arg *gform.EventArg) { if b, ok := arg.Sender().(*StateButton); ok { var data *gform.PaintEventData if data, ok = arg.Data().(*gform.PaintEventData); ok { var bmp *gform.Bitmap if b.isChecked { bmp = newResBitmap(&b.resChecked) } else { bmp = newResBitmap(&b.resNormal) } defer bmp.Dispose() data.Canvas.DrawBitmap(bmp, 0, 0) } } }
func progressButton_OnPaint(arg *gform.EventArg) { rc := arg.Sender().ClientRect() if pb, ok := arg.Sender().(*ProgressButton); ok { pen := gform.NewNullPen() defer pen.Dispose() brush := gform.NewSolidColorBrush(pb.bgColor) defer brush.Dispose() var data *gform.PaintEventData if data, ok = arg.Data().(*gform.PaintEventData); ok { data.Canvas.DrawRect(rc, pen, brush) } } }
func stateButton_OnLBUp(arg *gform.EventArg) { if b, ok := arg.Sender().(*StateButton); ok { b.SetChecked(!b.Checked()) } }
func imgButton_OnLBUp(arg *gform.EventArg) { if b, ok := arg.Sender().(*ImgButton); ok { b.state = IBSMouseHover b.Invalidate(false) } }
func imgButton_OnLBDown(arg *gform.EventArg) { if b, ok := arg.Sender().(*ImgButton); ok { b.state = IBSClick b.Invalidate(false) } }
func imgButton_OnMouseLeave(arg *gform.EventArg) { if b, ok := arg.Sender().(*ImgButton); ok { b.state = IBSNormal b.Invalidate(false) } }
func progressButton_OnMouseLeave(arg *gform.EventArg) { if pb, ok := arg.Sender().(*ProgressButton); ok { pb.bgColor = pb.tempColor pb.Invalidate(false) } }
func progressButton_OnMouseHover(arg *gform.EventArg) { if pb, ok := arg.Sender().(*ProgressButton); ok { pb.bgColor = pb.highlightColor pb.Invalidate(false) } }
func btnPin_OnStateChange(arg *gform.EventArg) { if b, ok := arg.Sender().(*StateButton); ok { mainform.EnableTopMost(b.Checked()) } }