
左上から順に
- アップダウンコントロール
- ホットキーコントロール
- DTPコントロール(日付)
- DTPコントロール(時間)
作っていて思うんですがスタイルの付け替えで反映される・されないの資料ってMSDNの原文しか無いんでしょうか。
俺英語読めないし。
メモ帳だと右端で折り返すを選択するとコントロールそのものを作り直すらしいのですが現時点でのNeGuiだとフォントとかその辺のGDIオブジェクトの世話してられないんで未実装です。
以下チラシの裏
/**
テスト専用ダイアログ。
*/
module nemuxi.test.debugdialog;
debug import std.stdio: wl = writefln, pl = printf;
debug(debugdialog) void main() {}
import win32.windows;
import nemuxi.base;
import nemuxi.draw.image.font;
import nemuxi.gui.gui;
import nemuxi.gui.window.dialog.dialog;
import nemuxi.gui.control.control;
import nemuxi.gui.control.editbox.editbox;
import nemuxi.gui.control.updown.updown;
import nemuxi.gui.control.hotkey.hotkey;
import nemuxi.gui.control.time.datetimepick;
debug{} else {static assert(false, "debug only!");}
class DebugDialog: ModalDialog {
enum CTRL: ITEM_ID {
INPUT=1,
UD,
HOT,
DTP1,
DTP2,
}
Font font;
ControlGroup group;
EditBox Input;
UpDown spin;
HotKey hot;
DateTimePick[2] dtp;
this(NeWindow Owner) {
GUIINFO GuiInfo;
GuiInfo.Owner = Owner;
GuiInfo.Style = WS_DLGFRAME | WS_CAPTION | WS_THICKFRAME | WS_SYSMENU;
super(&GuiInfo);
posSize(300,300);
}
protected override {
void OnCreate() {
font=GetSystemFont(SYSFONT.MESSAGE);
Input = new EditBox(this, CTRL.INPUT);
Input.move(0,0,100,30);
spin =new UpDown(this, CTRL.UD, UpDown.POSITION.RIGHT);
//spin.move(101,101,100,100);
spin.buddy = Input;
spin.range(-1000,1000);
spin.value=159;
spin.reLoad;
HOTKEYVALUE hk;
hk.modToHotkey(MOD.SHIFT);
hk.Key = KEY.D;
hot = new HotKey(this, CTRL.HOT);
hot.textAlign=TEXTALIGN.CENTER;
hot.move(100,0,200,30);
hot.rule(HotKey.RULE.NONE, HOTKEY.EXT);
hot.value
=hk;
dtp[0] = new DatePick(this, CTRL.DTP1);
dtp[0].move(0, 40, 200, 30);
dtp[1] = new TimePick(this, CTRL.DTP2);
dtp[1].move(0, 80, 200, 30);
dtp[1].value=new DateTime(
1999, 12, 31, 0,
23, 59, 59, 999
);
group = new ControlGroup(
Input, spin, hot, dtp[0], dtp[1]
);
group.font = font;
}
}
}
0 件のコメント:
コメントを投稿