           KCTRL Source V0.27 -- Source files for Kanji-Controls

       Copyright (C) Eiichiroh Itoh. 1997-1999. All rights reserved.

* Introduction

     @, KCTRL.DLL/KCTRLFNT.ORG/SETKCTRL.EXE  Cu/\[
     XpbP[Wł. KCTRLɊւڂ, KCTRL̃pbP[W
     QƂĉ.

     ̃pbP[W̍ŐVł͈ȉ̏ꏊœł܂.

          http://www.oohito.com/
          http://member.nifty.ne.jp/oohito/@@(ً}̂݉ғ)

     Ȃ, KCTRLč\zɂ,

        * Microsoft Visual C++ V5.0 Professional/Enterprise
        * Microsoft Visual C++ for WindowsCE
          
          Microsoft WindowsCE Toolkit for Visual C++5.0

     Kvł.

* Description of package

     KCTRL\
          KCTRL.DLL/KCTRLFNT.DLL̃\[X
     SETKCTRL\
          SETKCTRL.EXẼ\[X
     KCTRLDEV.TXT
          hLg(̃t@C)

* How to install a Library package

     @KCTRL𗘗pē{AvJ邾ł, Cup
     bP[W ̃CXg[OKł. eCPUɃfBNg쐬
     , Y郉CupbP[W𓀂ĉ.

     Ȃ, CupbP[W͂̃\[XpbP[WƂ͕ʂ,
     KC???L.ZIP Ƃ̂ŌJĂ܂. (???̓o[Wԍ)

     ̌, Visual C/C++  Settings...(ݒ) Link,
     Object/Library Module ɑ΂ĊeCPUɉKCTRL.LIBw肵ăr
     hĉ. DLLs [h悤ɂȂ
     .

     ܂, AvP[Vł KCTRL.H CN[h悤ɂĉ
     . ̃t@CMIPSłłSH-3łł̂ł̂, ʂ
     ꏊɒuق悢ł傤.

* Remarks

        * KCTRLFNTrh, KCTRLFNT.DLL쐬܂, 
          HPCɓ]ƃtHĝȂԂƂȂsł܂.
          KCTRLFNT.ORGƃl[, SETKCTRL.EXEŃtHggݍ
          .
        * cl ŃRpC/NSETKCTRL.EXE쐬܂.

* Function definitions

     @ȉKCTRL.DLLŎĂ֐̎dlł. ̎dl͗\
     ȂύX邱Ƃ܂.

     BOOL InitKanjiControls( void )
          KCTRL.DLL܂.
          KCTRL.DLL𗘗pꍇ, KŏɌĂяoĂ. 
          Iɂ̓tHg̗L`FbN, pESptHg
          QFPɒ肵Ă܂. ߂l, ꍇTRUE, 
          sꍇFALSEƂȂ܂. FALSȄꍇKCTRL.DLL̊֐
          яoꍇ, \ʌʂɂȂ邱Ƃ ܂.
     void ReleaseKanjiControls( void )
          AvP[VIKCTRĽnׂ̊֐ł.
          IɕKĂяoĂ.
     void KDrawText( HDC hDC, LPCTSTR str, int len, LPRECT pos, UINT
     format )
          {ꕶw肳ꂽfoCXReLXgɕ\܂.
          strɎw肵UNICODE, posŎw肵̈ɏo͂܂.
          len-1w肷strNULL܂ŏo͂܂. Ȃ, format
          ̓e͌ݖĂ܂.
     DWORD unicode2sjis( LPCTSTR src, BYTE *dst, DWORD max )
          UnicodeShiftJISϊ[`ł.
          Unicode(src)ShiftJISR[h(dst)ɕϊ܂.
          max dstɊi[łoCgw肵Ă. Ȃ, dst
          NULLw肷, i[̈ɕKvȃoCgԂ܂.
     DWORD sjis2unicode( const BYTE *src, LPTSTR dst, DWORD max )
          ShiftJISUnicodeϊ[`ł.
          ShiftJISR[h(src)Unicode(dst)ɕϊ܂.
          max dstɊi[ł遦oCgw肵Ă. Ȃ,
          dstNULLw肷, i[̈ɕKvȃoCgԂ܂.
     DWORD GetFontZW( void )
          SptHg̉(hbg)Ԃ܂.
     DWORD GetFontHW( void )
          ptHg̉(hbg)Ԃ܂.
     DWORD GetFontH( void )
          tHg̍(hbg)Ԃ܂. ̒l͑SpEptH
          gʂł.
     void SetTabWidth( DWORD tab )
          ^u̒𔼊pPʂƂĎw肵܂, ̊֐ŕύX
          Ȃ^u͔p8ƂĈ܂.
     DWORD GetTabWidth( void )
          ݂̃^u̒擾܂. (pPʂł̒lԂ܂)
     DWORD GetKVersion( void )
          KCTRL.DLL̃o[WԂ܂. ʂ͐,
          (W[o[W * 100 + }Ci[o[W)
          ƂlԂ܂.
     WORD sjis2jis_char( WORD sjis )
          ShiftJISR[hJISR[hɕϊ܂.
     WORD jis2sjis_char( WORD jis )
          JISR[hShiftJISR[hɕϊ܂.
     TCHAR sjis2unicode_char( WORD sjis )
          ShiftJISR[hUNICODEɕϊ܂.
     WORD unicode2sjis_char( TCHAR unicode )
          UNICODEShiftJISR[hɕϊ܂.
     void setup_codeconv( LPTSTR ptr )
          ꊇR[hϊ܂. ptrɂ, NULLϊʂ
          i[̈w肵܂.
          UNICODEJISϊ, JISUNICODEϊsɂ͈ȉ̂悤Ȏ
          ōsĉ.
            1. setup_codeconv(0) ŕϊʂ̃TCYmׂ̏
               s.
            2. ϊ̊̕e(c)ɑ΂,
               jis_unicode_char(c) F JISUNICODE
               unicode_jis_char(c) F UNICODEJIS
               Ăяo.
               ) do { jis_unicode_char( c = ptr++ ) ; } while ( c )
               ;
            3. size = getcount_codeconv() ŕϊɕKvȗ̈̑傫
               ߂.
            4. œTCYƂɕϊ̗̈mۂ.
               ) ptr = LocalAlloc( size * sizeof (TCHAR) ) ;
            5. setup_codeconv(ptr) Ŏۂɕϊׂ̗̈ݒ肷.
            6. 2.ƑSl jis_unicode_char/unicode_jis_char Ă
               o.

          R[hϊ̉ߒ, jis_unicode_char/unicode_jis_char 0
          w肷̂, R[hϊIƂϊ[`Ɏw
          ׂł. KsĂ.

     DWORD getcount_codeconv( void )
          R[hϊsꍇ, ϊŕKvƂȂTCY(P)
          Ԃ܂.
          gsetup_codeconvQƂĂ.
     void unicode_jis_char( TCHAR c )
          UNICODEJISR[hϊsۂɎgp܂.
          gsetup_codeconvQƂĂ.
     void jis_unicode_char( TCHAR c )
          JISUNICODER[hϊsۂɎgp܂.
          gsetup_codeconvQƂĂ.
     void set_convmode( DWORD mode )
          UNICODEJISR[hϊsۂ̕ϊ[hw肵܂.
          UNICODEJISR[hϊ BASE64-encoding , 2oCg
          ڂ̃_uNI[g GXP[vׂ̐ݒs܂.
             o mode = MODE_NORMAL : ʏ̕ϊ
             o mode = MODE_QUOTE : 2oCgڂ(")(\")ɂ
             o mode = MODE_BASE64 : BASE64-encodings
     BOOL is_hankaku( TCHAR c )
          UNICODEpǂׂ܂.
          p̏ꍇTRUEԂ܂.
     DWORD GetKLocale( void )
          KCTRL̎ʂ擾܂.
          CXg[ĂKCTRL̎ʂ߂̂ɗp܂.
             o ret = LOCALE_US : pH/PC({\)
             o ret = LOCALE_USONLY : pH/PC({tHg)
             o ret = LOCALE_JAPAN : {H/PCp
             o ret = LOCALE_CHINA : pH/PC(\)\R[h
               ł
             o ret = LOCALE_US20 : pH/PC WinCE V2.0({\)
     DWORD GetNumFont( void )
          płtHg̐擾܂.
     void SetCurFont( DWORD index )
          ptHgw肵܂. GetNumFontœtHgȏ
          ̒lw肵Ȃł.
          index=0͕WtHg, index=1̓GLXgtHgƌĂт
          . WtHgƃGLXgtHg𓯎Ɏgꍇ, Ȃ
          WtHg͉{ҏWʂȂǂ, GLXgtHg͈
          ʂȂǂɗp悤ɂĂ.
          ܂, tHgTCY͕WtHgGLXgtHgƉ
          Ă.
          (Ȃ, pWinCE V1.0ł1ނ̃tHĝ݃T|[gĂ
          ܂)
     DWORD GetCurFont( void )
          ݗpĂtHg擾܂.

     Ȃ, ȉ̊֐p~܂. ӂ.

        * HWND KListBox_Create( LPCTSTR title, DWORD style, DWORD x,
          DWORD y, DWORD w, DWORD h, HWND hWndParent, HINSTANCE
          hThisInst )
        * BOOL KListBox_InsertString( HWND hWnd, DWORD index, LPTSTR
          text )
        * void KListBox_ResetContent( HWND hWnd )
        * int KListBox_GetCurSel( HWND hWnd )
        * BOOL KListBox_GetCurText( HWND hWnd, LPTSTR text, DWORD size
          )
        * void KListBox_SetCurSel( HWND hWnd, int index )
        * void KListBox_GetText( HWND hWnd, DWORD index, LPTSTR text,
          DWORD size )
        * void KListBox_SetText( HWND hWnd, DWORD index, LPCTSTR text
          )
        * int KListBox_GetCount( HWND hWnd )
        * void KListBox_SetItemCount( HWND hWnd, int count )
        * void KListBoxProc( HWND hWnd, WPARAM wParam, LPARAM lParam )
        * HWND KStatic_Create( DWORD exStyle, LPCTSTR title, DWORD
          style, DWORD x, DWORD y, DWORD w, DWORD h, HWND hWndParent,
          HINSTANCE hThisInst )

      ]KDrawTextWKDrawTextI͎gȂŉ. 폜
     \܂.

     Ȃ, KCTRL̃\[Xeł킩Ȃꍇ, Cyɂ₢킹
     . KCTRLpbP[W̃T|[ĝق, [ł󂯕tĂ
     ܂. [AhX, 쌠\̍QƂĂ.

* 쌠Ǝgp

        * ̃vO̓t[EFAł.
        * ̃vO̒쌠,
          ɓ@hY, Eiichiroh Itoh,
          mailto:GHC02331@niftyserve.or.jp
          ێĂ܂.
        * 쌠҂͂̃vO̓ؕۏ؂܂.
        * ̃vO𗘗p, 邢͂ȂƂɂ蔭
          QɊւ؂̐ӔC𒘍쌠҂͂Ƃ܂.
        * ̃vOïꕔƂēYtȂ, ȂƖ
          Iɗp邱Ƃւ܂.
        * ̃vOĔzzꍇ, Oɒ쌠҂܂ŋ
          ߂Ă.
        * ̃vOGŏЉꍇɂ͎OE̋͕Kv
          ܂.
        * ̃vOl̃z[y[WŏЉꍇɂ͎OE
          ̋͕Kv܂.
        * ̃vOGȊȌЂŏЉꍇɂ͎Oɒ쌠
          ҂܂ŋ߂Ă.

* Copyright, Distribution Policy and Disclaimer

     This program is a copyrighted freeware. Its copyright is owned by
     its author. You may use it freely, but you are not permitted to
     use it for any commercial purpose. If you want to post this
     program to other BBS, ftp site or network, or if you want to
     bundle it to other program or publication, you should receive
     prior permission from its author. The author is in no way liable
     to any damage, which may be caused by the use of or inability to
     use this software.

* History

     oCipbP[Wɕt̃hLgQƂĂ.

(KCTRL Source -- Source files of Kanji-Controls)
