質問を正しく理解している場合は、「ページx of n」という形式のUIに少しのテキストを表示する必要があります。これには静的テキストコントロール(CTEXTなど)が適しています。
プログラムでテキストを設定するには、SetWindowTextを呼び出すことができますが、これはダイアログ上にあるのでSetDlgItemTextを呼び出す方が簡単でしょう。
例では、識別子はIDC_PG
であり、ダイアログのすべてのコントロール間で一意の数値定数に対応する必要があります。ダイアログ(私はmyDialog
と仮定します)のMFCオブジェクトと、表示するゼロ終了テキストへのポインタ(szPageText
と仮定します)を呼び出すと、あなたの呼び出しは次のようになります:
あなただけのダイアログへのハンドルを持っている場合は
myDialog.SetDlgItemText(IDC_PG, szPageText);
は、あなたの呼び出しは次のようになります。
SetDlgItemText(hDlg, IDC_PG, szPageText);
これは古いコードであるので、それはMBCS用にコンパイルされる可能性があります(多くの場合、WindowsのドキュメントにANSIと呼ばれる)、またはUTF-16(多くの場合、UnicodeまたはMSDNのワイド文字列と呼ばれます)、TCHARおよび関連するマクロを使用してどちらかが動作することを確認します。
TCHAR szPageText[64] = TEXT("");
wsprintf(szPageText, TEXT("Page %d of %d"), currentPage, totalPages);
myDialog.SetDlgItemText(IDC_PG, szPageText);
より現代的なコードでは、あなたはおそらく、明示的なAPIの広いバージョンを使用したい:
WCHAR szPageText[64] = L"";
::wsprintfW(szPageText, L"Page %d of %d", currentPage, totalPages);
myDialog.SetDlgItemTextW(IDC_PG, szPageText);
CTEXTが[シンプル中心にテキストボックス]である(https://msdn.microsoft.com /en-us/library/windows/desktop/aa380915(v=vs.85).aspx)、リストボックスではありません。 – ZDF
正しい、質問からのタイプミスを削除する、ありがとう – dram