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 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) } } }