import core.sys.windows.windows;
pragma(lib, "comdlg32");
uint getColor(uint defaultColor) {
COLORREF[16] acrCustClr; // array of custom colors
CHOOSECOLOR cc;
cc.lStructSize = cc.sizeof;
cc.hwndOwner = null; // owner window, allowed to be NULL if no owner
cc.lpCustColors = cast(LPDWORD) acrCustClr;
cc.rgbResult = defaultColor;
cc.Flags = CC_FULLOPEN | CC_RGBINIT;
if (ChooseColor(&cc)) {
return cc.rgbResult;
} else {
return 0; // user clicked cancel
}
}
import std;
void main() {
const color = getColor(0xFF0000FF); // default color red
const red = color & 0xFF;
const green = (color >> 8) & 0xFF;
const blue = (color >> 16) & 0xFF;
writeln("Selected color is (", red, ",", green, ",", blue, ")");
}
能够行的.
静态导入,是使用全名的导入
.
//’.x’表示模块级全局x
//模块有静态构造函数,析构函数,在线程开始前后执行
//共享静态只执行一次,且在最前执行
//只要两个模块不都有静态构造/析构函数,则可以循环依赖
//委托就是对象的函数.