ページ 1 / 2
助けてください。・゚・(ノД`)・゚・。
Posted: 2005年11月03日(木) 10:18
by 伯羽
デスクトップマスコット作りに挑戦しているのですが、
わからないことが幾つかあるので教えてください。
現状→
http://mhgs.dip.jp/soft/p.PNG
1.ラベルに文字列入れてそのまま表示している
*ファイルから文字列を読み込んで表情変え&発言させることができない
↓ファイルの中身↓
01,Angry
02,Enjoy
03,Sad
表情,発言内容
2.閉じることはできるがまたウインドウを出すことができない
*ヘルプを見てもわからなかったので。非表示はできたんですが。。。(´・ω・`)
お願いします。
Posted: 2005年11月03日(木) 10:39
by konisi
閉じるボタンを押した後、何所をどうすればまた表示できるのかをちゃんと考えて設計していますか?たとえば、Ctrl+Shift+Vで再表示できるようにメインループ内で工夫するとか。
もっとも、人工知能(?)作りは難しいものです。人間の入力した文字列を読み込んで、特定の文字列があるかどうかを調べて、それに対応した動作を継続させる・・・
特定の文字列内に指定文字列が含まれているかどうかを調べる関数なら
InStr関数(ヘルプファイルに記載)を参照。
”デスクトップマスコット”作り、頑張ってください。
Posted: 2005年11月03日(木) 11:09
by 伯羽
返信ありがとうございます。
そうですね。最初に作ろうと思ったのが間違いだったのかもしれません。
でも作るからには最後までやりますよヽ( ´ー`)ノ
>閉じるボタンを押した後、何所をどうすればまた表示できるのかをty(ry
していますがソースがおかしいのか命令が違うのか表示してくれないんです。
Posted: 2005年11月03日(木) 12:29
by konisi
ソースをここに載せる事はできますか?
載せたくないなら構いまんが、対応するのが遅れる可能性があります。
Posted: 2005年11月03日(木) 15:07
by 伯羽
プロジェクトを圧縮してみたので助けてくれる方のみどぞ。
改変使用は無しで。
ファイルをそのまま持ち逃げする人が多くいたので
リンクはずしました。助けてくれる人プライベートメッセージください。
Posted: 2005年11月03日(木) 20:05
by konisi
えー、あちこち未知の領域があって僕にはムリです、はい。
イグトランスさん、よかったらこの板に参加してください。
( ´゚д゚`)
Posted: 2005年11月03日(木) 21:21
by 伯羽
未知の領域ですか。。。
誰か助けてください。・゚・(ノД`)・゚・。
Posted: 2005年11月03日(木) 22:47
by イグトランス
#呼ばれてと言うわけではありませんが。
伯羽鳥 さんが書きました:1.ラベルに文字列入れてそのまま表示している
*ファイルから文字列を読み込んで表情変え&発言させることができない
↓ファイルの中身↓
01,Angry
02,Enjoy
03,Sad
表情,発言内容
ファイルからの読み込みは面倒なので、
そのうちファイルからの読み込みをするコードを書くということにして、
たとえばこのようにとりあえずソースコードに直接書いておくことにしたらどうでしょうか。
Dim Expression[ELM(3)] = ["Angry", "Enjoy", "Sad"] As String
> 2.閉じることはできるがまたウインドウを出すことができない
閉じると言うのはShowWindow(hMessage, SW_HIDE)のことですよね。
それなら2番目の引数をSW_HIDEからSW_SHOWへ変えれば良いと思います。
ところでChara_Character_ClickはCharacterのプロパティの通知にチェックを入れないと呼ばれないですよ。
ヘルプには書いてありませんが気をつける必要があります。
( ´゚д゚`)<うおおおおお?!!!
Posted: 2005年11月03日(木) 23:45
by 伯羽
イグトランスさんが言ったとおりに通知にチェックして、
キャラをクリックしたらメニューが出てきてくれました!
ありがとうございます!
Posted: 2005年11月06日(日) 16:28
by 伯羽
Dim Expression[ELM(3)] = ["Angry", "Enjoy", "Sad"] As String
これの使い方がわからないのですが(;´A`)
教えていただけないでしょうか。
Posted: 2005年11月06日(日) 23:31
by イグトランス
> Dim Expression[ELM(3)] = ["Angry", "Enjoy", "Sad"] As String
これは以下と同等だと思ってください。
コード: 全て選択
Dim Expression[2] As String
Expression[0] = "Angry"
Expression[1] = "Enjoy"
Expression[2] = "Sad"
そのうち余裕が出来たらExpressionの要素数を大きくし、
ファイルからExpressionへ読み込むように改良することにすれば、
暫くはファイルからの読み込みをどうするかということを考えずに済みます。
つまり余計な部分を後回しにして先に主立った部分の作業に集中できます。(私がよくやる手です)
Posted: 2005年11月07日(月) 08:57
by 伯羽
SetWindowTextまではわかったのですが
そのEspression(?)の読み込み方がわかりません。
Dim Expression[ELM(3)] = ["Angry", "Enjoy", "Sad"] As String
Sub Menu_SPEAKBTM_Click()
SetWindowText(GetDlgItem(hMessage,MesBox),Expression)
ShowWindow(hMenu,SW_HIDE)
ShowWindow(hMessage,SW_SHOW)
End Sub
出力結果
、S
SPEAKBTM=話すボタンを押したとき
MesBox=スタティックテキスト
Posted: 2005年11月07日(月) 09:22
by イグトランス
N番目の表情に対応する発言はExpression[N]と書けば得られます。
たとえばSetDlgItemText(hMessage, MesBox, Expression[0])とすればAngryと表示されるはずです。
(SetDlgItemTextはSetWindowText(GetDlgItem(とするのと同じです。)
Posted: 2005年11月07日(月) 10:07
by 伯羽
> N番目の表情に対応する発言はExpression[N]と書けば得られます。
乱数を利用してランダムにメッセージを表示しようといろいろがんばっているのですがうまくできません。(泣
コード: 全て選択
Dim RnS As Long
Dim RnMsg As String
RnS=Int(Rnd()*3+1)
RnMsg="Expression[" + RnS + "]"
SetDlgItemText(hMessage, MesBox, RnMsg)
出力結果
ression[]
できないってことは違ってるんですよね。。。(´・ω・`)
「Expression[]」を出そうとしてますし
Posted: 2005年11月07日(月) 11:23
by イグトランス
ではこれでできると思います。
SetDlgItemText(hMessage, MesBox, Expression[RnS])