12/08/04 15:05:46.29
>>37
いちいち報告すんなつっただろカス
二度と来るな
39:デフォルトの名無しさん
12/08/04 15:11:43.24
最小構成の仕方に問題があったのか元のソースに変更を適用したらまた元に戻るようになってしまいました
WM_INITDIALOG内でメッセージが発行される事は無くなったのですが
case IDC_RADIOBUTTON_FIND:
MessageBox(NULL, _T("Find"), _T("FindReplace"));
return (INT_PTR)TRUE;
case IDC_RADIOBUTTON_REPLACE:
MessageBox(NULL, _T("Replace"), _T("FindReplace"));
return (INT_PTR)TRUE;
このようにして確認してみた所
Ctrl+Hでダイアログ表示(置換がチェック)
→ダイアログをクリックしてアクティブに(問題無し)
→メインのウィンドウをアクティブにしてCtrl+F(検索がチェック)
→ダイアログをクリックしてアクティブに(IDC_RADIOBUTTON_REPLACEが17回ほど飛んでくる)
という状態になりました
40:デフォルトの名無しさん
12/08/04 15:15:12.48
ウィンドウプロシージャの方は初期状態(VC++2010プリコンパイル)に以下を追加
case WM_CREATE:
CreateDialog(NULL, IDD_USERICHEDIT_FINDREPLACE, hWnd, FindReplaceProc);
// VisibleはFALSE
break;
case WM_KEYDOWN:
switch(wParam) {
case 'F':
if(GetKeyState(VK_CONTROL) < 0) {
if(IsWindowVisible(rei.fri.hDlg) == 0) {
ShowWindow(rei.fri.hDlg, SW_SHOWNOACTIVATE);
}
CheckRadioButton(rei.fri.hDlg, IDC_RADIOBUTTON_FIND, IDC_RADIOBUTTON_REPLACE, IDC_RADIOBUTTON_FIND);
return 0;
}
break;
case 'H':
if(GetKeyState(VK_CONTROL) < 0) {
if(IsWindowVisible(rei.fri.hDlg) == 0) {
ShowWindow(rei.fri.hDlg, SW_SHOWNOACTIVATE);
}
CheckRadioButton(rei.fri.hDlg, IDC_RADIOBUTTON_FIND, IDC_RADIOBUTTON_REPLACE, IDC_RADIOBUTTON_REPLACE);
return 0;
}
break;
}
break;
41:片山博文MZボット ◆0lBZNi.Q7evd
12/08/04 15:16:02.07
>>39
WM_COMMANDメッセージで、LOWORD(wParam)とHIWORD(wParam)を
両方チェックしないと駄目だよ。
42:デフォルトの名無しさん
12/08/04 15:16:41.35
//ダイアログプロシージャ
INT_PTR CALLBACK FindReplaceProc(HWND hDlg, UINT unMessage, WPARAM wParam, LPARAM lParam)
{
INT wmId, wmEvent;
switch (unMessage) {
case WM_INITDIALOG:
rei.fri.hDlg = hDlg;
SetWindowPos(hDlg, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);
return (INT_PTR)FALSE;
case WM_COMMAND:
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
switch(wmId) {
case 2: // 閉じるボタンで使用済み
ShowWindow(hDlg, SW_HIDE);
return (INT_PTR)TRUE;
case IDC_RADIOBUTTON_FIND:
MessageBox(hDlg, _T("Find"), _T("FindReplaceProc"), MB_OK);
return (INT_PTR)TRUE;
case IDC_RADIOBUTTON_REPLACE:
MessageBox(hDlg, _T("Replace"), _T("FindReplaceProc"), MB_OK);
return (INT_PTR)TRUE;
}
return (INT_PTR)TRUE;
}
return (INT_PTR)FALSE;
}
//グローバル変数
RICHEDITINFO rei = {0};
43:デフォルトの名無しさん
12/08/04 15:27:00.48
>>41
wmEventがBN_CLICKEDの時にメッセージボックスが表示するようにしたのですが
相変わらず17回表示されてしまいました
44:デフォルトの名無しさん
12/08/04 15:35:42.19
>>39
ここはお前のブログじゃねえんだよ。
連投でゴミコード貼るな。
45:片山博文MZボット ◆0lBZNi.Q7evd
12/08/04 15:42:29.55
>>43 WM_KEYDOWNのリピートカウントをチェックして
46:片山博文MZボット ◆0lBZNi.Q7evd
12/08/04 15:43:51.22
>>45 間違えた。WM_KEYDOWNのlKeyDataのビット30をチェックして。
47:片山博文MZボット ◆0lBZNi.Q7evd
12/08/04 15:51:49.24
if (lParam & 0x40000000) { ... }
48:デフォルトの名無しさん
12/08/04 16:42:32.60
Ctrl+F or Hが押された時の動作をこのようにしたのですが
if((lParam & (LONG)pow((long double)2, 30)) == 0) {
if(IsWindowVisible(rei.fri.hDlg) == 0) {
ShowWindow(rei.fri.hDlg, SW_SHOWNOACTIVATE);
}
CheckRadioButton(rei.fri.hDlg, IDC_RADIOBUTTON_FIND, IDC_RADIOBUTTON_REPLACE, IDC_RADIOBUTTON_FIND);
}
>>39のようになりました
Ctrl+Hでダイアログ表示(置換がチェック)
→ダイアログをクリックしてアクティブに(メッセージボックス無し)
ここで既に置換メッセージは完了してるはずなのに
→メインのウィンドウをアクティブにしてCtrl+F(検索チェック、メッセージボックス無し)
→ダイアログをクリックしてアクティブに(IDC_RADIOBUTTON_REPLACEが来てメッセージボックスが17回ほど表示)
ここでメッセージが来るとしたらCtrl+Fなので検索メッセージのはずなのですが
ここで置換メッセージが来るのです
49:片山博文MZボット ◆0lBZNi.Q7evd
12/08/04 16:59:14.27
>>48
ちょっと御手上げですね。。。ZIPファイルでください。
URLリンク(www.axfc.net)
※整数ではpowじゃなくて「<<」(シフト演算)を使う。
50:デフォルトの名無しさん
12/08/04 17:55:26.60
すみません遅くなりました
現象が再現できる最小構成です
URLリンク(www1.axfc.net)
よろしくお願いします
51:片山博文MZボット ◆0lBZNi.Q7evd
12/08/04 18:03:15.01
48行目:
while (GetMessage(&msg, NULL, 0, 0)) {
if (!IsDialogMessage(hDialogFindReplace, &msg)) {
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
52:片山博文MZボット ◆0lBZNi.Q7evd
12/08/04 18:04:50.61
TranslateAcceleratorがあるなら、Ctrl+Fなどは、リソースで設定すると
いいよ。
53:デフォルトの名無しさん
12/08/04 18:32:56.77
完売ッッ!ソニー「初音ミク」Walkman 5時間で完売ッッ!
スレリンク(poverty板)
ソニー、“Walkman”の「初音ミクモデル」を限定発売キタ━━━━(゚∀゚)━━━━!!
スレリンク(poverty板)
ソニーは、“Wlakman Sシリーズ”に初音ミクの刻印を施した「初音ミク生誕5周年記念モデル」を直販サイトのソニーストアお
よび直販店のソニーストア銀座/名古屋/大阪にて限定販売する。本日8月3日よりエントリー登録の受付を開始しており、8
月中旬から1次販売、8月下旬から2次販売する。
対象モデルは「NW-S764」(12,800円/税込)と専用スピーカー付きの「NW-S764K」(15,800円/税込)。本体のみの「NW-
S764」は、初音ミクのコンセプトカラーであるブルーとブラックの2色、スピーカー付きモデルはブルーのみで展開し、各色
3939台ずつの限定販売となる。
本体背面にはピアノをモチーフとした描き下ろしの初音ミク刻印デザインを施しているほか、オリジナルの壁紙や、初音ミク
が初めて世に出た際のサンプル楽曲として挿入されていた『星のカケラ』のフルバージョンをプリインストール。
URLリンク(www.phileweb.com)
URLリンク(www.phileweb.com)
URLリンク(www.phileweb.com)
URLリンク(www.phileweb.com)
URLリンク(www.phileweb.com)
54:片山博文MZボット ◆0lBZNi.Q7evd
12/08/04 18:44:00.33
>>50 URLリンク(codepad.org)
55:デフォルトの名無しさん
12/08/04 18:49:15.64
662:デフォルトの名無しさん :2012/01/09(月) 16:00:17.75 [sage]
ヲチのためだけにスレ立て続けてるゴミ
パーカおめとか面白いと思ったワードを連呼する池沼
高度情報に粘着してる陰険
56:デフォルトの名無しさん
12/08/04 19:04:34.91
経済的に困窮した日本人が右翼化、ネットで外国人排斥-米紙
米紙ニューヨーク・タイムズは29日、「日本社会の中・下層の青年たちは、自らの生活に対して失望・
落胆した感情を、インターネットなどを通じて外国人への排斥につなげている」と報じ、こうした日本人は
「ネット右翼とも呼ばれている」と伝えた。環球時報が報じた。
記事では、「2009年12月、十数人の日本人青年が、在日韓国人が通う小学校に集まり、拡声器で『
韓国のスパイ』などと叫ぶ事件があった」と紹介。続けて、一部の日本人青年のターゲットは韓国人や
中国人をはじめとするアジア人の他、キリスト教徒にも及びはじめていると報じた。
続けて記事では、ネット右翼の日本人の多くは若い男性で、給与額の低い仕事に従事しているとし、
ネット上で時間や場所を決めたうえで、外国人に向けたデモ活動を行っている紹介。
さらに記事は、社会学者の分析を引用したうえで、一部ではネット右翼を「新しいナチス」だと表現する
人もいるが、彼らは攻撃性もなく、現時点では暴力行為もないとした一方で、「彼らの目的は日本の
地位低下と自身の経済的困窮を表現することが目的」と報じた。
URLリンク(news.searchina.ne.jp)
57:デフォルトの名無しさん
12/08/04 19:34:18.04
>>54
ありがとうございます
メッセージループの変更をしてみたのですが
相変わらずメッセージボックスが17回表示されてしまいます
58:デフォルトの名無しさん
12/08/04 19:42:01.63
>>54
すみませんbCheckingを見落としていました
このようにする必要があるという事はBN_CLICKEDが何回も来るのは仕様という事になるんですね
ダイアログプロシージャの方にこのコードを追加したら思い通りの動作になりました
case WM_ACTIVATE:
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
switch(wmId) {
case WA_CLICKACTIVE:
return (INT_PTR)TRUE;
}
return (INT_PTR)TRUE;
・非アクティブで表示
・非アクティブで最前面
・WM_INITDIALOGで戻り値FALSE
・WM_COMMANDでwmEvent分岐の重要性
・WM_KEYDOWNで複数回実行されるのを回避
この点もありがとうございました