------------------------------------------------------------------------------
                             WinTab.NET introduction
                                                           2006/01/08 l.p.m.11
------------------------------------------------------------------------------
̃eLXǵÃhLgƈērɉsĂ܂B
ǂ݂₷邽߂ɁAGfB^̎s@\gƂ߂܂B

WinTabɂĂ̊{TO
http://www9.plala.or.jp/herm/Pages/Localized/WinTab/
ɎQlɂȂ܂B

TvuOutInfovȂIntelliSenseɗĂ΁A܂Ǝv܂B

0. 
README.TXTɂLqĂ܂A.NET Framework 2ł邱ƂK{łBVisual C# 2005 (ȉVC#) Ȃ瑽vł傤By^ubghCo(WinTab32.dll)CXg[ĂȂΓ삵܂BӂB

1. QƂ̒ǉ
AssemblytH_̒́uWinTabDotnet.dllvQƂɒǉĉBVC#̏ꍇ́A\[V GNXv[̎QƐݒENbNAuQƂ̒ǉ...vI邱ƂŒǉł܂B
QƂǉAgp\[XɁuusing WinTabDotnet;v̕ɂłǉĉB

2. Messenger, Context̒ǉ
WinTab́Ay^ubgɉ炩̕ωNƁAEBhEbZ[W𑗐M܂B̃bZ[W󂯎͂ACxgĂяo߁AWndProcI[o[ChAWinTabMessenger.WndProcĂяoKv܂B
܂AReLXg(ReNXg)ƌĂ΂A^ubg̓@ʂnhۂ̂Kv܂B

ʂ́AEBhENX̓oɎ܂B܂F

public partial class Form1 : Form {
	private WinTabMessenger  m_wtMessenger;
	private WinTabContext    m_wtContext;

ɁARXgN^ŏs܂F

            m_wtMessenger = new WinTabMessenger();
            m_wtContext = new WinTabContext();

܂AWndProc̃I[o[ChYȂŉF

        protected override void WndProc(ref Message m) {
            if (!m_wtMessenger.WndProc(ref m)) { base.WndProc(ref m); }
        }

WinTabMessenger.WndProćAbZ[WꍇtrueԂ܂B

3. Cxg̒ǉ
WinTabMessengerɃCxgǉ邱Ƃł܂BǉłCxg͈ȉ̒ʂłB

NewPackets		: pPbg (ȉ̑SẴCxg)
ButtonDown		: {^(y)ꂽ
ButtonUp		: {^(y)ꂽ
CursorMove		: y
NPressureChange		: Mς
TPressureChange		: ږʕMς
CursorChange		: J[\ω (y㕔̏SɂȂȂ)
OrientationChange	: s
RotationChange		: s

̂AږʕMT|[gĂȂfoCXł́ATPressureChangeCxg܂B
SẴCxgpkts(ALLPACKET)\݂̂̂PacketEventArgsɎ܂BALLPACKET𗘗pāÃ݂y̏Ԃ𓾂邱Ƃł܂B
ǂgĺApkX,pkY(,pkZ)ʒuApkCursorJ[\ApkNormalPressureM(ApkTangendPressureږʕM)܂B̂AJbRň͂񂾒l̓foCXŃT|[gĂȂ\Al͖`(炭0)ƂȂ܂B
\bhgāAMωɃ^CgωTv܂F

		m_wtMessenger.NPressureChange += delegate(PacketEventArgs ce) { this.Text = ce.pkts.pkNormalPressure.ToString(); };

ŁAq鑊΃[hM(NPressure)Ɏw肵ĂƁA^CgɃ}CiXl܂B

4. Context̐ݒE쐬
ReLXgWinTabContext.Openō쐬܂BłȒPȕ@̓EBhEnhƁAԂLɂ邩̂Q݂̈̂̂łB

            m_wtContext.Open(this.Handle,true);

̕@ō쐬ƁÄʓIȃAvP[V𑀍삷̂ƑSςȂ삪\ƂȂ܂B

RelativeFieldw肷ƁAڂu΃[hvƂĎw肷邱Ƃł܂Bw肷ƁAquCxgv̈ (PacketEventArgs.pkts) ɓ͂lς܂BႦ΁ARelativeField.Positionw肷ƁAw̖ꍇɂ͐΍WԂ̂ɑ΂Aw肵ꍇɂ͑Öʒuǂꂮ炢ωԂ悤ɂȂ܂B
RelativeField.Buttonw肵ꍇɁAButton̑΃[h͓ŁA΃[h݂̃{^ԍԂ̂ɑ΂A΃[h͏ʃ[hɃ{^ԍAʃ[hRelativeButton.NONE/UP/DOWNԂ܂B

ContextOptionw肷ƁAReLXg̓ł܂B̎AContextMode.OFFMODEContextMode.(ItɂIvV)w肷ƁAftHg̃ReLXgꕔ̃IvV؂邱Ƃł܂B̂̂悤ȎsĂ邩ƌƁAꕔ`ĂȂlw肵ȂΐReLXg쐬łȂfoCX݂邩ł (̊ł͂ł)BAContextOptionw肵ĂAOpenɎs\ƌƂłBāAContextOption.OFFMODEgp邱Ƃ߂܂B
OFF_SYSTEMw肷ƁAJ[\y̓ɒǏ]ȂȂ܂B̑̃IvVɂẮAȉ̃y[WQƂĉB
http://www9.plala.or.jp/herm/Pages/Localized/WinTab/7-3.html#1

xorg,yorg,vx,vyw肷ƁA^ubg̏o̓GA͈̔͂w肷邱Ƃł܂Bw肳ȂꍇAXN[Ŝ܂B

uOutInfovł͂Q̈o[WAuPressureTestvłContextOptionw肷o[WgĂ܂B

XƏ܂Aǂ킩Ȃ΂Q݂̈̂̂gpĉB̏ꍇł́AŎƍl܂B