Iwao Dev

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

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

Disable にされたラジオボタンでアサート

Disable にされたラジオボタンで,そのボタンが選択状態(値がそのボタン)の時,DDX を使用していると Debug 版でアサートされる.
Release 版では,うまく動作する様に見える場合もあるが,他の値に変更されない場合もある.
UpdateData(FALSE) のみを使用している場合は OK.
 
//*******************************************************************************
// 関数名 :指定されたコントロールの無効化
// 作成日 :’09/11/11
// 変更日 :’10/01/26 ラジオボタンで選択されている時,アサートされたバグの対応
//*******************************************************************************
inline
BOOL MDlgMod::DisableControlID (CWnd* wnd,const CUIntArray& disCmmdIDs,const BOOL isDisable)
{
    BOOL isEnable = (isDisable) ? FALSE : TRUE ;
    if (wnd == NULL)   { return FALSE ;  }
    for (INT_PTR index=0 ; index<disCmmdIDs.GetSize() ; index++) {
        UINT id = disCmmdIDs[index] ;
        if (id == 0)  { continue ; }
        CWnd* ctrl = wnd->GetDlgItem(id) ;
        if (ctrl == NULL) { continue ; }
        if (!isEnable) {
            if (_AfxIsRadioButton(ctrl->GetSafeHwnd())) {     // CtlPPG.cpp
                if (Button_GetCheck(ctrl->GetSafeHwnd())) {  // WindowsX.h
                    continue ;
                    }
                }
            }
        ctrl->EnableWindow(isEnable) ;
        }
    return TRUE ;
    }

  • Categories:

スクリプトの制限時間の変更

Active Server Pages, ASP 0113 (0x80004005)
スクリプトを実行する時間の制限を超えました。
この制限時間は、プロパティ Server.ScriptTimeout に新しい値を指定するか、IIS 管理ツールの値を変更することによって変更できます。

Active Server Pages (ASP) のスクリプト タイムアウト エラー



ショートカットなど

メッセージボックスの内容をクリップボードへ 「Ctrl」+「C」  
exe の起動 Windows 7 タスクバー上の「MButton」  
IE 8 ?の翻訳 「右クリック」-「...で翻訳」  
AutoRun を機能させない 「左Shift」+USB メモリ挿入   2010/02/02 追加  


XP Mode のインストール関係

PC が Windows XP Mode を実行できることを確認する方法 
http://www.microsoft.com/japan/windows/virtual-pc/support/configure-bios.aspx

×-仮想化機能なし 
-BIOS設定が必要 
-そのままで可能 

2010/05/20 追記
2010/03/20 以降,「仮想化テクノロジー」は必須ではなくなった.



Windows Sysinternals



VS 6 の SP の確認

VS 6 の SP の確認
http://support.microsoft.com/kb/316915/ja
HKEY_LOCAL_MACHINESOFTWAREMicrosoftVisualStudio6.0ServicePacks

Ver.   SP MFC MSC
VS 6 VC 6 6 0x0600 1200
VS .net VC 7 1 0x0700 1300
VS 2003 VC 7.1 1 0x0710 1310
VS 2005 VC 8 1 0x0800 1400
VS 2008 VC 9 1 0x0900 1500


  • Categories:

IE8 での User Agent 文字列

IE8 での User Agent 文字列
 
イントラネット内で「互換表示」が ON になっていることがある.
「ツール」-「互換表示設定」-「互換表示でイントラネット…」のチェック
 

  • Categories:

Excel 2007 ダブルクリックで開かない

Excel 2007
xls のダブルクリックで開かない.
 


ダイアログにドロップ機能の追加

「ダイアログ プロパティ」-「拡張スタイル」タブ内の「ドラッグアンドドロップを許可」にチェック.
「MFC ClassWizard」の「クラス情報」-「詳細設定オプション」の「メッセージフィルタ」を「ウィンドウ」に.
「メッセージマップ」の「メッセージ」内の WM_DROPFILES を追加.


void C???Dlg::OnDropFiles(HDROP hDropInfo) 
{
    CStringArray dropFiles ;
    ::DropFilesToStringArray(hDropInfo,dropFiles) ;
    ...
    CDialog::OnDropFiles(hDropInfo);
}
//   WinMFC.hxx
//*******************************************************************************
// 関数名 :ドロップされたファイル名の取得
// 作成日 :’07/10/19
//*******************************************************************************
BOOL DropFilesToStringArray (HDROP hDropInfo,CStringArray& strAry)
{
    UINT nFiles = ::DragQueryFile(hDropInfo,(UINT)-1,NULL,0) ;
    CStringArray dropFiles ;
    for (UINT index=0 ; index<nFiles ; index++) {
         UINT len = ::DragQueryFile(hDropInfo,index, NULL,0) ;
              len += 1 ; // 終端の NULL 文字の分を確保
         CString dropFile ;
         ::DragQueryFile(hDropInfo,index,dropFile.GetBuffer(len),len) ;
         dropFile.ReleaseBuffer() ;
         dropFiles.Add(dropFile) ;
         }
    strAry.Copy(dropFiles) ;
    return TRUE ;
    }

2014/06/02 v_tstring DropFilesTo (HDROP hDropInfo) { v_tstring dropFiles ; UINT nFiles = ::DragQueryFile(hDropInfo,(UINT)-1,NULL,0) ; for (UINT index=0 ; index<nFiles ; index++) { UINT len = ::DragQueryFile(hDropInfo,index, NULL,0) ; len += 1 ; // reserve last '\0' tstring dropFile ; dropFile.resize(len,0) ; ::DragQueryFile(hDropInfo,index,&dropFile[0],len) ; dropFiles.push_back(dropFile.c_str()) ; } return dropFiles ; }



top

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