多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 1、结果 ![](https://img.kancloud.cn/3b/f7/3bf7d36c7306e5a0944c092095b91d04_773x504.png) ## 2、代码 ``` import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=759;bottom=469) winform.add( custom={cls="custom";text="自定义控件";left=49;top=51;right=702;bottom=427;bgcolor=0;z=1} ) /*}}*/ import gdi import console console.open() polygon = ::Gdi32.api("Polygon","bool(ptr hdc, struct apt, int cpt)" ) pie = ::Gdi32.api("Pie","bool(ptr hdc, int x1,int y1,int x2,int y2,int xr1,int yr1,int xr2,int yr2)" ) winform.custom.wndproc = function(hwnd,message,wParam,lParam){ select(message) { case 0xF/*_WM_PAINT*/ { gdi.paint( hwnd, function( hdc,width, height,rcPaint,fErase,paintStruct ){ // 创建画笔和画刷 var hBrush = ::CreateHatchBrush(2,0x83B314) var hPen = ::CreatePen(0/*_PS_SOLID*/,2,0xFF0000) // 放入hdc var oBrush = ::SelectObject(hdc,hBrush) var oPen = ::SelectObject(hdc,hPen) // 点数据 var points = { int value[10] = {50;50; 100;50; 200;100; 100;100; 50;200} } // 画多边形和扇图 polygon(hdc,points,5) pie(hdc,200,100,500,300,300,50,550,50) // 还原画笔画刷 ::SelectObject(hdc,oBrush) ::SelectObject(hdc,oPen) // 删除画笔画刷 ::DeleteObject(hBrush) ::DeleteObject(hPen) ::BitBlt(hdc, 0, 0, width, height, hMemDc, 0, 0, 0xCC0020/*_SRCCOPY*/); } ); } } } winform.show(); win.loopMessage(); return winform; ```