ライブドアブログのメッセージボードで曜日ごとに切り替え

この欄でもjavascript使える

3割非表示というのもいれてみると意外といい。

<script>
function Settoday(){
  var today = new Date() ;
  var weekday = [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ] ;  
 
  var random = Math.random();
  if( random < 0.3 ){
    // 3割は非表示にする
   document.getElementById("none").style.display="block";
  }else{
   document.getElementById(weekday[today.getDay()]).style.display="block";
  }
}
</script>
 
<body onload="Settoday();">
<div id="none" style="display:none;">
	<!-- 非表示 -->
</div>
<div id="Sun" style="display:none;">
	<!-- 日曜日 -->
</div>
<div id="Mon" style="display:none;">
	<!-- 月曜日 -->
</div>
<div id="Tue" style="display:none;">
	<!-- 火曜日 -->
</div>
<div id="Wed" style="display:none;">
	<!-- 水曜日 -->
</div>
<div id="Thu" style="display:none;">
	<!-- 木曜日 -->
</div>
<div id="Fri" style="display:none;">
	<!-- 金曜日 -->
</div>
<div id="Sat" style="display:none;">
	<!-- 土曜日 -->
</div>
</body>

MFCのCDialogでEnterキー(Escキー)を押されたとき親ウィンドウに委ねる

BOOL CHogeChildDialog::PreTranslateMessage(MSG* pMsg)
{
	if (pMsg->message == WM_KEYDOWN) {
		switch (pMsg->wParam) {
		case VK_RETURN:
			return FALSE;	// 親にゆだねる 
		case VK_ESCAPE:
			return FALSE;	// 親にゆだねる 
		default:
			break;
		}
	}
	return CDialog::PreTranslateMessage(pMsg);
}

致命的エラー C1052 の対処方法


プログラム データベース ファイルでは、'filename'、;/DEBUG:fastlink のリンカーによって生成されたコンパイラできませんこのような PDB ファイルを更新; か削除してください、/Fd を使用して、別の PDB ファイル名を指定するには

というのがでたら、
プロジェクトのプロパティで
C/C++>出力ファイル>プロジェクトデータベースファイルの名前を

$(IntDir)vc$(PlatformToolsetVersion).pdb

にしてみる。
f:id:shikaku:20190509134757p:plain

「warning LNK4075: /EDITANDCONTINUE は /SAFESEH の指定によって無視されます」の対処方法

プロジェクトをアップグレードすると vcxproj ファイルに本来記述されるべき UseDebugLibraries 属性が記述されないため、vcxproj ファイルをテキストエディタで開いて</Project>の前に以下を追加

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
    <ConfigurationType>StaticLibrary</ConfigurationType>
    <UseDebugLibraries>true</UseDebugLibraries>
    <PlatformToolset>v120</PlatformToolset>
    <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
    <ConfigurationType>StaticLibrary</ConfigurationType>
    <UseDebugLibraries>false</UseDebugLibraries>
    <PlatformToolset>v120</PlatformToolset>
    <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>

エラー メッセージ "外部シンボル _WinMain@16 は未解決です" 対策

visualstudio 2019にプロジェクトをアップデートしたら出た。

プロパティみたら
もともとユニコード対応プロジェクトじゃなかったのに
文字セットの項目がUnicode になってたので
「マルチバイト文字セットを使用する」に変えたら治った。
f:id:shikaku:20190509130810p:plain