Windowsの[名前を付けてファイルを保存]ダイアログの[保存]ボタンにテキストを設定しようとしています。Windowsのファイルダイアログの「保存」ボタンにテキストを設定するにはどうすればよいですか?
私はフックを設定しました。メッセージを受信しました。ボタンを見つけました。(nb:「GetWindowText()
」と呼んだ場合は、「&保存」を参照してください。
次は、「SetWindowText()
」(それを確認するには「GetWindowText()
」と呼ばれ、テキストは正しい)を使用してテキストを変更しました。
しかし、ボタンはまだ "保存"と表示されます。
「キャンセル」ボタンは全く同じコードを使用して変更できますが、問題はありません。 「保存」ボタンの特徴は何ですか?どうすれば変更できますか?
コード(のために何が価値がある):
static UINT_PTR CALLBACK myHook(HWND hwnd, UINT msg, WPARAM, LPARAM)
{
if (msg == WM_INITDIALOG) {
wchar_t temp[100];
HWND h = GetDlgItem(GetParent(hwnd),IDOK);
GetWindowTextW(h,temp,100); // temp=="&Save"
SetWindowTextW(h,L"Testing");
GetWindowTextW(h,temp,100); // temp=="Testing"
}
}
この情報に基づいて、WM_INITDIALOGの後にボタンが変更されているように見えます。フックを使用せずにダイアログの側面をカスタマイズできる拡張機能が組み込まれていませんか? – jdigital
コールバックのすべての呼び出しでボタンのテキストを調べました(WM_INITDIALOGの後にかなりの数の呼び出しがあります)。テキストには常に「テスト」と表示されます(ただし、表示される内容と同じではありません)。 –