0601-0700ソースの内容/使用した関数や構造体など
win_0601 CListCtrlのアイコンビューの問題点。透過にならない場合とそれを回避する方法。
win_0602 メモリリークの検査。
win_0603 データの共有とextern。
CMapStringToOb,CData,IsEmpty,SetFocus,
win_0604 friendクラスの問題点。
win_0605 他のダイアログの関数の実行の問題点。
win_0606 グローバルオブジェクトとメンバー変数。
win_0607 システムメニューと下位4ビット。
OnSysCommand,
win_0608 コンテキストメニュー。OnRButtonDown関数を使う場合とOnContextMenu関数を使う場合の比較検討。
win_0609 タイトルバーのないウインドウの移動。OnNcHitTest関数を使う場合とOnLButtonDown関数を使う場合の比較検討。
win_0610 アイコンの拡大と縮小。
win_0611 構造体の設定とコピー。
win_0612 PostMessage関数の使用例。ウインドウへのポインタとウインドウハンドル。
win_0613 ECO_AUTOWORDSELECTIONの動作。
win_0614 SELCHANGE構造体の使い方。リッチエディットコントロールで出る微妙な差異について。
win_0615 フォントデータの一括処理と個別処理。
win_0616 NMLISTVIEW構造体。
win_0617 NMHEADER構造体。
win_0618 RegisterWindowMessageとWM_USER。
win_0619 Html Help Workshop(hhw.exe)のオプションでのダイアログ。
win_0620 フォントダイアログの操作の基本。ダイアログを初期化する場合としない場合。
win_0621 現在使っているフォント設定ルーチン。Grape.exeなど多数。
CFontDialog,CRichEditCtrl,
win_0622 フォント設定の変遷。フォントの設定方法のバリエーション6通りの方法の検討である。
CFontDialog,CRichEditCtrl,
win_0623 フォント設定の問題点。SDIプログラムとMDIプログラムで異なる動作になる、いわゆる「OK/キャンセル問題」について。
win_0624 Grape.exeで削除した関数。現在は使っていない。後日のための検討用である。
DrawMargins(CDC* pDC),OnDropFiles(HDROP hDropInfo),SaveUnicode(CArchive& ar,CString& strFileName), OnInsertDtboxToEdit(),OnRButtonDown(UINT nFlags, CPoint point),WinHelpのヘルプ呼び出しルーチン,
win_0625 MDIプログラムのCChildFrameクラスでのOnMojiCheck関数。文字種判定ルーチンである。MDIプログラムでキャレットの直後の文字の文字コードを調べる。
win_0626 BOMチェック。UTF-16LE(Unicode LEファイル)のBOMが付いているかいないかだけを調べる例。
OpenDocumentFile,BomCheck,GetDocTypeFromName,IsLeadMatch,
win_0627 拡張子とSerialize関数。ドキュメントクラスのSerialize関数内で拡張子によってファイルの読み書きを振り分ける。
win_0628 ファイルタイプのチェック。Grape.exeに組み込んだファイルタイプのチェックルーチンの例。
win_0629 URLの形式のチェック。
GetFilenameFromURL,
win_0630 CFtpConnectionとCFtpFileFindの使い方。
win_0631 CHttp〜系クラスの使い方。
win_0632 OpenURL関数の実際的使用例。
win_0633 インターネット上のファイルを取得する。CInetdataクラスの作成。
win_0634 NMLVDISPINFO構造体。リストコントロール(CListCtrl)とツリーコントロール(CTreeCtrl)で使うNMLVDISPINFO構造体の使い方。
win_0635 MAKELPARAMマクロとSendMessage。
win_0636 再帰関数とPostMessage。ListupWindowを例にして再帰関数を中断させる。
CreateWindow,SendMessage,LB_ADDSTRING,MAKELPARAM,GetWindow,
win_0637 Unicodeのファイルの作成。
win_0638 Unicodeの使用例とGetFullName関数。
win_0639 CR_TO_CRLF関数とUTF8_CR2CRLF関数。
win_0640 ドキュメントタイプの自動判定ルーチンの試案。この案には実用面でやや問題がある。
win_0641 CRichEditCtrlからUnicode/UTF-8の書き出しルーチン。
OnWriteUtf8,WriteUTF8,UTF8_CR2CRLF,
win_0642 CRichEditCtrlのGetLineと改行コード。行末には何があるか。エンディアンの確認。
win_0643 CRichEditCtrlの動作を探求するための最低限の必要事項の設定。
win_0644 CRichEditCtrlのまぎらわしい行操作関数の比較。
LineIndex,LineLength,LineFromChar,
win_0645 CRichEditCtrlの行操作。特定の行データを取得する方法でもある。
ReplaceSel,
win_0646 CRichEditCtrlの行操作関数。
GetCharPos,PosFromChar,CharFromPos,
win_0647 CRichEditCtrlのSetSel関数とGetSel関数。→Gallery
win_0648 CRichEditCtrlのGetTextLengthの動作。
win_0649 CRichEditCtrlのGetTextLengthExの動作。
win_0650 CStringとTCHARの関係。
win_0651 OpenURL関数の使い方。
win_0652 ActiveX/Actx.ocxの実行例とソース。
win_0653 ActiveX/TestActXの実行例とソース。
win_0654 ActiveX/ATLを使ったAtlactxの実行例とソース。
win_0655 Visual C++でのCActXのクラスビューの画面。
win_0656 Win32アプリケーションのメイン関数。Windows API, Platform SDKによるWindowsプログラミング。
この基本となるのは、メイン関数、ウインドウクラスの登録、ウインドウの作成、ウインドウプロシージャーである。
InitInstance,CreateWindow,
win_0657 Win32アプリケーションのウインドウクラスの登録。
win_0658 Win32アプリケーションのウインドウの作成。
win_0659 Win32アプリケーションのウインドウプロシージャー。
win_0660 Win32アプリケーションでのSendMessage関数の使い方。WM_CHARメッセージの処理。キーボードマクロの作り方。
win_0661 Win32アプリケーションのファイルダイアログの使い方。
GetOpenFileName,GetSaveFileName,OPENFILENAME構造体,
win_0662 Win32アプリケーションのCharToNull関数。ファイルフィルターユーティリティである。
win_0663 Win32アプリケーションの画面の復元。WM_PAINTの処理。
CreateCompatibleDC,CreateCompatibleBitmap,SelectObject,LoadBitmap,PatBlt,BitBlt,
win_0664 Win32アプリケーションのクライアント領域にコントロールを置く。
CreateWindow,
win_0665 スクロールバーの操作。
WS_VSCROLL,WS_HSCROLL,SetScrollInfo,SCROLLINFO,TEXTMETRIC,tmHeight,tmExternalLeading,
win_0666 Win32アプリケーションのダイアログの操作。
DialogBox,MAKEINTRESOURCE,CALLBACK,
win_0667 Win32アプリケーションの初期設定と描画の定型的基本操作。描画関数の基本的使い方。
WM_CREATE,WM_PAINT,WM_DESTROYメッセージの処理。
win_0668 マルチスレッドと4種類の同期オブジェクト。WindowsAPIの場合とMFCの場合との比較対照。
win_0669 マルチスレッドの作成と終了。
CreateThread,ResumeThread,TerminateThread,ExitThread,CloseHandle,
win_0670 マルチスレッドの操作。同期オブジェクト(セマフォー)の操作。
CreateSemaphore,CREATE_SUSPENDED,WaitForSingleObject,ReleaseSemaphore,
win_0671 マルチスレッドの操作。同期オブジェクト(ミューテックス)の操作。
CreateMutex,ReleaseMutex,WaitForSingleObject,
win_0672 マルチスレッドの操作。同期オブジェクト(クリティカルセクション)の操作。
CRITICAL_SECTION,InitializeCriticalSection,EnterCriticalSection,LeaveCriticalSection,
win_0673 マルチスレッドの操作。同期オブジェクト(イベント)の操作。ユーザー定義メッセージの使い方。
CreateEvent,SetEvent,WaitForSingleObject,PostMessage,
win_0674 待機関数の一般的用法。WaitForSingleObject関数の使い方。
WAIT_OBJECT_0,WAIT_ABANDONED,WAIT_TIMEOUT,INFINITE,
win_0675 プログレスメーターの作成。
PeekMessage,MSG構造体,
win_0676 画面キャプチャーの仕方。
GetSystemMetrics,SetForegroundWindow,OpenClipboard,SetClipboardData,EmptyClipboard,
win_0677 ディスクトップの操作。ディスクトップ画面を一時的なメモ書き(落書き)領域として使う。
CreateDC,ScrollDC,DeleteDC,
win_0678 アイコンとウインドウクラス名の操作。プログラムのアイコンとクラス名をディスクトップ画面に描画する。
GetClassName,GetClassLong,
win_0679 メッセージ処理関数の使い方と比較対照。
PeekMessage,GetMessage,WaitMessage,PostThreadMessage,
win_0680 CreateFontIndirect関数の使い方。WindowsAPIの場合とMFCの場合との比較対照。
CFont,LOGFONT,
win_0681 MultiByteToWideCharとWideCharToMultiByteの使い方。
文字列をワイド文字列(Unicode)にマップするMultiByteToWideChar関数の使い方。ワイド文字列を新しい文字列にマップするWideCharToMultiByte関数の使い方。この場合の「MultiByte」文字列はデフォルトではシステム既定のANSIコードページ(Shift_JIS)。
win_0682 MultiByteToWideCharの問題点。Unicodeへの変換の問題点とその解消方法。ASCII文字セットとUNICODEの悩ましい関係。
win_0683 Unicodeファイルの作成。動的メモリを使う方法と配列を使う方法の2通りのパターン。BOMの付け方。
WCHAR,LPWSTR,wchar_t,new,delete,
win_0684 Unicodeストリーム入出力関数の使い方。テキストかバイナリか。3つのパターンの比較検討。
win_0685 Unicodeファイル(UTF-16)作成の総括と検討。Buhin7のUnicd.cppの関係部分の全ソース。
win_0686 Unicodeファイル(UTF-8とUTF-8N)の作成と変換。
win_0687 UTF-8への作成と変換のための関数の検討用資料とソース。UTF-8文書の解析の概要(詳しくはxmfc_0020,xmfc_0021)。
win_0688 エンディアンの問題の検討。
(1)逆順現象はどこで起こるか。(2)UnicodeのBOM付きの場合。(3)Shift_JISの場合。(4)エンディアンの考慮が必要になる場面。
win_0689 ATL(Active Template Library)関数の検討(1)。
win_0690 ATL(Active Template Library)関数の検討(2)。
win_0691 ATL(Active Template Library)関数の検討(3)。
win_0692 ActiveXのプロパティの追加の問題点。
win_0693 ActiveXのストックプロパティとストックメソッド。
COleControl,DISP_FUNCTION_ID,DISP_PROPERTY_NOTIFY_ID,DISP_PROPERTY_STOCK,DISP_STOCKPROP_APPEARANCE,
win_0694 COleControlModuleクラスの使い方。
win_0695 Visual C++.NETの使い方。バグだらけのツールをいくらかでも能率的に使うためのメモ。
win_0696 Visual C++.NETのメニューエディタのバグ。さすが殿様商売。こんなソフトでよく金を取るなあというヒドイさに驚く。
win_0697 Visual C++.NETのツール類のバグ。さすが準独占企業。こんなソフトでよく金を取る。
win_0698 Visual C++.NETのVC Ver6からの変更点。
win_0699 Visual C++ 2005/2008の変更点。
win_0700 DLLのバージョンとerror C2039。