UNICODE と VC6 → VC8
VC6 UNICODE
wWinMainCRTStartup
VC6 → VC8
http://cid-535f5973454c1292.skydrive.live.com/self.aspx/.Public/MFC/VC6%e2%86%92VC8.txt
VC6→VC8.txt
「プリコンパイル済みヘッダファイル」 | $(IntDir)/$(TargetName).pch |
「C/C++」-「出力ファイル」 「ASMリスト...」 「オブジェクト...」 「プログラムデータベース...」 |
$(IntDir)/ |
「リンカ」-「全般」の「出力ファイル」 | $(OutDir)/$(ProjectName).exe |
リンカ」-「デバッグ」 「プログラムデータベースファイルの生成」 |
$(OutDir)/$(ProjectName).pdb |
「リソース」-「全般」の「リソースファイル名」 | $(IntDir)/$(InputName).res |
「MIDL」-「出力」の「タイプライブラリ」 | $(IntDir)/$(ProjectName).tlb |
「ブラウザ情報」-「全般」の「出力ファイル」 | $(OutDir)/$(ProjectName).bsc |
コンテキストメニューで MK_SHIFT , MK_CONTROL
switch (message) { case WM_MOUSEMOVE : Mouse.Move(Wnd,point) ; return TRUE ; break ; case WM_RBUTTONUP : return Context (msg) ; break ; case WM_CONTEXTMENU : return Context (msg) ; break ; case WM_COMMAND : return Command (msg) ; break ; default : break ; }
// MK_SHIFT | MK_CONTROL が押されている場合は,WM_RBUTTONUP で処理している BOOL ????????::Context (const MSG* msg) { WPARAM nFlags = GetMouseFlags (msg) ; // キーフラグ // CPoint point = GetClientPoint(msg) ; // カーソル位置 { UINT message = GetMessage(msg) ; // メッセージ番号 if (message == WM_RBUTTONUP) { if (nFlags & MK_CONTROL) { ; } else if (nFlags & MK_SHIFT) { ; } else { return FALSE ; } } else { // WM_CONTEXTMENU の時は,キーの状態は無効 nFlags = 0 ; } } // if (???????->PopupSelect(nFlags,point,TRUE)) { return TRUE ; } // ... }
Windows 7 のタスクバー(進行状況バー)
VS 2010 β2
ITaskbarList3* GetITaskbarList3 (void)
{
ITaskbarList3* pTL3 = NULL ;
HRESULT hr = NULL ;
hr = CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER,IID_ITaskbarList3, (void**)&pTL3) ;
if (hr == NOERROR) {
return pTL3 ;
}
return NULL ;
}
if (TL3 != NULL) {
TL3->SetProgressState(this->GetSafeHwnd(),TBPF_NORMAL) ;
}
ITaskbarList3* GetITaskbarList3 (void)
{
ITaskbarList3* pTL3 = NULL ;
HRESULT hr = NULL ;
hr = CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER,IID_ITaskbarList3, (void**)&pTL3) ;
if (hr == NOERROR) {
return pTL3 ;
}
return NULL ;
}
if (TL3 != NULL) {
TL3->SetProgressState(this->GetSafeHwnd(),TBPF_NORMAL) ;
}
if (TL3 != NULL) {
TL3->SetProgressValue(this->GetSafeHwnd(),Counter,100) ;
}
TL3->SetProgressValue(this->GetSafeHwnd(),Counter,100) ;
}