예제 #1
0
파일: util.go 프로젝트: pkf/dropdot
func newResBitmap(ri *ResBmpInfo) *gform.Bitmap {
	bmp, err := gform.NewBitmapFromResource(gform.GetAppInstance(), ri.ResName, ri.ResType, ri.BgColor)
	if err != nil {
		panic("Load bitmap from resource failed")
	}

	return bmp
}
예제 #2
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())
		}
	}
}
예제 #3
0
파일: mainform.go 프로젝트: pkf/dropdot
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)
		}
	}
}