Windows カスタム ライブラリ

   変更履歴

各バージョンでの変更内容は、以下のとおりです。(軽微な不具合は青色異常終了を伴う不具合は赤色で記述)
(自分のメモ用に作成していますので、内容はわかりにくいかもしれません)

Ver C/C++ .NET 項目    内容
1.6.5.3   ファイル/ディレクトリ操作 ●AjcCopyFolderStructEx()で片方のコールバック(cbNotify/cbQuery)だけ指定した場合クラッシュする不具合修正
 (双方のコールバックを指定 or 双方ともNULLの場合は正常に動作)
●AjcPathMatchSpec()で、ワイルドカードにファイル名そのものを指定しても一致するようにした。
  ex. PathMatchSpec("d:\wprk\abc.txt", "abc.txt")  ->  一致
●AjcPathIsEmptyDirectory() 追加
1.6.5.2 VT100 ●フォント設定で行間スペースの表示値が0になる不具合修正(1.6.5.1の修正では不充分)
  ファイル/ディレクトリ操作 ●AjcEnumFilesMatchingList()   / EnumFileMatchingList()の仕様変更(opt 引数追加)
    ファイル/ディレクトリ操作 ●AjcCreateDirectoryStruct() 追加
1.6.5.1 ファイル/ディレクトリ操作 ●以下のAPI/メソッド追加
  ・AjcEnumFilesMatchingList()   / EnumFileMatchingList()
  ・AjcPathMatch{Spec/Str}()    / IsPathMatchSpecs()
  ・AjcIsPathBackslash()             / IsPathMatchStrings()
  ・AjcCopyFile()
●AjcCopyFolderStruc()のオプション(MAKETOP, ALLOWEXIST)追加
●AjcCopyFilesEx()仕様変更(コールバック cbNtcProgress()追加)
    VT100 ●AjcVthPrintF()の展開文字列長の制限を1024->2048に変更
  VT100 ●フォント設定で行間スペースの表示値が0になる不具合修正(設定はされている)
    拡張ツールチップ ●チップテキスト設定の書式化関数追加(AjcTipTextAddF[Ex])
    ダイアログ/ウインド項目 ●AjcSetDlgItem{Top/Back}MostInSiblings()を仕様から削除
    コンソール入出力 ●AjcSystem() 追加
1.6.5.0 提供データ作成 ●ダウンロードデータをエクスプローラで解凍できるようにした(データの作成を Lhaplus → 7-Zip に変更)
    ベクトル演算 ●AjcV2dRotate()で、pVとpRを同一実態を指定できるようにした。
  テキストファイルアクセス ●既存ファイルを追記モード(Append)で生成機能追加
●AjcFCreate()で「AJCTEC_UTF_16BE」を指定し、UTF-16(BE)形式でファイル出力した場合、
 メモリリークが発生する不具合修正。
    シリアル通信 ●メールスロット生成時のセキュリティ情報を指定可能にした(以下のAPI追加)
  ・AjcScpCreateSqAtt()
  ・AjcScpCreateSqAttEx()
  ・AjcScpCreateMySlotSqAtt()
●メールスロット通信で、送信先スロット名を未指定の場合、受信だけが有効となるようにした。
(送信を行わない場合、送信先スロット名に空文字列を指定可とした)
    ウインドサポート ●GROUPボックス中のEDITにドロップ許可が不能な場合がある不具合修正
