SetWindowText関数でタイトルバーの文字列は指定できるのか?

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: SetWindowText関数でタイトルバーの文字列は指定できるのか?

by Bynn62 » 2007年8月29日(水) 17:04

お二人ともありがとうございます

参考にして今後とも精進していきたいと思います。

by みどるべあ » 2007年8月29日(水) 13:25

http://msdn.microsoft.com/library/ja/de ... owtext.asp
タイマーということなので数値をタイトルバーに設定するとして、
SetWindowTextはLPCTSTR,すなわちchar*(BytePtr)またはwchar_t*しか取らないので変換する必要があります

コード: 全て選択

'註:timerは設定したい数値, hWndは設定したいウィンドウのハンドル
'さらに註:SetWindowTextは別のアプリケーションのウィンドウには使えません
Dim str As String
str = "あと" + Str$(timer) + "秒"
SetWindowText(hWnd, StrPtr(str))
やっていることは、timerの数値をStringに変換して"あと"と"秒"をつけて
StringからBytePtrに変換してSetWindowTextを呼び出しています.

by ゲスト » 2007年8月29日(水) 11:43

ウィンドウが作成された後にSetする必要があります。

コード: 全て選択


Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
Dim Titel[MAX_PATH] As BYTE
lstrcpy(Titel ,"abcdefg")
SetWindowText(hMainWnd, Titel)
End Sub

SetWindowText関数でタイトルバーの文字列は指定できるのか?

by Bynn62 » 2007年8月29日(水) 10:39

こんにちはbynn62といいますが・・・


現在、見よう見真似で作ったタイマーのソフトを作っていますが

タイトルバーにあと○○秒などの文字を入れたいと思っていますが


はじめはSetWindowText関数で行けばいいかと思いましたが

設定する文字列が格納されている、バッファへのポインタがわかりません


これは別の関数で設定するのでしょうか?

よろしくお願いします

ページトップ