Iwao Dev

気付いたことをメモしています.

この画面は、簡易表示です

2009 / 12月

ShellExtension

CXxx::XPersistFile::Load は呼ばれるのに CXxx::XExtractIcon::GetIconLocation が呼ばれない
 
[HKEY_CLASSES_ROOTCLSID{xxxxxxxx-…xxxxxxxxxxxx}InProcServer32]
@="ExtentionDLL.dll"
"ThreadingModel"="Apartment"
 
TheredingModel を指定すれば呼ばれるようになった
 
2008/04/03 16:25


  にほんブログ村 IT技術ブログへ

  • Categories:

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

 

 



  にほんブログ村 IT技術ブログへ

  • Categories:

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 追加



  にほんブログ村 IT技術ブログへ

  • Categories:

UNICODE と VC6 → VC8

  

VC6

UNICODE

wWinMainCRTStartup

 

VC6 VC8

http://cid-535f5973454c1292.skydrive.live.com/self.aspx/.Public/MFC/VC6%e2%86%92VC8.txt

「プリコンパイル済みヘッダファイル」

$(IntDir)/$(TargetName).pch

「C/C++」-「出力ファイル」
 「ASMリスト...」

 「オブジェクト...」
 「プログラムデータベース...」

$(IntDir)/

「リンカ」-「全般」の「出力ファイル」

$(OutDir)/$(ProjectName).exe

リンカ」-「デバッグ」
 「プログラムデータベースファイルの生成」

$(OutDir)/$(ProjectName).pdb

「リソース」-「全般」の「リソースファイル名」

$(IntDir)/$(InputName).res

「MIDL」-「出力」の「タイプライブラリ」

$(IntDir)/$(ProjectName).tlb

「ブラウザ情報」-「全般」の「出力ファイル」

$(OutDir)/$(ProjectName).bsc



  にほんブログ村 IT技術ブログへ

  • Categories:

コンテキストメニューで 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 ; }
//      …
 


  にほんブログ村 IT技術ブログへ

  • Categories:

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) ;
      }
 
 


  にほんブログ村 IT技術ブログへ

  • Categories:


    top

    %d人のブロガーが「いいね」をつけました。