TNB Library
|
Q. MFC プロジェクトじゃないのですが、使えますか? コントロールのクラスなど、ヘッダファイル名が TnbMfc〜.h のもの以外は、 MFC を使用していません。 Q.
Q. MFC 使わずに文字列を安全に扱いたい。 CStr があります。 Q. UNICODE プロジェクトで、 S-JIS を使いたい(あるいはその逆)。 CAscii , CUnicode があります。 Q. 安全、且つ、高速に文字列を連結したい。 CStr で連結は可能ですが、数多く連結しまくる場合、 CStrAdder を使ったほうが、高速です。 Q. JIS コード文字列、 UTF-8 コード文字列を使いたい。 CJisStr 、 CUtf8Str があります。これらはメソッドが 少なく、 S-JIS や UNICODE との相互変換用の色が強いものです。
Q.
Q. TNB Library のコントロールクラスの使い方は? コントロールクラスにより異なりますが、元となっている標準のコントロールを リソースエディタでダイアログリソースに配置します。 例えば、ボタン系のコントロールならボタンをリソースに配置します。 そして、コントロール変数を作ります。 ex) EDIT の場合、 CEdit が作られます。 \code class CTestDlg : public CDialog { // 構築 public: CTestDlg (CWnd* pParent = NULL); // 標準のコンストラクタ // ダイアログ データ //{{AFX_DATACTestDlg enum { IDD = IDD_TEST_DIALOG }; CEdit m_chkRecvLog; //}}AFX_DATA : : \endcode この CEDit の部分を、期待のコントロールクラス名に書き換えます。 後は、その OnInitDialog 等で、このインスタンスに対して、設定を するだけです。 ※テンプレートになってい場合、一度、 typedef をしないと、 Class Wizard などが 期待通りに動かなくなることがあります。ご注意ください。 ex) 半透明ビットマップボタンの場合 \code typedef CRgnSemitransparentButtonT<_BIT(3),60> CSemiButton; // 「無効状態」が50%透過の別名を宣言 class CTestDlg : public CDialog { // 構築 public: CTestDlg (CWnd* pParent = NULL); // 標準のコンストラクタ // ダイアログ データ //{{AFX_DATACTestDlg enum { IDD = IDD_TEST_DIALOG }; CSemiButton m_button; //}}AFX_DATA : : \endcode Q. カラフルなボタンを作りたい 文字の色と背景の色を変えたいだけなら CFontAdjusterAddinT . 画像によるカラフルなボタンにしたいなら、 CRgbButton . Q. ダイアログに簡単なアニメーションを張りたい。 複数のビットマップを数枚使ったアニメーションを表示したい場合、 CAnimateStatic が使用できます。 Q. 作ったスレッドから SetWindowText したら、ロックした。 CSetTextAddinT を使ってみてください。