■ VisualC++(MFC限定)相談室 ■
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
NGNGMFCに限ったお話をしましょう。
ルールを提案。
Qは高度なものからくだらないものまで何でもOK。
Aは「知ってるつもり君」、「えらそうに解説する人」お断りと
いうことで。
0911デフォルトの名無しさん
NGNG「Dialogで作成した」っていうのはダイアログにブラウザコントロールを貼り付けたって意味か?
OnBeforeNabigate2()はブラウザコントロールの親ウィンドウ(つまりダイアログ)につくるんじゃないの?
0912デフォルトの名無しさん
NGNGどうしてもMFCのアイコンになったまんまなのですが…。
0913デフォルトの名無しさん
NGNG上の方のコンボボックスをいじるべし。
0914デフォルトの名無しさん
NGNG上の方とはどこの事なんでしょうか?すいません、初心者で…
0915デフォルトの名無しさん
NGNGリソースエディタでアイコンを直接変更するのはダメなの?
それともこういうこと?
http://www.ylw.mmtr.or.jp/~akky/mfc/dlgicon.html
0916デフォルトの名無しさん
NGNG0917デフォルトの名無しさん
NGNGあぁそういうことか。
リソースエディタを開いて「32×32」とか
書いてあるコンボボックスを選択すればよいってことね。
0918デフォルトの名無しさん
NGNG上のコンボボックスの意味がやっとわかりました。
リソースのアイコンファイルの編集の時の話だったんですね。
僕はてっきりダイアログの設定でアイコンを指定すると
アイコンを自動的に小さく縮小しているものだと思ってました(汗)
小さいアイコンを作って解決出来ました。ありがとうございます。
0919909
NGNGまじですか?ブラウザコントロールの親(ダイアログ)となると
CDialogを継承しているだけなので、CHtmlViewの関数である
OnBeforeNabigate2()は呼び出せないと思いますが。
それとも、この親(ダイアログそのもの)をCHtmlViewから継承させる
ということですかね?
うーーん
0920デフォルトの名無しさん
NGNGいやそうじゃなくて ブラウザコントロールの「これからなびげーとするよ」メッセージのハンドラがOnBeforeNabivage2()ってことだろ。
CHtmlViewとブラウザコントロール(IWebBrowser2だっけか)の関係をよく考えてみろ。
0921デフォルトの名無しさん
NGNG0923デフォルトの名無しさん
NGNGスクロールバーを消すにはどうしたらよいでしょうか?
0924デフォルトの名無しさん
NGNGゴメン、サンクス
0925デフォルトの名無しさん
NGNGモーダルレスダイアログはどうやって呼び出す側にメッセージ与えるんですか?
例えば元のクラスの関数呼びたいときとか、、
いまは呼び出す側のポインタも貰って使ってるが、そうすると相互includeしてたまにおかしくなる。
クラス宣言の前にincludeするクラスを書いておけば通るが、なんか危なそうなので、、
0926デフォルトの名無しさん
NGNGユーザ定義メッセージ
0927デフォルトの名無しさん
NGNGcloseのときメインの方にポストするんですか?
よーくわからないからヘルプ見てみる、、、
サンクス!
0928デフォルトの名無しさん
NGNG実はいい人
0929900,909
NGNG最近きづいたことなのですが、まず、自分のアプリはウィザードから
「ダイアログベース」として作成して、Webオブジェクトを貼り付けて
コントロールしています。
もしかして、CHtmlViewって、「SDI,MDI」ベースのアプリじゃないと
利用できないっぽくないですか?
こちらだと、問題なく、OnBeforeNavigate2はオーバーライドできますが・・・
問題点をまとめると、ダイアログベースのアプリで、あるWebオブジェクト
に対するCWebBrowser2クラスで「OnBeforeNavigate2」と同じことを
やりたいのです。
どなたかどうか知恵をかしてください
0930デフォルトの名無しさん
NGNGWIN32(NT SP5)で、VC6のMFCで作成されたモジュールが実行されている環境です。
VCから起動している8つ程度のスレッドがおのおの
VBモジュールを呼び出し、そこで1個の名前付セマフォを取得しているような状態で、
VCから起動されたスレッドがランタイムエラーを出したときに、
VBが獲得した名前付セマフォが開放されず残っているようなのです。
そこでVBがつかんでいるセマフォを開放する手段はあるでしょうか?
ReleaseSemaphoreは自分がつかんでいるセマフォしか開放できないのでしょうか?
詳しい方教えてください。
0931デフォルトの名無しさん
NGNGだからぁ
ダイアログクラスで、ウエブブラウザコントロールの「これからナビゲートします」メッセージのハンドラを作ればいいだけじゃないの?
CHTMLViewクラスは内部にウェブブラウザコントロールを持っていて、「これからナビゲートします」メッセージのハンドラとしてOnBeforeNavigate2()が書かれているわけだろ?
君の場合はCHTMLViewがダイアログに変わるだけの話だろ?。
だまされたと思ってクラスウィザードで ダイアログクラスにウェブブラウザコントロールの「これからナビゲートします」メッセージのハンドラを作ってみてくれ。
それで何が不満なのか教えてくれ。
それともウェブブラウザコントロールの派生クラス自身でどうしてもやりたいのか?それならCHtmlViewの話がでてくるのはおかしくないか?
それとも俺はからかわれているだけなのか?
0932デフォルトの名無しさん
NGNGそのクソOCXを捨てなさい。
0933デフォルトの名無しさん
NGNGViewはウィンドウではないのでメッセージはポストされません。
なのでダイアログの派生元をCHtmlViewにしてもメッセージハンドラは
呼ばれません。
0934900,909
NGNGいろいろありがとうございます。決してからかっていません。
それから、動作報告も必ずします。
これから試してみますが、933さんのような意見があると、ちょっと不安・・・
931さんを信じてみます
0935デフォルトの名無しさん
NGNGエディットコントロールなどを貼り付けてしまうと、
WM_CHARやWM_KEYDOWNなどがダイアログクラスで受け取れなく
なってしまいますけど、
いい対処法ってありますか?
0936900,909
NGNGやっぱり駄目でした
>だまされたと思ってクラスウィザードで ダイアログクラスに
>ウェブブラウザコントロールの「これからナビゲートします」メッセージの
>ハンドラを作ってみてくれ。
class CTestDlg : public CDialog
{
}
ダイアログクラスはこんな感じですが、
やはり、ClassWizardでは、OnBeforeNavigate2メッセージハンドラは
生成できないですね。
CDialogを継承するだけでは無理ぽい気もしますが・・・
かといって、
class CTestDlg : public CDialog,public CHtmlView
{
}
も駄目でしたし。
0937デフォルトの名無しさん
NGNG>生成できないですね。
ClassWizardがないと、何もできない人のようですね:)
CHtmlViewくらい、改造してしまえばいいのに。
0938デフォルトの名無しさん
NGNG0939デフォルトの名無しさん
NGNGお前には本当にいらいらさせられるな。
ダイアログにブラウザコントロールを貼り付けるだろ。
クラスウィザードでダイアログのクラスを選択して オブジェクトIDでブラウザコントロールを選択するだろ。
そうするとそのブラウザコントロールのメッセージとしてBeforeNavigate2というのがあるだろ。
そのメッセージのハンドラを作れって二日前から延々言ってんだよ。
ダイアログベースのアプリなんだからCHtmlViewは全然関係ない。
メッセージハンドラを作るんだぞ!。オーバーライドじゃないぞ!。わかるか??
0940結構初心者
NGNG文字列の内容を判断して実行させる、インタープリタもどきな機能をもたせたアプリケーションを
作りたいのですが、文字列の判断にif elseを連発して、いまいち見栄えがよくありません。
良い方法があったらどなたかレスお願いします。
0941デフォルトの名無しさん
NGNGyacc&lex
flex&bison
あたりをキーワードに何か探してみなさい
0942デフォルトの名無しさん
NGNG0943デフォルトの名無しさん
NGNGなんつーか・・・なんだかんだで教えてやってるお前・・・優しいな
惚れちまいそうだ(ぽっ
0945942
NGNG多少のオーバーヘッドはあるにせよ、総当りでif elseを繰り返すよりは
比較回数減る分速いとは思うが、結局文字列比較繰り返してることには
変わらないからトロい。hash_mapならもうちょっと速いが標準じゃないし。
まぁ、yacc&lex使う根性がなくて、速度を求めないならアリって程度。
0946デフォルトの名無しさん
NGNG0947940
NGNGCMap!?
ザッツサウンドナイス(訳:根性なくてもできそうな響き♪)!!
それも見てみます。
0948デフォルトの名無しさん
NGNG0949デフォルトの名無しさん
NGNG遅いかどうか以前に、yacc と比べると受け付ける言語のクラスが限定されるのが痛いと思われ。
手で状態遷移を計算できる程度だと LR(1) なんて論外でしょ。
0950936
NGNGなるほど
うまくいきました。自分で間違って思い込みしていたところがあって、
ClassWizard立ち上げても見過ごしていました。
デバッガでも万事うまく通過しました!!
ありがとうございました
0951デフォルトの名無しさん
NGNGage。
0952デフォルトの名無しさん
NGNG>>936
0953デフォルトの名無しさん
NGNG俺は認めないぞ!
0954デフォルトの名無しさん
NGNGCBitmapButtonで管理している任意のビットマップボタンを
操作不能(マウスオンに反応せずノーマルボタン状態の画像が表示されたまま)
にするのはどうしたらよいのでしょうか?
EnableWindow(FALSE)だと、ボタンの画像すら描画されないですし。
0955デフォルトの名無しさん
NGNGEnableWindowでできますよ。
ボタンに割り当てる画像(操作不能時)のリソースIDを
"hogehogeX" にしてますよね?
0956デフォルトの名無しさん
NGNGそろそろ新スレたてるべきかと。
もういないかもしれないけど・・・
0957デフォルトの名無しさん
NGNG■ VisualC++(MFC限定)相談室 2■
http://pc.2ch.net/test/read.cgi/tech/1008031675/
0958みゆ
NGNG新規作成で
MFC AppWizard→ダイアログベース→***App
を選択したもので
始めに出来ているダイアログ画面の
親を適当なもの(ウィンドウクラス名をAとする)
に変更することなんかはできるのでしょうか?
このときダイアログのウィンドウクラス名をBに設定し
親のウィンドウクラス名をAにする方法もおしえてください
0959デフォルトの名無しさん
NGNGIE6で動作させるためにActiveX化したいと
思っています。
機能は、ファイルアップロード、ダウンロードです。
お勧めの開発方法、書籍などあったら教えてください。
0960デフォルトの名無しさん
NGNGあるスレッドを使ったプログラムをCOM化すると、
WaitForSingleObjectのところで応答が返ってきません。
どうやらスレッドが終了していないようなのですが、原因不明です。
COM化してない場合は問題なく動くのですが、
なにかご存知の方、いらっしゃいますでしょうか?
0961デフォルトの名無しさん
NGNG新スレ逝ってください。ageないでください。
http://pc.2ch.net/test/read.cgi/tech/1008031675/l50
レス数が950を超えています。1000を超えると書き込みができなくなります。