このブログを検索

2009年5月18日

テスト前に掃除したくなる現象発病中

設定プログラムの実装がだるいので全然関係の無い機能の追加中。
左上から順に
  • アップダウンコントロール
  • ホットキーコントロール
  • 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 件のコメント: