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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0723
GrapeColor(DION)inputの表示色変更と編集無効化7解決


GrapeColor(DION)

リンク

2012/7/23(Mon) 22:20:29|NO.47859

連日質問してしまい申し訳ありません。
このページ
http://lhsp.s206.xrea.com/hsp_object2.html
に載っている表示色変更と編集無効化ですが、(出来れば枠無しも含めて)同時に適用することは可能ですか?

簡単に作ってみたのですが、どうも上手くいきません。

#uselib "user32" #func SetWindowLong "SetWindowLongA" int, int, int #func SetWindowPos "SetWindowPos" int, nullptr, nullptr, nullptr, nullptr, nullptr, int #uselib "gdi32" #func CreateSolidBrush "CreateSolidBrush" sptr #func DeleteObject "DeleteObject" sptr #func SetBkColor "SetBkColor" sptr,sptr #func SetBkMode "SetBkMode" sptr,sptr #func SetTextColor "SetTextColor" sptr,sptr #define ctype RGB(%1,%2,%3) (%1 | %2 << 8 | %3 << 16) onexit *exit ooncmd gosub *ctlcoloredit, $133 input SongTitle, 390, 24 nInput = stat hInput = objinfo_hwnd(nInput) sendmsg hInput, $CF, 1 CreateSolidBrush RGB($18, $18, $18) hBrush = stat SetWindowLong hInput, -20, $0 SetWindowPos hInput, $27 stop *ctlcoloredit if hInput = lparam { SetBkMode wparam, 1 SetTextColor wparam, RGB($FF, $FF, $FF) SetBkColor wparam, RGB($18, $18, $18) return hBrush } return *exit DeleteObject hBrush end

分かる方がいらっしゃいましたらご教授お願いします。



この記事に返信する


mamo

リンク

2012/7/23(Mon) 23:12:27|NO.47863

良くわかってないけど自分が使ったてた時の状態にしてみました
15行目はいかがなされたか。


#uselib "user32" #func SetWindowLong "SetWindowLongA" int, int, int #func SetWindowPos "SetWindowPos" int, nullptr, nullptr, nullptr, nullptr, nullptr, int #include "gdi32.as" #define ctype RGB(%1,%2,%3) (%1 | %2 << 8 | %3 << 16) onexit *exit oncmd gosub *ctlcoloredit, $138 input SongTitle, 390, 24 hInput = objinfo(stat, 2) sendmsg hInput, $CF, 1 SetWindowLong hInput, -20, $0 SetWindowPos hInput, $27 CreateSolidBrush RGB($FF, $18, $18) hBrush = stat stop *ctlcoloredit if hInput = lparam { SetBkMode wparam, 1 SetTextColor wparam, RGB($FF, $FF, $FF) ;SetBkColor wparam, RGB($18, $18, $18) return hBrush } return *exit DeleteObject hBrush end



GrapeColor(DION)

リンク

2012/7/23(Mon) 23:28:08|NO.47867

mamoさんのご指摘どおりにやったらできました。
一応これを参考にやってたんですが、
http://lhsp.s206.xrea.com/hsp_object2.html#2
これとの違いを簡単でもいいので解説していただけないでしょうか。



暇人

リンク

2012/7/23(Mon) 23:54:56|NO.47869

全部そのURL先に書いてある
編集可能と不可でWMが変るのを見逃してるだけ

#uselib "user32" #func SetWindowLong "SetWindowLongA" int, int, int #func SetWindowPos "SetWindowPos" int, nullptr, nullptr, nullptr, nullptr, nullptr, int #uselib "gdi32" #func CreateSolidBrush "CreateSolidBrush" sptr #func DeleteObject "DeleteObject" sptr #func SetBkColor "SetBkColor" sptr,sptr #func SetBkMode "SetBkMode" sptr,sptr #func SetTextColor "SetTextColor" sptr,sptr #define ctype RGB(%1,%2,%3) (%1 | %2 << 8 | %3 << 16) onexit *exit oncmd gosub *ctlcoloredit, $133//WM_CTLCOLOREDIT(編集可) oncmd gosub *ctlcolorstatic, $138//WM_CTLCOLORSTATIC(編集不可) input SongTitle, 390, 24 nInput = stat hInput = objinfo_hwnd(nInput) f=1 sendmsg hInput, $CF, f CreateSolidBrush RGB($18, $18, $18) hBrush = stat CreateSolidBrush RGB($18, $88, $88) hBrush(1) = stat SetWindowLong hInput, -20, $0 SetWindowPos hInput, $27 but="編集不可","解除" button gosub but(f), *change bid=stat stop *ctlcoloredit if hInput = lparam { SetBkMode wparam, 1 SetTextColor wparam, RGB($FF, $FF, $FF) SetBkColor wparam, RGB($18, $18, $18) return hBrush } return *ctlcolorstatic if lparam = hInput { SetTextColor wparam, RGB($ff, $0, $0) SetBkColor wparam, RGB($18, $88, $88) ;SetBkMode wparam, 1 //コメントアウトを外すとSetBkColorが透過してhBrushの色になる return hBrush(1) } return *change f=(f+1)\2 sendmsg hInput, $CF,f objprm bid,but(f) return *exit DeleteObject hBrush end



GrapeColor(DION)

リンク

2012/7/24(Tue) 00:03:32|NO.47871

>>暇人さん
よくよく読んでみたら書いてありました
お手数をお掛けしてもうしわけありません。



暇人

リンク

2012/7/24(Tue) 00:09:22|NO.47872

解決したから関係ないけど
>*ctlcoloredit
> if hInput = lparam {
> SetBkMode wparam, 1
なんか余分なもの入ってた・・・
編集可能でSetBkMode wparam, 1ってやっちゃうと文字が消えずに上書きになる事がある



mamo

リンク

2012/7/24(Tue) 00:10:59|NO.47874

詳細の理解というのが苦手で自分でも良く分かってないんです。
エディットコントロールでは上手くいかなかったのでスタティックコントロールならば?
という具合に、少し変更して使ってみた感じなんです。
なので

oncmd gosub *ctlcoloredit, $138
上記は

oncmd gosub *ctlcolorstatic, $138
こうしないと変ですね、名前だけなんで見落としました;
本当に掻い摘んだ情報しか頭に入っていないので「良く分からん」です。



mamo

リンク

2012/7/24(Tue) 00:14:43|NO.47876

まごまごしてるうちに解決してましたね、俺も暇人さんので理解が進みました。



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