(AjcEnableDlgItemToDropEx()追加・・EDITコントロールをグループボックスの前面に設定)
●最前面/最背面設定が逆
(AjcSetDlgItemTopMostInSiblings() とAjcSetDlgItemlBackMostInSiblings() を入れ替え
    ダイアログカラー設定 ●拡張リストボックスコントロールの背景をダイアログ背景に合わせた
●読み出し専用EDITコントロール時、背景を少し暗くした(各3原色を95%)
  数値入力 ●数値を16新数で表示する場合、 16進の桁数を指定可能とした
1.6.4.0   拡張ツールチップ ●WS_EX_TOPMOST上のコントロールでツールチップ表示する場合、初回表示時にツールチップがコントロールの陰に隠れる不具合修正(一旦、SW_HIDE後にSW_SHOWNAで表示するようにした)
●単独のツールチップの場合、チップウインドの右上に「閉じる」マーク()の表示設定追加。
    ダイアログ・カラー設定 ●ツールチップ表示状態でボタン/チェックボックス(BS_PUSHLIKE)をクリックしても、ツールチップが消えない不具合修正
 (ダイアログカラー設定で、WM_LBUTTONDOWNをインターセプトしていることに起因する。
  ダイアログカラー設定WM_LBUTTONDOWN時に、チップテキスト非表示処理を追加した)
●メニューテキストが長めに表示される不具合修正
●テキスト色変更(RGB(0, 0, 255)→RGB(0, 0, 180))
    ウインドサポート ●以下のAPI追加
  ・AjcMoveWndIntoMonitor()       - ウインドが隠れている場合ウインドをモニタ内部へ移動する
  ・AjcMoveWndRectIntoMonitor() - ウインド内の矩形が隠れている場合矩形をモニタ内部へ移動する
●以下のAPIを非推奨として「AjrCst32Old.pdf」へ移動した
  ・AjcMoveWindowToGripped()
  ・AjcMoveWindowToGrippedEx()
    共通定義 ●「AjcMain」と「AjcWinMain」の定義を追加した
1.6.3.1   共通サブ ●AjcExitWindows() が実行できない不具合修正(エラーとなる)
1.6.3.0   ダイアログ ●ダイアログ,コントロール群,メニューのカラー設定機能追加
  テキストファイルアクセス ●改行コードの無いUNICODEファイル入力時、異常終了する場合がある不具合修正
(AjcTextFile.c, SearchLFW() 戻り情報初期化ミス)
1.6.2.2     VT100 ●ポップアップメニュー変更
  ・デフォルトフォント設定(起動時の親フォント → 初回起動時のフォント)
  ・設定をリセット→ 削除
      平衡2文木(文字列キー) ●AjcAvsInsNode()で同一キーのノードを挿入すると、キー文字列が消失する不具合を修正した
1.6.2.1     テキストファイルアクセス ●ファイルサイズが4096バイトの倍数バイトのファイルをAUTOで読み出すと異常終了する不具合を修正
1.6.2.0 2D/3Dグラフィック ●2Dグラフィックで塗りつぶし機能不具合修正(描画オブジェクト設定ミス,Pen→Brush)
●任意の平面表示機能サポート
●テキスト描画機能サポート
  タイムチャート ●最大結線長の設定が機能していない不具合修正
    テキスト描画 ●テキスト描画機能サポート
  数値入力 ●数値入力中にスライダ/スピンを操作した場合、入力した数値に増減するように変更
●「AutoEdit」プロパティのデフォルトを false → true に変更(.NETのみ)
  永続化機能 ●コンボボックス,リストボックスのリスト項目の永続化が正常に機能しない不具合修正(テキスト末尾2文字が削除される)
  全般 ●内部変更(メッセージコード変更,WM_USER → WM_APP)
●バイト文字コード(S-JIS / EUC-J / UTF-8)判定精度向上
1.6.1.0   フォント選択ダイアログ ●フォント選択ダイアログ機能 追加
    プロファイル ●プロファイルセクションのキー名収集機能追加
    ダイアログ/ウインド項目 ●グループボックスを指定したコントロールの永続化サポート
●単独セーブ機能(Ajc[Dlg]Save{All/Grp}ControlsEx())サポート
  VT100 ●CTRL+WHEELでフォントサイズ変更時、フォントサイズをチップ表示するようにした。
●フォント設定ダイアログ変更
    共通サブ ●クリップボードアクセス関連API追加
  インストール情報のクリーンアップ ●インストール情報のクリーンアップ(AjrUCleanup32/64.exe)で、管理者権限で実行しないとクリーンアップできなくなっていた。
 (exeファイルに管理者権限情報が付加されていなかったので、管理者権限属性を付加した)
1.6.0.3   メッセージマップ ●AJC_WNDMAP_RWM,AJC_DLGMAP_RWMマクロの第3引数(メッセージ登録名)の指定方法変更
 [変更前]バイト文字モード/UNICODEモードに関係なく常にバイト文字列を指定
 [変更後] バイト文字モード時はバイト文字列(“XXXXX”)を、UNICODEモード時はUNICODE文字列(L”XXXXX”)を指定する
1.6.0.2   テキストファイルアクセス ●AJCFLF_NONE(改行コード認識なし)時の処理速度アップ
1.6.0.1   バージョンダイアログ ●バージョンダイアログで、ライブラリバージョンが正常に表示されない不具合を修正
 (AjcAjrAppVersionDialogEx)
    レジストリアクセス ●レジストリ項目の列挙(AjcEnumRegSect, AjcEnumRegKey)によるコールバック関数内でレジストリをアクセスすると正常に列挙されない不具合修正
    拡張ツールチップ ●バイト文字モードで、コールバックによりチップテキストを取得する場合、(pBuf以外の)別領域のテキストを戻した場合、正常に表示されない不具合を修正
1.6.0.0 全般 ●ユニコード(多国語文字)サポート
1.0.5.1 拡張ツールチップ ●まれに、ツールチップが表示されない不具合修正(コントロールの陰に隠れて見えなくなる)
●テキストが長い場合、ツールチップによりテキスト全体が表示されない不具合修正
1.0.5.0   シリアル通信 ●COMポート送信の不具合修正(低速なCOMポートで大容量データを一気に送信時の不具合)
1.0.4.0   シリアル通信 ●シリアル通信で、インスタンスを生成(AjcScpCreate)したまま、インスタンスを削除(AjcScpDelete)しないで
 プログラムを終了した場合、プログラムが停止してしまう現象を解消した。
(ユーザがインスタンスを削除(AjcScpDelete)していれば、問題なくプログラムを終了する)
    コンソール入出力 ●AjcSetStdoutMode(),AjcSetStdoutModeEx()を追加した。
    C++クラスライブラリ ●以下のクラスで、デストラクト中に仮想関数(OnNtcRemove)がコールされる不具合を修正した。
  クラス:CAjxAvl,CAjxAvs,CAjxQue,CAjxMbx
  条件 :派生クラスでOnNtcRemoveをオーバーライドし、残留ノードがある状態でデストラクタが実行される場合
  変更内容:デストラクト中は、(暗黙的に)派生クラスのOnNtcRemoveをコールしないようにした
1.0.3.2   VT100 ●ポップアップメニューの「フォント設定を全てのVT-100に適用」→「全兄弟ウインドに適用」が機能しない不具合修正
1.0.3.1 シリアル通信 ●COMポートで、2048バイトを超える巨大なテキストを一気に受信した場合、テキストチャンクが途中で途切れる不具合を修正
1.0.3.0   ビットマップ操作 ●AjcWriteBitmapToFile()でフルカラー(24/32bits/Pixel)以外の場合ビットマップファイルが正常に作成されない不具合を修正した。
    コンソール入出力 ●以下のAPI追加
・AjcSetStdMode - 標準出力/標準エラー の出力モード設定
    テキストファイルアクセス ●以下のAPI追加
・AjcFAttachOpened - システムのファイルハンドルでファイル入力用インスタンス生成
・AjcFAttachCreated - システムのファイルハンドルでファイル出力用インスタンス生成
・AjcFDetach - ファイルをクローズしないでインスタンス解放
1.0.2.0 拡張ツールチップ ●ツールチップテキストでUNICODE(多言語)を表示可能とした。(ex.  L"「おはよう」は韓国語で「안녕하세요」です")
      ●AJCTIPINFO構造体から「pText」を削除した。
  VT100 ●可変ピッチフォント時でも、横スクロールをスムーズ化した。
    ●キャレットの表示不具合修正
1.0.1.0     ファイル/ディレクトリ操作
●以下のAPI追加
 ・AjcGetFileTime - ファイル/ディレクトリ日時取得
 ・AjcSetFileTime, AjcSetFileTimeBySysTime - ファイル/ディレクトリ日時設定
●AjcCopyFolderStruct[Ex]()で、opt(タイムスタンプオプション)を追加した
1.0.0.0 - 初版発行