今日はWTLにチャレンジ
スライダーバーを使おうとしてMSG_WM_HSCROLLマクロを埋め込んだところ、なにやら未解決のメソッドが出てきた。
そこでよくatlcrack.hを見ると以下のコメントが、
// Note about message maps with cracked handlers:
// For ATL 3.0, a message map using cracked handlers MUST use BEGIN_MSG_MAP_EX.
// For ATL 7.0 or higher, you can use BEGIN_MSG_MAP for CWindowImpl/CDialogImpl derived classes,
// but must use BEGIN_MSG_MAP_EX for classes that don't derive from CWindowImpl/CDialogImpl.
BEGIN_MSG_MAPをBEGIN_MSG_MAP_EXに置き換えたら見事ビルドが通りました。
使い方は以下みたいな感じ。
class CMainDlg : public CDialogImpl<CMainDlg>, public CUpdateUI<CMainDlg>,
public CMessageFilter, public CIdleHandler
{
private:
CTrackBarCtrl track_bar; // トラックバー
…中略…
BEGIN_MSG_MAP_EX(CMainDlg)
MSG_WM_HSCROLL(OnHScroll)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
END_MSG_MAP()
void OnHScroll(int nCode, short nPos, HWND hWnd)
{
CTrackBarCtrl trackbar = hWnd;
ATLTRACE("%d\n", trackbar.GetPos());
}
LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
…中略…
// コントロール設定
track_bar = GetDlgItem(IDC_SLIDER_MAIN);
// スライダーバーの初期化
track_bar.SetRange(0, 32767); // 値の範囲(32767が最大値)
track_bar.SetTicFreq(3276); // 解像度
track_bar.SetPageSize(3276); // PageUp/PageDown での移動量
track_bar.SetLineSize(328); // カーソルキーでの移動量
return TRUE;
}
…中略…
}
ページ
▼
2008年8月29日金曜日
2008年8月23日土曜日
Visual C++ 2008 Express EditionでWTLを使おう!
このページでは主に以下の手順についての概要をまとめてあります。
ただ正直細かい点はあまり覚えてないので省略してたりもします。(^^;
- Visual C++ 2008 Express Editionをインストール
- Microsoft Platform SDKをインストール
- WTL8.0をインストール
1. Visual C++ 2008 Express Editionをインストール
特に大変なことはありません。ウイザードに沿ってインストールを進めます。
ちなみに私は以前マイクロソフトのサイトからダウンロードしていたものを使用しました。
2. Microsoft Platform SDKをインストール
Windows Server 2003 SP1 Platform SDK ISO Installを使ってインストールします。
インストール後に、VC++2008の[ツール]->[オプション]からオプション設定ダイアログを開き、include・libのパスを設定します。
[プロジェクトおよびソリューション]->[VC++ ディレクトリ]->[ディレクトリを表示するプロジェクト]->[インクルード ファイル]
3. WTL8.0をインストール
SOURCEFORGE.NETより最新版を入手します。
(1) 自己解凍書庫を展開したものを任意のフォルダに移動します。
(2) 移動後に、VC++2008の[ツール]->[オプション]からオプション設定ダイアログを開き、includeのパスを設定します。
[プロジェクトおよびソリューション]->[VC++ ディレクトリ]->[ディレクトリを表示するプロジェクト]->[インクルード ファイル](3) セットアップスクリプトをVC++2008EE用に編集します。
- setup80x.jsをコピーしてsetup90x.jsというファイルを作成します。
- setup90x.jsをテキストファイルで開いて、「8.0」という文字列を「9.0」に置換します。
- setup90x.jsを保存して閉じます。
- setup90x.jsを実行し、セットアップが完了します。
2008年8月9日土曜日
EeePC 901-X購入
ここ最近ずっと気になっていたミニノートPCのEeePC 901-Xをついに購入してしまいました。
ヨドバシで3台入荷しましたというセールストークにまんまと引っ掛かった感じですかね。(^^ゞ
ヨドバシで3台入荷しましたというセールストークにまんまと引っ掛かった感じですかね。(^^ゞ