HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0226
kendialogのボタン文字列を変更したい6未解決


ken

リンク

2009/2/26(Thu) 11:46:08|NO.23612

dialogのボタン「はい」、「いいえ」の文字列を変更したいのですがどうしたらできますか?



この記事に返信する


check

リンク

2009/2/26(Thu) 12:03:44|NO.23613

MessageBoxA関数(dialog)にそんな機能はない。
ダイアログに表示される質問の仕方を工夫するとか、
ダイアログを自作するとか。



hspail

リンク

2009/2/26(Thu) 12:27:12|NO.23616




レノス

リンク

2009/2/26(Thu) 15:35:06|NO.23619

フック関数を使えば可能のようです。

「ダイアログ ボタン 文字 変える」でググってみました。
・無題なログ
http://geocities.yahoo.co.jp/gl/gbmogiki/view/20080906



Hiroaki Software

リンク

2009/2/26(Thu) 17:07:28|NO.23620




New Monkey

リンク

2009/2/26(Thu) 21:29:46|NO.23622

ゴリ押しですけど


#include "user32.as" //「はい」「いいえ」ボタンに新しく設定する文字列 strYes = "YES!" strNo = "NO!" oncmd gosub *Timer, $00000113/*WM_TIMER*/ SetTimer hwnd, 1, 1, 0 dialog "message", 2, "option" stop *Timer GetWindowThreadProcessId hwnd, 0//自ウィンドウのプロセスIDを取得 hp = stat hw = 0 repeat FindWindowEx 0, hw, "#32770", 0//ダイアログを検索 hw = stat if hw = 0 { break } GetWindowThreadProcessId hw, 0//ダイアログのプロセスIDを取得 if stat = hp {//自ウィンドウが作ったダイアログだったら FindWindowEx hw, 0, "Button", "はい(&Y)" SendMessage stat, $0000000C/*WM_SETTEXT*/, strlen(strYes), varptr(strYes) FindWindowEx hw, 0, "Button", "いいえ(&N)" SendMessage stat, $0000000C/*WM_SETTEXT*/, strlen(strNo), varptr(strNo) KillTimer hwnd, 1 break } loop return



ken

リンク

2009/2/26(Thu) 22:08:01|NO.23625

皆さんありがとうございます。
結構探せばあるものですね。さんざん探したつもりですが良い解決策が見当たらず質問して
しまいました。
WinAPIなどでボタンのハンドル取得してSendMessageすればできるのかなと思っていましたが
そう簡単ではなさそうですね。NO.23622他提示いただいたサンプル解析してみます。

もうしばらく他の回答も待ちたいと思います。



ONION software Copyright 1997-2021(c) All rights reserved.