ページ 11

左上のアイコン

Posted: 2006年1月19日(木) 19:03
by ぼんた
初心者です。久々にABを触らせていただきました。(最新バージョンで)

昔のバージョンでは下記で動作していました。
SendMessage (hMainWnd, WM_SETICON, 0, LoadImage( 0,"test.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE))

でも、新バージョンでは、デバッグで下記の警告が出ます。
”MainWnd.sbp(89) - [警告] "SendMessage"の第4パラメータが、VoidPtrからLongに強制変換されています。”

どう、対処すればいいのでしょうか?

あっちこっちでエラー

Posted: 2006年1月19日(木) 19:24
by ぼんた
あっちこっちでエラーです。助けて~~です。

'テキストの上限を設定
SendMessage(rithEdit,EM_EXLIMITTEXT,0,MaxText)
これでも、エラーです。

”MainWnd.sbp(137) - [警告] "SendMessage"の第1パラメータが、LongからHWNDに強制変換されています。”

過去バージョンに戻すしかないのかな?

Posted: 2006年1月19日(木) 19:33
by OverTaker
この場合放っておいても問題ないと思いますが、気になりますよね。私としてはAs Longと書くのも気になってしまいますが・・・

コード: 全て選択

SendMessage (hMainWnd, WM_SETICON, 0, LoadImage( 0,"test.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE) As Long)
詳しくはこちらに書かれています。
http://www.discoversoft.net/help_center ... strict.htm

ちなみに#strictディレクティブを指定しなければ、この警告はでなくなります。

Posted: 2006年1月20日(金) 22:22
by イグトランス
rithEditはあなたが作った変数ですよね?
どこかにDim rithEdit As DWordあるいはLongと書いてあると思います。
そこをDim rithEdit As HWNDとしてください。
#余裕があればrichEditに修正する機会ではないでしょうか。

SendMessageのほうは64bit対応を踏まえW/LPARAMを使うべきです。
SendMessage(hMainWnd, WM_SETICON, 0, LoadImage(0, "test.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE) As LPARAM)