ホーム » 2009 » 12月 » 31

日別アーカイブ: 2009/12/31

2009年12月
 12345
6789101112
13141516171819
20212223242526
2728293031  

カテゴリー

アーカイブ

ブログ統計情報

  • 99,342 アクセス


ShellExtension

CXxx::XPersistFile::Load は呼ばれるのに CXxx::XExtractIcon::GetIconLocation が呼ばれない
 
[HKEY_CLASSES_ROOTCLSID{xxxxxxxx-…xxxxxxxxxxxx}InProcServer32]
@="ExtentionDLL.dll"
"ThreadingModel"="Apartment"
 
TheredingModel を指定すれば呼ばれるようになった
 
2008/04/03 16:25
Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Tool Bar のドロップダウンボタン

VC7 exe で,ビジュアルスタイルが有効な時,ツールバーの幅が正しくない
  VC7.1 もNG  VC8 以降では OK
VC6 exe で,リサイズした時ダウン
2009/06/18 10:48

http://cid-535f5973454c1292.skydrive.live.com/self.aspx/.Public/MFC/%e3%83%84%e3%83%bc%e3%83%ab%e3%83%90%e3%83%bc%e3%81%ae%e3%83%89%e3%83%ad%e3%83%83%e3%83%97%e3%83%80%e3%82%a6%e3%83%b3%e3%83%9c%e3%82%bf%e3%83%b3.txt
ツールバーのドロップダウンボタン.txt

2010/09/02 ツールバーにドロップダウンボタン

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

MFC DLL → Static

Open Dialog , Print Preview でのエラー

ダイアログの DDV でメッセージなし(アイコンのみ)

VC7 共有DLL Static DLL に変更した場合

Vista Common Ctrl 6 が有効にならない

Project . Manifest の不備

Neme = …. Project

確認済

Print Preview

DDV

「リソース」-「全般」のプリプロセッサを削除

  _AFXDLL を削除

確認済

LNK2019: 未解決の

_mainCRTStartup で..

「リンカ」-「システム」-「サブシステム」が

  設定なしになっている
  ⇒
Windows (/SUBSYSTEM:WINDOWS)

 

 ?

fatal error C1189: #error : Please use the /MD switch for _AFXDLL builds

ソースのプロパティに _AFXDLL が含まれているのでそれを削除

 

 

補足(static 共有に戻した時)

$(NoInherit) を削除する必要もあった

 

VS2010β2 で「C++Runtime Library」を /MD /MT

確認済

2009/06/17 22:46

2009/09/16 10:45 追加

2009/10/21 10:04 追加

2009/11/27 17:20 追加

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

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

https://dev.mish.work/Iwao/Doc/other/vs/

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

コンテキストメニューで 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 ; }
//      ...
      }
Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

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) ;
      }
   if (TL3 != NULL) {
      TL3->SetProgressValue(this->GetSafeHwnd(),Counter,100) ;
      }
 
 
Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.