VisualC 相談室【8】
レス数が1000を超えています。これ以上書き込みはできません。
0001いさましいおsageの女の子
NGNG前スレ
http://pc.2ch.net/test/read.cgi/tech/1017843192/l50
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG/∵∴∵∴\
/∵∴∵∴∵∴\
/∵∴∴,(・)(・)∴|
|∵∵/ ○ \|
|∵ / 三 | 三 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|∵ | __|__ | < >>1 Visual C って何
\| \_/ / \_________________
\____/
______.ノ (⌒)
//::::::::|-、 ,-/::::::ノ ~.レ-r┐
/ /:::::::::::| /:::::ノ__ | .| ト、
| /:::::::::::::::| 〈 ̄ `-Lλ_レ′
レ::::::::::::::::::|/::: ̄`ー‐---‐′
0004デフォルトの名無しさん
NGNGC Builder相談室 Part3
http://pc.2ch.net/test/read.cgi/tech/1016065855/
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNGそんなもの買うな!
俺がおまえらのためにVC++の本を執筆してやる!
0007デフォルトの名無しさん
NGNG熊谷 紳助 (著) 翔泳社 ISBN: 4156215470
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNGおまえは無い。あっても言うな。
0010デフォルトの名無しさん
NGNG紀伊国屋で見かけたが、分厚いハードカバーだぞ。
読むのも大変だが、小学生じゃ持つだけでも大変だ。
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNGマジメに小学生までプログラミング人工が広がっていくことが鬱でしょうがない
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG0016うんこまんこ
NGNGウィンドウに線を引いたり色を塗ったりする方法がわかりません。
どうしたらいい?
0017デフォルトの名無しさん
NGNG0018うんこまんこ
NGNG0019デフォルトの名無しさん
NGNGLineTo
0020うんこまんこ
NGNGヘッダーは?
0021デフォルトの名無しさん
NGNG0022うんこまんこ
NGNGどうもありがとう
0023うんこまんこ
NGNGどうしたらいい?
0024デフォルトの名無しさん
NGNGDirectInput。
調べてもわかんなかったらここで質問して。
鬱だ氏のう DirectX 2
http://pc.2ch.net/test/read.cgi/tech/997101556/
0025デフォルトの名無しさん
NGNGVCとダイレクトXって同じなの?
0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNGBITMAPINFOHEADER使えば良いのかな?
その際にFileDialog使っちゃダメそうだな。自分で作れと。
0029デフォルトの名無しさん
NGNG0030仕様書無しさん (O_O)/
NGNGやる気のある人と、やる気の無い人を一緒くたにするのは素人の証拠。
何ひとつ作り出せない人は、憎しみだけを作り出し、
憎しみしか作り出せない人間は、他人の生産性までをもとことん下げる。
やる気がある人間はその限りではない。
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG0033仕様書無しさん (O_O)V
NGNGListViewです。>FileDialog
LPITEMIDLIST取れます。>FileDialog
牡丹桜花イベントあるはず。>FileDialog
0034Operaテスト
NGNG0035OperaテeテXテg
NGNG0036仕様書無しさん (O_O)V
NGNG0038デフォルトの名無しさん
NGNG0039デフォルトの名無しさん
NGNGVC++.NET standardにはC++ Language Referenceの日本語版は
付いていないのでしょうか。
explicitやtypename検索しても英語しか出てこないもので。
それとも、設定が変で出てこないだけでしょうか?
0040デフォルトの名無しさん
NGNGしまいましたが、どうすりゃ良いんでしょう?これ。
0041デフォルトの名無しさん
NGNGそれでコントロールのプロパティでドラッグアンドドロップを許可したのに、クラスウィザードのメッセージ一覧に出てくれないのです。
どうやるですか?
0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNG次のMSDNを待って、届いたらインストールしなさい。
004441
NGNG灰色になってて設定できませんでした。
厨房向けのソフトでむりやり変更したら、VC++が落ちました。痛いです。
ダイアログアプリだからダメなのでしょうか?
0045デフォルトの名無しさん
NGNGあきらめて自力で
0046デフォルトの名無しさん
NGNGああ、設定が狂ってくるという意味ね。
楽しそうで良いではないかと思ったよ。
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数:105420人 発行日:2002/05/020
どもども、ちょっぴりワキガのひろゆきですー。
いやぁ、もうすぐですねー、谷澤動物病院の裁判の判決ですー。。。
おいらはいつものとおり、
「投稿者がわからないので勝手に削除は出来ない」
「勝手に削除したら投稿者に訴えられてしまうかも知れないから削除は出来ない」
との主張を繰り返してきたんですけど、裁判官てば実に冷ややかな目でおいらを見るんですよー。。。
その上、
「削除出来ないんじゃなくてするつもりがないんじゃないですか?」
「悪質な書き込みをむしろ売り物にしてるんじゃないですか?」
「発信者を特定出来るようにようにしてから屁理屈を語ったらどうですか?」
なんて嘲りの笑みを浮かべながら言うんですよー。。。
本当に憎らしい奴ですー、、うぅうぅ、、
ところで、谷澤動物病院てば、おいらのことを訴えてから客が2割も減ってしまったそうですー。。。
おいらのことを訴えると被害が余計に拡大するってことですね。。。えへへ。。。
んじゃ!
0049デフォルトの名無しさん
NGNGMFCを使用すると、
(プリコンパイルヘッダを使用すると?
よくわからないけど。)
#include "stdafx.h"
までの全ソースコードを無視するらしいのですが、
どうしてでしょうか?
移植を行うときなどにとても不便ではないかと思うのですが……。
0050デフォルトの名無しさん
NGNG#include "stdafx.h"
を先頭に置けばいいやん
005149
NGNG「移植」のとき等に不便だと思うわけです。
別の環境で書いたソースコードを再利用するときに、ファイルにいちいち #include "stdafx.h" を付け加えなければならないわけですよね?
あと、開発したソースコードを別の環境でも再利用するとしたら、"srdafx.h" のないところに移すわけだから、#include "stdafx.h" を削除しなければなりませんよね?
(たとえ関連クラスがMFCを使用していないものだとしても……。)
と思ったわけですが、どうでしょう……。
0052デフォルトの名無しさん
NGNG別の環境で書いたものを使う時には、プリコンパイルヘッダを使わないようにする。
別の環境に持っていく時は、空のstdafx.hでも作っとけ。
0053
NGNGVCを入れたら、IEなどでエラーが発生した場合、
デバックが始まってしまうのですが、これを行わないようにするにはどうしたらよいのでしょうか?
0054デフォルトの名無しさん
NGNG0055
NGNGサンキュー!!!
しかし、チェック外したけど駄目でした・・・。ふぅー。
0056デフォルトの名無しさん
NGNGでなくなるぞ。
0057デフォルトの名無しさん
NGNGPCHを使わなければいいだけでは…?
0058デフォルトの名無しさん
NGNGIEのインターネットオプション>詳細設定>スクリプトのデバッグがどうたら
0059デフォルトの名無しさん
NGNGなんでこっちで質問します。
mfc42.dllを使用するかMFCのスタティックライブラリを使用するかは選択
できるみたいですが、Cのランタイム?のmsvcrt.dllの扱いっていうのは
どうなのでしょうか?
作成した実行ファイルの中をダンプしてみるとmsvcrt.dllという文字列
が存在するので使われているようなのですが、外部DLLに完全に依存しない
実行ファイルというのは作成できるのでしょうか?
もしかしたら、msvcrt.dllが存在しない32bitWindows環境は存在しない
から気にしなくてもいいとか?
0060デフォルトの名無しさん
NGNGプロジェクト→設定→C/C++→使用するランタイムライブラリ
で選択できる。
> 外部DLLに完全に依存しない実行ファイルというのは作成できるのでしょうか?
kernel32.dllは必ず使うことになるから、OSが提供するDLLを含めるかどうかでその
答えは変わる。mfcのdllやmsvcrtのdllはOS提供ではないと言っていいと思う。
006159
NGNG失礼、書き方が悪かったですね。
「VC++6.0提供の外部DLLに依存しない...」に訂正。
レス、ありがとう。
0062デフォルトの名無しさん
NGNGVBで「Dim WithEvents obj???? 〜」って宣言すると、COMコンポーネントの
イベントを受け取れるじゃないですか。
このコンポーネントをVCで動かそうとしています。
VBで出来る事がVCで出来ないわけがないと思っていましたが、いわゆる
インタフェイスクラス側のインプリメントは簡単に出来るんですが、
イベントハンドラ側がうまく実装できません。
タイプライブラリを指定して同コンポーネントのクラスを自動生成させた
のですが、ヘッダファイル上でプロトタイプを確認すると、「引数の型が
あいまいでメンバを実装できません」みたいな表示がされて、イベント
ハンドラが加えられていません。ここでひとつ質問。
1、vテーブルが存在するものとしてviatual宣言の上メンバ関数を書き加えて
意味があるのでしょうか。
そこからイベントをキャッチする場合、
2、生成されたクラスを派生させて、イベント割り当て関数をオーバーライド
すれば、イベントをキャッチできるのでしょうか?
インタフェイス側のクラスはCoRegisterClassObject関数でハンドシェイク
出来ましたが、イベントハンドラ側は「クラスがない」といった風なエラー
が発生します。
3、COMコンポーネントの設計の問題でしょうか?それともクライアント側の
コーディングの問題でしょうか?それとも他に?
COMコンポーネント側もある程度ソースレベルでの融通が効きます。
以上3点の解決について知恵をいただければと思います。
よろしくお願いします。
0063デフォルトの名無しさん
NGNGそこで,MFCを勉強していたんですが、Win32 APIをほとんど知らないせいか
まったくわけがわかりません。
そこで、VC++で利用できるよいGUIのクラスライブラリがあったら教えていただけないでしょうか?
できれば、Win32 APIの知識がなくても理解できて、Javaのクラスライブラリに似ているのがいいのですが。
0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNGAPIを知らずに書けるツールキットでマトモなのは
QTやGtkとかあるけど、全然Javaっぽくないし。
0066デフォルトの名無しさん
NGNGできるんじゃ・・・
0067デフォルトの名無しさん
NGNGメソッドなどがほぼそのままAPIをラップしただけなので
MFCの知識≒APIの知識となる
0068デフォルトの名無しさん
NGNGいや、だからWin32API自体使ったこと無くても
MFCメンバ関数使えばできるだろうと。
というか>>63はWin32APIやMFCというよりWindowsプログラミングが
わからないんじゃ?
Win32APIやMFCはリファレンス読めば使えるわけだから。
006963
NGNGUNIXでCの通信系プログラムを経験した後、Javaにうつったので
Windowsプログラミングの経験はまったくありません。
やっぱり覚悟を決めてWindowsプログラミングの基礎から勉強するしかなさそうですね。
しかしMFCってすごく使いにくいように思うんですけど、慣れると使いやすいんですかね。
0070デフォルトの名無しさん
NGNG色々こったものを作ろうとすると、MFCの枠からはみ出た
コードを書かなければいけなくなる。
0071デフォルトの名無しさん
NGNGこれを操作するためには例えば
RADIOBOXというクラスで
RADIOBOX radiobox1,radiobox2
としたradiobox1というものが必要だと思うのですが、これがソースのどこを捜しても見当たらないのです。
ラジオボックスの操作方法等でアドバイスください。
007263
NGNG俺もここらへんでずいぶん悩みました。へたにリソースエデイタで
コントロール追加するよりコードで追加したほうが早そうなきがするんですが
皆さんはどうされてますか?
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNGプログラムがしたいのです
0075デフォルトの名無しさん
NGNG自分で作るものぐらい自分で考えれや……
しかたない、とりあえず練習問題がある入門書を買って
練習問題解きまくれ。
0077デフォルトの名無しさん
NGNGラジオボタンだと先頭の1個しか変数作らせてくれないという罠
(だから2個目以降は手作業でコピペ)。
ちなみにわざわざ変数を作らなくても、IDを使って
GetDlgItem(IDC_RADIOBUTTON1)->ほげほげ
とかで何とかなる。
0078デフォルトの名無しさん
NGNGそれ以前に取り込んだヘッダの仕様が変わって、
#defineされた定数値が変更になったりすると矛盾が生じるから
0079デフォルトの名無しさん
NGNG管理するにはどうしたらよいのでしょう?
いまは良く分からんのでMESSAGE_MAPに直書き・・・
0080デフォルトの名無しさん
NGNGやっぱりADO?参考になる資料が見つからなくて困ってます。
0081デフォルトの名無しさん
NGNG*.mdb+ADOのときはATLオブジェクトウィザード(データアクセス)で生成させた
コードをそのまま書き換えて使えると思います。
(DAOの方が速いらしいのでまだ使ってますが。)
0082デフォルトの名無しさん
NGNGダイアログとかツールバーってありますよね。
VCのドッキングウィンドウとか。
あれはいったいどうやって作っているんでしょうか。
0083デフォルトの名無しさん
NGNGどうすれば良いのでしょうか。
0084デフォルトの名無しさん
NGNGGetWindowRect
WritePrivatePrifileString
or WriteFile
0085デフォルトの名無しさん
NGNGそれだと復元時に親ウィンドウが移動してるとツールバーの位置がずれませんか。
あとツールバーのフローティング状態、表示/非表示の状態も
保存しなければならないと思うのですが。
008683
NGNG座標はクライアント座標になっていると思うので、大丈夫と思う。
0087デフォルトの名無しさん
NGNGものですが、CFrameWnd::SaveBarStateのように
一度呼び出しただけでウィンドウに使われている複数のツールバーを
取得するにはどうすればよいのでしょうか?
0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNG0090デフォルトの名無しさん
NGNGGetWindowRectはスクリーン座標だよ
0091デフォルトの名無しさん
NGNG>>82
WM_GETMINMAXINFO
009262
NGNGですが、方法がわかりました。
ありがとうございました。
009383
NGNG復元しようとすると、例えば以下のように2つのツールバーが二段になってるとき、
--------------------
| バー2
--------------------
| バー1
--------------------
バー1→バー2の順で保存すると、バー1→バー2の順で復元したときに
二段に復元されません。
なぜなら、バー1を復元しようとしたときにはまだバー2が存在していないため、
バー1は一段目へドッキングされてしまうからです。
0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNGGetWindowRectやIsFloatingどころの話じゃないよ……
0096デフォルトの名無しさん
NGNGCStringと同じように、
"operator const TCHAR*() const;"というオペレータにて、
クラスの内容(文字列)を返すようにしています。
大抵、目的の動作をするようになったのですが、
CLieString csData;
csData="Mona";
sprintf( "data=[%s]", csData.operator const TCHAR*() ); /*これは行けます*/
sprintf( "data=[%s]", csData ); /*これは駄目です*/
というコードだけ、%sが正しく変換されません。
sprintfが、クラス内のバッファをアクセスするための
方法について、教えて頂けると嬉しいです。
0097デフォルトの名無しさん
NGNG0098デフォルトの名無しさん
NGNG変換されない。
蛇足
sprintf()はASCII or MBCSだから(TCHAR *)でなく(char *)
UNICODEを使うときはswprintf()
TCHARのときは_stprintf();
009983
NGNGこの配列のサイズ及びインデックスがバーの数及びドッキングの順番になると思い
ツールバーが2つドッキングされたウィンドウでm_arrBarInfo.GetSizeを
実行してみるとサイズが7。
あとの5つは何バーなんだ(;´Д`)
0100デフォルトの名無しさん
NGNG010196
NGNG元々、殆どCStringと変わらない仕様でしたので、
CStringを参考にしながら作っていました。
ただ、非MFCなので、それ自体の派生に出来ませんでしたが。
>98
TCHARは、(私の環境では)charに変換されているはずです。
とはいえ、自信が無かったのでconst char*にしてみましたが、
やっぱりダメでした。
printfの引数が形無しなのが根元にあることは分かっているのですが、
その形無し引数に対して、クラスの実態を書いた場合、
クラスのデータメンバの始めが送られたりするのかな・・と邪推しています。
0102デフォルトの名無しさん
NGNGm_pszProfileName<−名前違うかも
を書き換えちゃえば? たしかこれを見てるんだよね。
0103デフォルトの名無しさん
NGNG文字列クラス stringClassObject("hogehoge");
に対して
sprintf(buff, "%s", (const char *)stringClassObject );
と書くのは仕方の無いことと思われ。
MFCが使えないの環境ならSTLのstringクラスを使うべきでは?車輪の再発明すぎ。
実習か何かで文字列クラスを作っているなら別だが・・・。
0104デフォルトの名無しさん
NGNGCStringのソースと見比べれば、何でCStringで出来て、自作のクラスで出来ないかわかるはず。
可変長の引数渡しの仕組み知ってればの話だけど。
010596
NGNG単に文字列を扱うだけだと、stringにしたのですが、
CStringやstringに無いメソッドを色々追加しなければならなかったので、
勉強も兼ねて自作していた次第です。
その後、sprintfの引数を取っている所で止めてみたのですが、
やはり入力クラスそのもののアドレスが行っている感じがする事と、
CStringのデータメンバは文字列ポインタ1つだけだという事と、
自作クラスの方は、現時点で3個のデータメンバを持つ事まで確認出来ましたので、
その情報から、CStringが如何にして、
printfに直渡しをしているのか?というのを知れればと思います。
0107デフォルトの名無しさん
NGNG無限アンドゥってどうやって実装するんですか?
0108デフォルトの名無しさん
NGNGリスト構造で操作を記録
010996
NGNGCString csTemp;
long lSize = sizeof( csTemp );
とすると、4bytesとなりました。
非MFC環境と、MFC環境の両方で、
class CTest
{
char *m_pchData;
}
-----
CTest csTest;
long lSize = sizeof( csTest );
とすると、8bytes となってしまいました。
クラスの先頭=データメンバ先頭という考え方?でも、
何故自前のクラスに 4bytes が付加されてしまうのか疑問に思い、
とりあえず、CTestとCStringの相違点として、
CString側
~CString();
-------------------
CTest側
virtual CTest();
となっていましたので、とりあえず"virtual"を外してみた所、
sizeof CTest も4bytes になりました。
printfの問題は、多分これで正しくでるようにはなりますが、
何も分からない状態でやった為に、技術的後ろ盾が無く、
単に"超危険なコード"と化しているように思います。(^^;
011083
NGNG新しく作ったCDockState派生クラスに、CDockStateと
その中で使われてるプライベートクラスCControlBarInfoの
ソースを参考にiniファイル読み書き用
メンバ関数を追加することで一応できました。
読み書きはPrivateProfile系APIでやってるので、これを
レジストリAPIに変えたレジストリ読み書き用関数も用意すれば
バーの状態の保存先をファイル/レジストリに切り替えられるクラスが
できてなかなか満足です。
いろいろレスくれたおまえらにありがとうと言いたい。
小一時間言い続けたい。
0111sage
NGNG0112デフォルトの名無しさん
NGNG0113デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/prog/1023178697/
0114デフォルトの名無しさん
NGNG(hogehoge\tCtrl+H みたいに)
SetDefaultItemすると、表示がおかしくなってしまうんですが
どうしたらいいでしょうか?
0115デフォルトの名無しさん
NGNGその関係かもしれないです。
0116デフォルトの名無しさん
NGNGこの場合iの初期価値はいくらになるの?
0117デフォルトの名無しさん
NGNGなんでそういう疑問をもったか、そのあたりの説明をききたい。
0119116
NGNGi=0と等価なのかな?違うのかな?等価ならなんで
こんな書きかたしてるんだろ。意味あるのかなあ。
0120116
NGNGi=0;
a=0;
b=0;
と同じ意味なのか!
違ってたら突っ込みキボン。
0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNGMFC使ってリストビューにファイルをドラッグ&ドロップしたいのですが
わかりません。方法教をえてください。または、それについて書いてあるHP等教えてください。
0123デフォルトの名無しさん
NGNG0124ゆう ◆7WEVo9uA
NGNG俺も前めちゃ困った。
おれはCListCtrlを派生して
OnDropFilesにコードを実装してる。
間違ってたら修正求む。
0125デフォルトの名無しさん
NGNGダイアログのOnInitDoalog()やViewのOnInitialUpdate()で
m_DropTarget.Register(this);
とかやるとD&D可能になるようにしてる。
0126デフォルトの名無しさん
NGNGCOM_MAPにCOM_INTERFACE_ENTRY_FUNCマクロで
フック用スタティック関数を登録したのですが、
全然反映されません。
というかCOM_INTERFACE_ENTRY_XXXの実体である
static const _ATL_INTMAP_ENTRY _entries[]が
どんなにCOM_INTERFACE_ENTRY_XXX追加しても変わらない、
固定されたままなのです。どなたか助言ください。
一応確認は、↓のコードを書いてブレークポイントで見てます。
const _ATL_INTMAP_ENTRY* a = _GetEntries();
a++;
a++;
0127126
NGNGお騒がせしました。
0128デフォルトの名無しさん
NGNGVC++でプログラミングしているのですが、
ActiveXを登録・削除する方法がまったくわかりません。
わかる方はおられますでしょうか?
0129デフォルトの名無しさん
NGNGregsvr32 /u xxx.dll
0130デフォルトの名無しさん
NGNGそれから、プログラム上で登録したいのですが…。
0131デフォルトの名無しさん
NGNGocxだって、dllの別名にすぎないんだし。
0132デフォルトの名無しさん
NGNGhttp://japan.cnet.com/Enterprise/News/2002/Item/020215-3.html?il
0133デフォルトの名無しさん
NGNGextern float *my_allocf();
のように宣言されていて、
mainの中で以下のように使用されているのですが、、
rr = my_allocf(n_split);
で、Cのプログラムでは、ちゃんと動いたんですが、
VC++(ダイアログベース)に組み込んだとたん、このようなかんじで使用していた関数が全てエラーを吐くようになったんです。
エラーは、
「関数が不正な1個の実引数をともなって呼び出されました。」
と出ます。とにかく全ての関数に出ます。
なにがいけないのでしょう?
----------------------
さらに、別の関数でも、
float t05(n) ←n定義されていない識別子です。
int n; ←関数の定義が間違っています。
{ }
のように使用されている関数では、上記右のようにエラーが出ます。これは、.hでは宣言されていません。
ひとの作ったプログラムなので、わけがわかりません。
Cではうごいたんですが、、、助けてください。
0134デフォルトの名無しさん
NGNGint n; ←予期せぬEOFがハケーンされました。
{}
こんなのも出る始末。Cプログラムでは、
メインとなる.c
ヘッダーファイル.h
インクルードされている 関数の書いてある.c
の3つで、
それらを忠実にインクルードして、メインとなる.c中のmainの内容を
ダイアログのOnButton(){ ココ }にコピペしたのですが、、
なにがおかしいのでしょう?
宣言などは、Dlg.cppの一番上。
main以外のものは、OnButtonの直前にコピペ。
としました。
0135ノーマット
NGNGチョット分からないので教えて下さい。
円周率って、#define PI 3.14って感じで与えないとダメなんでしょうか?
元々定数で用意されてますか?
0136デフォルトの名無しさん
NGNG{}
に直すヨロシ
extern float *my_allocf();
と宣言されてるのも
extern float *my_allocf(int n);
に直す
あと #include "..." を
extern "C" {
}
で囲む。
いくらなんでもこぴぺだけで動くと思わないほうがいいとおもう
0137デフォルトの名無しさん
NGNGありがとうございます。。
とりあえずやってみます。
0138デフォルトの名無しさん
NGNGVC では M_PI は見つからなかった。gcc にはあった。
0139デフォルトの名無しさん
NGNGすみません、 それは、ヘッダーファイルの中において、
extern "C" {
#include "..."
#include "..."
#include "..."
:
}
とするということでしょうか?
それとも、.cなどにあるexternにも全てに行うのでしょうか?
0140ノーマット
NGNGじゃ、自前で定義しておきます。
ありがとうございました。
0141139
NGNGありがとうございました!!♪
0142デフォルトの名無しさん
NGNGMDIのプログラムで、ダイアログをDoModal命令で表示したのですが、
実行時にダイアログを動かすと親ウインドウから外に出てしまいます。
設定でチャイルドにもしてみたのですが、そうすると画面が固まってしまって・・
親ウインドウ内にダイアログを完全に閉じ込める方法はないでしょうか。
0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNGできなくなっちゃったんですがどうすれば直りますでしょうか?
0145デフォルトの名無しさん
NGNGVCを終了させてから、プロジェクト内の 拡張子ncb のファイルを消してみる
おれは、これでばっちり直ったけどなぁ。原因はいまだ不明。
0146デフォルトの名無しさん
NGNG私の辞書には2通りの過去スレメモがある。
できた方で報告よろしく。
1,一旦VCを終了させ、 clwファイルを削除してからそのプロジェクトを
再度開き、 ClassWizardを起動して内部情報を再構築。
2,ワークスペースに表示されなくなったクラスのヘッダファイル(****.h)を
メモ帳か何かで開いて内容を書き替えずに保存する(つまりファイルのタイムスタンプを変える)。
すると消えたクラスが復活する。(clwファイルは消さない方がいいような気がする)
0147146
NGNGあっしの方は違う気がしてきたぜ(゚∀。)アヒャヒャ スマナイ
0148145
NGNGどちらもやってみることをおすすめしますです。
俺のときはMFCとSDKの関数が全部出てこなくなって激しく鬱・・・。
必死に検索したらでてきたYO!
0150デフォルトの名無しさん
NGNGフォームビューにすれ
と使いもしないで言ってみるテスト。
0151デフォルトの名無しさん
NGNGVC7では
#define _USE_MATH_DEFINES
#include<math.h>
やれば使える。
0152151
NGNG0153デフォルトの名無しさん
NGNGこれって結局fixされたんですか?
http://japan.cnet.com/Enterprise/News/2002/Item/020215-3.html?il
0154デフォルトの名無しさん
NGNG一度実行して、そのままソースには手をつけずに
再度実行した時に、全cppをコンパイルしてしまいます。
昨日までは問題なくできていただけに原因が全く解らないです。
誰か解る方がいましたら教えて下さい。
0155デフォルトの名無しさん
NGNGHDDに住む子人さんは、時々ソースのバグを修正したりします。
0157デフォルトの名無しさん
NGNG・自分でも気がつかないうちにソースを触ってしまっている
0158154
NGNGリビルドにはなっていないと思います。
実行の方も何回かやっていますけど、うまくいかないです。
ソースの方も気をつけて実行していますけど、
駄目です。
アウトプットの所ににも
”スキップ中... (関連する変更は検出されませんでした)”
とでてきますし、ソース自体には変更はないと思うのですけど。
0159デフォルトの名無しさん
NGNG俺も昔そうなったことがある。
で、全ファイルのタイムスタンプを、タイムスタンプ変更ツールで、変更した
ら正常になった。なんかの拍子に、ファイルのタイムスタンプが矛盾した状態
になったのかも。
0160154
NGNG>>159 ご指摘通り時間の関係でした。
パソコン本体の時間がなぜか80年になっていたので
ソースとの時間の矛盾が原因でした。
1つ勉強になりました。
0161こまった君
NGNGデータが長いと、ピクチャがいっぱいになってしまいますよね。
で、今は、端までいくと、また一から白紙にして描画するようにしているんですが、
それだと、過去のが見れないですよね。
で、いっぱいまで行ったら、スクロールバーでぐりぐりと戻れるようにするにはどうすればいいでしょうか?
↓こんな感じです。
┏━━━━━━━━━━━┓
┃ ┃
┃ ┃←グラフを描画
┃ ┃
┣┳━━┳┳━━━━━┳┫
┗┻━━┻┻━━━━━┻┛←スクロールバー
でなおかつ、このグラフから、クリック&ドラグでデータ範囲を指定→なんらかの形でプログラムに送るなんてことはできるでしょうか?
0162デフォルトの名無しさん
NGNG「スクロールバーのコントロール張ればいいだけじゃん」
と思ってしまうのだけど…
0163デフォルトの名無しさん
NGNG一応、設定で「プロファイルを行う」にチェックは入れているのですが、
どうやって結果を見るのかわかりません。
あれこれ検索もかけてみたのですが、
どうやって結果を見るのか結局調べがつきませんでした。
簡単な説明で構いません。
宜しくお願いします。
0164デフォルトの名無しさん
NGNG0165デフォルトの名無しさん
NGNG検索不足。まず、チェック自体がたぶん入ってないよ。ここの2番目、サイトに感謝して見てきなされ。
http://www.google.com/search?num=20&hl=ja&q=%83v%83%8D%83t%83@%83C%83%8B%81@VC&lr=lang_ja
あとはビルド>プロファイル。結果は実行終了後、デバッグウィンドウに出力される。
0166163
NGNGすみません、出来ました。
ありがとうございます。
お手数おかけしました。
0167デフォルトの名無しさん
NGNGVC++だと
hellowin.obj : error LNK2001: 外部シンボル "__imp__PlaySoundA@12" は未解決です
Debug/HELLOWIN.exe : fatal error LNK1120: 外部参照 1 が未解決です。
とエラーがでてしまうのですが。なぜ?
0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNGそれがどうなのですか?
わかりません。教えてください。おながいします
0171デフォルトの名無しさん
NGNGありがとうございますた。
0172デフォルトの名無しさん
NGNG0173デフォルトの名無しさん
NGNG追加の仕方わからないよ
0174デフォルトの名無しさん
NGNG作成したexeファイル実行しても何も表示されないのですが。
でもCTRL+ALT+DELを押すと実行されているのです。
終了しようとすると応答なしとか言われるし。なぜですか?
ソース貼らないとダメっすか?
0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNGだけなのですが。しかもその本ではVC++を使用しているとか書いてあるし。
0178デフォルトの名無しさん
NGNGttp://www.ascii.co.jp/pb/book1/shinkan/detail/1322774.html
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNGMSDN
リンカ オプションの設定
0181デフォルトの名無しさん
NGNG0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNGΣ(゚д゚lll)エッ!?マジッスカ?
それじゃ、漏れが勉強してる本は意味ないの?
0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNG僕は間違えてないと思うんですけどね…
VC++のセテーイがわるいのかな?
0187デフォルトの名無しさん
NGNG#ソース晒し用に、freeなSourceForgeアカとか取ったりして・・
0188デフォルトの名無しさん
NGNGLRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM) ;
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static char szAppName[] = "HelloWin" ;
HWND hwnd ;
MSG msg ;
WNDCLASSEX wndclass ;
wndclass.cbSize =sizeof(wndclass);
wndclass.style =CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc =WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = hInstance ;
wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
wndclass.lpszClassName = szAppName ;
wndclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION) ;
RegisterClassEx (&wndclass) ;
hwnd = CreateWindow (szAppName,
"The Hello Program",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);
ShowWindow (hwnd, iCmdShow) ;
UpdateWindow (hwnd) ;
while (GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg);
DispatchMessage (&msg) ;
}
return msg.wParam ;
}
0189デフォルトの名無しさん
NGNG{
HDC hdc ;
PAINTSTRUCT ps ;
RECT rect ;
switch (iMsg)
{
case WM_CREATE :
PlaySound ("hellowin.wav",NULL, SND_FILENAME | SND_ASYNC) ;
return 0;
case WM_PAINT :
hdc = BeginPaint (hwnd, &ps) ;
GetClientRect (hwnd, &rect) ;
DrawText (hdc, "Hello, Windows Me!",-1, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
EndPaint (hwnd, &ps) ;
return 0 ;
case WM_DESTROY :
PostQuitMessage (0);
return 0;
}
return DefWindowProc (hwnd, iMsg,wParam, lParam) ;
}
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNGつーか、一番疑わしいのがあんた自身。
間違えて無いというのなら、打ち込み終わった後に一切エラーでなかったか?
0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNGwndclass.lpszMenuName
を設定し忘れてる
つーか構造体使うときははじめにZeroMemoryしる!
RegisterClassExもCreateWindowもGetMessageもエラーチェックしてないし。
んなもん応答無しになって当然だ。
0196デフォルトの名無しさん
NGNGすみません…
僕が馬鹿ですた。
>wndclass.lpszMenuName
。を設定し忘れてる
まさにこれです。
きちんと動きました。
しかし、それ以外にも指摘していただいてますが
もう間違ってないと思います。
エラーチェックとかよく分からないのですが。
0197デフォルトの名無しさん
NGNG「本中ではエラーチェックは省くけど本当はちゃんとやってね」的
文章があったと思われ。
0198デフォルトの名無しさん
NGNGありがとうございますた
0199デフォルトの名無しさん
NGNGリード/ライト出来るよう作ったんですけど。
全てのデータがシ−ケンシャルアクセスだけど
WriteFile/ReadFileで主にアクセスする単位はDWORD程度。
これって効率悪いですか?
メモリは食うけど、一端メモリ上でデータ列を構築して
一気にアクセスした方がいいですか?
ファイルサイズは1M〜500KBぐらいです。
0200デフォルトの名無しさん
NGNGWriteFile/ReadFile効率はよく知らないけど、
1Mの程度のサイズなら、オンメモリで処理しても
いいんじゃない?
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNGListViewコントロールで行全体をハイライト(選択反転)にする
方法で、オーナー描画を使う方法はMSDNに載っていますが、
それ以外にもっと簡単な方法はないのでしょうか?
どこかのstyleのオプションでできたような記憶があるのです。
VBとかVCLだと簡単にできるんだろうけどなぁ
0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNGLVS_EX_FULLROWSELECT じゃないの?
検索で一発で出てきたよん。
http://hp.vector.co.jp/authors/VA016117/listview.html
0205デフォルトの名無しさん
NGNGいや、調べても出てこなかったんだよ。
せめてMSDNで「ListView AND 行全体」ぐらいでヒットして欲しかった。
0206デフォルトの名無しさん
NGNG0207199
NGNGファイルマッピングで組み直しました。
ありがとうございました。
0208こまった君
NGNGスクロールの入れ方はわかったんですが、
ピクチャとの関連付けのやり方がわかりません。
スクロールバー関数によって、取得したスクロールの現在位置をピクチャに反映するんでしょうか。。。
ピクチャに描画する関数と、スクロールバーの関数が別々なのに、
そんなことできますか??
どこかに説明しているページなどありませんか??
やりたいことは、
ピクチャに画面に表示しきれないぐらいのながーいグラフを描画して、
スクロールバーによって、移動させながら後で見るということがしたいのですが、、
0209デフォルトの名無しさん
NGNGスクロールバーの分解能とピクチャの分解能を合わせてスクロールバーの変化で現在位置を
取得してピクチャの描画範囲を設定してあげるって感じじゃないの?
0210こまった君
NGNGすみません。
えーと、ちょっと説明させていただきマスト、
↓ここで、最初のスクロールバーの位置を設定してます。で、
BOOL C●●Dlg::OnInitDialog()
{
//スクロールバーのイニシャル設定
CScrollBar* s=(CScrollBar*)GetDlgItem(IDC_SCROLLBAR1);
s->SetScrollRange(0,255);
s->SetScrolPos(0);
return TRUE;
}
そして、
void CMyadDlg::OnButton5()
{ } の中で、ピクチャに描画されるようになっているわけです。
その後に、
void CMyadDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{ } という関数がくるわけですが、ボタン5で描画されたグラフをスクロールするたびに描画するのは大変時間がかかります。
描画されたグラフを覚えておいて、スクロールによって、再描画っていう風にはできませんか?
仮想的なピクチャの幅を0〜1024ピクセルの大きさに設定して、
最初実際に画面に表示されるのは、【0〜200ピクセル/1024ピクセル】
スクロールによって、仮想的なピクチャのうち200-400の部分を表示する。とか、そういったことはできないでしょうか??駄文すみません。
0211デフォルトの名無しさん
NGNG0212こまった君
NGNGありがとうございます。
仰ってる意味がよくわかりませんが、ちょっと調べてみます。
もう一つ質問です。
プログラムを実行すると、
子ウインドウが表示され、そこにグラフを描画するようにしたのですが、
子ウインドウは立ち上がるんですが、向こうが透けたようになって一向に描画されずに(というか描画されるべきウインドウもきちんと描画されず、処理が追い付いていないようなかんじ)、
プロセスが修了してしまいます。
リソース不足などのときになるような症状です。
これでは、グラフを見ることすらできません。
処理→描画のコード自体は間違っていないはずなんですが、、
また、プログラム実行中に×をクリックして修了しようとすると、
このプログラムは応答していませんとなりますが、これで普通なんでしょうか?
0213デフォルトの名無しさん
NGNG向こうが透けたようになって一向に描画されずに、というのは
お前が組んだ描画ロジックが全く機能していないからだ。
どっかからクライアント描画のちゃんとしたサンプルを探してきて勉強してくるように。
0214こまった君
NGNG了解です。クライアント描画ですね。
その線でもうすこし勉強してみます。。
教えて君すまそです。
しかし、こうも右も左も分からないと、ちょっとしたヒントが非常に助かります。
では、胃ってきます。
0215デフォルトの名無しさん
NGNG一度しか見ることのできない画像を作成するソフトって
作ること可能なんでしょうか?
一度見たらレジストリあたりに記録して
二度目以降のプレビューを防いで。
そこで気になってるのはPrintScreenを
使用できないようにすることってできませんか?
これが無理ならこのソフト作ろうとすること自体が
間違いなので。。
というかもう既にそんなソフトあったりしますか?
調べてみたのですがわからなくて書き込みました。
よろしくお願いしますl。
0216デフォルトの名無しさん
NGNG絵を再現するデータが存在する限り、どこかに抜け道はある。
勿論、暗号と同じで極端に解読が難しいという物なら出来るだろうけど、
確実に1度しか見れないようにするのは不可能。
0217デフォルトの名無しさん
NGNGレスありがとうございます。
そうですね、
キージェネとか存在することが証明ですね。
言い換えると、、
解読が並に難しくて且つ、
そんなにメジャーにならなくて、
公にクラックされることがなければ
ある程度目的通りの物は作ること可能ですか?
わかりにくい分ですみません。
いけますか?
0218デフォルトの名無しさん
NGNG意味なくageちゃいました、
ごめんなさい。
0219デフォルトの名無しさん
NGNG一度見たら消しちゃう。
PrintScreen対策としては、OpenClipboardしっぱなしにして独占。
0220デフォルトの名無しさん
NGNGその程度じゃ簡単に対策できちゃうから無意味。
0221デフォルトの名無しさん
NGNG連続で保存さているところから、
コンボボックスに個人コード、リストボックスに日付がデータとしてあって
2つのIDを使って日付をとってくる方法がわからないので、
教えていただきたいです
0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNGわけわかめ。IDって?
0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNG何処の日付をとってくる?
0226デフォルトの名無しさん
NGNGえー、まずtxtで保存してあるデータファイルに、4桁の個人コードと
日付(yyyyMMdd)、時間(hhmm)が連続して書き込まれているらしい。
そして個人コード(コンボボックス)、日付(リストボックス)の項目がある
らしいのだが、ここにあるデータがファイルのものなのか、それとも別の
何かなのか、我々には解明できなかった。時間の項目が無いのも不可思議だ。
次に……出た!謎の2つのID!!ID第一の候補として個人コードが
挙げられるが、では2つ目は?直前に出た日付の事だろうか?
しかし、この2つのIDは日付をとるのに使われるらしい。では時間のこと?
おお、なんというどんでん返し!!つか分かんねぇよ(゚∀。)アヒャヒャヒャヒャ
0227デフォルトの名無しさん
NGNG最初はうまくうごいたんです。
で、
メンバ変数に変数を加えて、そのあとm_spn1.SetRange( , );などで範囲と初期値を
設定したんですが、
メンバ変数などを加える時になにかへんなところをおしてしまったのか、、エラーが
でて、というか、コンパイルビルドは通り、実行すると、
なにも反応なし、
デバッグモードでひらくと、
もういっちばん最初で、
00000001 ???
error: シンボル"this"が見つかりません
というエラーがでて、一番最初の00000001を矢印がさしています。
もうわけがわかりません。
spinボタンを消して、元通りにしてもどうにもなりません。
なにがいけないのでしょう?
ちなみにバックアップをとっていないのです。
こうなったらおわりですか?
0229デフォルトの名無しさん
NGNG0230227
NGNGスピンボタン追加→数値の自動表示・自動関連付け・右端にチェック
これだけならうまくタブオーダー一つ前のeditを操作できたのですが、
次、スピンボタンにメンバ変数spn1を追加して、初期値&レンジを設定しようと、
次の■のように追加したのですが、
OnInitDialog(){
(中略)
// TODO:特別な初期化を行うときはこの場所に追加してくだちい
■ m_spn1.SetRange(1,9);
■ m_spn1.SetPos(5);
return TRUE; }
そうしたとたん、ビルド後アプリがまったく立ち上がらなくなってしまうんです。
ちゃんと本の通りやったんですがね、、、
0231227
NGNGヘッダーファイル内に、
CSpinButtonCtrl m_spn1;
CSpinButtonCtrl m_spn2;
がのこってると、だめみたいです。消すとアプリも起動します。
このままじゃ初期値等が設定できません。
どうしよ。。
0232デフォルトの名無しさん
NGNG同じ個人コードは表示しないようにするための比較方法を教えていただきたいです。
うまく取得できた個人コードから日付をとってくる方法もわからないので教えていただきたいです。
つぎに個人コードと日付(個人コード)の2つのデータ(ID)から時間を取ってくる方法を教えてください。
私が作ったものではテキストファイルから個人コードは読み込めたのですが、
同じ個人コードが混じってしまっているので省きたいです。
ちなみにソースも記載したほうがよろしいのでしょうか?
0233227
NGNGなんでかなー。もうなきそうです。
0234227
NGNGこの宣言をOninitDialog()内から、
cppの一番上(なんもないところ、まじ最初)に持って行ったらできました。なんで?どうして?つーか、こんなんしていいの?
というか、原因がわからないので、非常にすっきりしません。
どなたか、なんかアドバイスください。
0235デフォルトの名無しさん
NGNG・m_spn1が実際のスピンボタンコントロールに関連付けられていない
・CSpinButtonCtrl m_spn1; の位置については、「スコープ」という言葉がある
0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNGMessageBeepが簡単に使えます
0238松
NGNGよろしくお願いします。
クライアント領域にツールバーを作成したのですが、
それにコントロールと同じようにツールチップを割り当てると
うまくいかず、全て同じツールチップになってしまいます。
この解決策を知っている方がいたら情報いただけないでしょうか?
0239助けて下さい!
NGNGは出来てるんですが、wavに書き出す前に試聴出来るようスピーカから音が出る
ようにしたいんです。出来上がったwaveファイルの再生については組めるんですが
全然解りません。どんな些細なヒントでもいいので教えていただけないでしょうか?
0240デフォルトの名無しさん
NGNGwaveOutWrite()あたりを検索してくれ。
再生データがバッファ1つに収まる範囲なら大して手間かからんと思う。
無限再生なんかで、システム側からwaveOutProcをよばれて、データを切れ目
なく供給する部分が結構低レベルで面倒。高レベルのAPI使ったほうが楽。
0241239
NGNGありがとうございます。WAVEFORMATEX?なんて使おうとしてました。
さっそくやってみます。
0242239
NGNG0243デフォルトの名無しさん
NGNGまだよくわからん、まさかネタ?(w
内部データのIDと外部ファイルのIDを比較して一致した時だけ
何かしらのの時刻を取ってきて何かしらの領域に格納するの?
取り敢えず入出力をハッキリせえよ。脳内で語りすぎ(w
0244232
NGNG232です。
IDはコントロールIDのことです。説明不足でした。
ちなみにデータ例は
45672002061810001800
12342002060209001725
45672002052909002200
こんな感じです。
表示上では
個人コードが4567
日付が2002/06/18
時間1が10:00
時間2が18:00
個人コードと日付から時間をとってきたいのです。
ちなみに同じ個人コードある場合は
エディットボックスには
2002/05/29
2002/06/18
と2つ表示させいです。
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNG>>245じゃないけどホントにわからん(w
>45672002061810001800
>12342002060209001725
>45672002052909002200
これ自体が何を表してるのかはわかったけどさ、
>個人コードと日付から時間をとってきたいのです。
これの意味がわからん。
例えば上の例なら4567というIDをもったデータが1行目と3行目にあるわけだけど
単にIDの部分を比較して、データが重複してるかどうかを判断したいの?
それなら行毎の先頭4バイトを読み込んでstrcmpで比較していくだけだと思うけど。
0247232
NGNG時間1、時間2をそれぞれをSetWindowText()でエディットに表示させるのが
最終目的です。
1.初期処理でテキストファイルからすべての個人コードを
コンボボックスに挿入。(同じ個人コードは表示しない)
2.コンボボックスから個人コードを選択し、
個人コードに対する日付をリストボックスに表示させる。
3.最後にリストボックスから日付を選択して、
時間1、時間2をエディットに表示させる。
以上です。これでわかってもらえなかったら諦めます…
0248デフォルトの名無しさん
NGNGと言う構造で、 personal_codeとdateからtimeを取得したいってこと?
0249デフォルトの名無しさん
NGNGとりあえず、インターフェース(コンボボックス、リストボックス)と
ロジックを分離して考えよう。
0250デフォルトの名無しさん
NGNG個人コードと日付が合致って
45672002061810001800 の
456720020618 ここまでの事?
で、日付は
45672002061810001800 の
20020618 で 時間1、2は
10001800 でOK?
で、これデータ自体がテキストファイルになっていて
それを読み込んで構造体に格納するまでは作ってあるって事?
要は何処まで進んでるのかがわからないんだけど(w
0251232
NGNGtypedef struct tagData
{
long lCode;//個人コード
long lDate;//日付
short nTime_1;//時間1
short nTime_2;//時間2
} Date;
こんな感じです。
0252デフォルトの名無しさん
NGNGますはそれぞれ構成する要素を別々の配列に格納しておいて、
個人コードをコンボボックスへ追加する際には既にコンボボックス内に同じデータが
あったらはねるって感じでいれてく。
日付は現在選択されている個人コードと一致するコードを配列内から検索して
一致したらその位置の日付を追加していく。
時間は現在選択されてる個人コードと日付データが一致した位置の時間データを
それぞれエディットボックスに表示してやる。
こんな感じかい?
0253デフォルトの名無しさん
NGNG0254232
NGNGそのとおりです。
うまく説明していただいてありがとうございます。
日付をとってくるときって
GetWindowText()で個人コードをとってきてやればいいのでしょうか?
どうもわかりません。
0255デフォルトの名無しさん
NGNG生API使いですか?
MFC使ったほうが楽じゃないですか?
0256デフォルトの名無しさん
NGNGそれで良いんじゃない?
それかコンボボックスへ登録したインデックス順に別の配列へ
IDそのものを入れておいても良いと思うけど。
0257デフォルトの名無しさん
NGNG>>256の続き。
あとコンボボックスならGetCurSel()とGetLBText()でなんとかなるんじゃないかな。
0258デフォルトの名無しさん
NGNGが重なっているダイアログが出てきて凸の上の部分でページを選択させるよう
になっているが、あの様なプログラムをVC++で書く時はどうすればいいの?
一般に紹介されているダイアログだと単層構造のものしかできない。
0259デフォルトの名無しさん
NGNGタブコントロール
0260デフォルトの名無しさん
NGNGプロパティシート、プロパティページを調べれ
0261258
NGNG0262デフォルトの名無しさん
NGNGOpenProcessとWrite/ReadProcessMemoryだけで可能ですか?
0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNGif( GetDescendantWindow(ID_CHILD1) == NULL ) {
CWnd* s_window = new CWnd;
pv_window -> Create( NULL, "子ウインドウ",
WS_OVERLAPPEDWINDOW|WS_VISIBLE,
CRect( p_left, p_top, p_right, p_bottom ), this, ID_CHILD1 );
CDC* smallDC;
samllDC = s_window-> GetDC();
・・
元のダイアログウインドウより大きくはできないですよね.
元のダイアログウインドウと無関係にぐりぐり移動させられるウインドウを生成する方法はどうやればいいんでしょう?
#あらかじめ作ってあるリソース(ダイアログウインドウ)を呼び出す関数などはあるんでしょうか?
0267デフォルトの名無しさん
NGNGs_windowのところ。質問の本質ではないですが、一応。。
0268デフォルトの名無しさん
NGNGリソースで作ってあるダイアログを表示したいなら
そのダイアログをCDialogに結び付けて表示元のウィンドウクラスで
そのダイアログのメンバ変数(例えばm_Dlg)作ってm_Dlg.ShowWindow( SW_SHOW )で
出るんじゃない?ダイアログクラスのコンストラクタでcreateする必要が
あったような無かったような・・・・。
0269デフォルトの名無しさん
NGNGどのようなインプリメントをするのがスマートなんでしょうか?
メモリDCに文字列を書いて BitBltで合成することで、それらしいものを作ってみましたが、
Codeguruなどを見てみると、クリッピングリージョンを駆使したものが紹介されていました。
BitBltのパフォーマンスは環境に大きく左右され、負荷も大きいと聞いたんで、やっぱ
クリッピングリージョンを使った方一般的なんでしょうか...?
0270デフォルトの名無しさん
NGNGいつの時代の話だ(ワラ
0271デフォルトの名無しさん
NGNGダイアログのメンバ変数を作る方法がわからないんですが..
0272デフォルトの名無しさん
NGNGリソースエディタでダイアログ作ってそのダイアログを右クリックしてクラスウィザードで
CDialogに結び付けてあげる。
0273デフォルトの名無しさん
NGNG(リソースの追加をしても何にも起こりません。)
VCの右側のリソースビューのところには、(赤い×印つきで)ほかのエディタで開く、という奇妙なものが表示されています。
しかも、クリックしても何にも起こりません。
今のところ、リソーススクリプトをメモ帳なりで編集して無理やりインポートしているのですが、どうしたらいいのでしょう?
あと、これ関連でアイコンリソースのリソースIDが変更できません。
これまた、どうしたらいいでしょう?
0274デフォルトの名無しさん
NGNGVC6しか知らないのだが、リソースビューのツリーのアイコンのところを右クリックできない?
0276デフォルトの名無しさん
NGNG普通DEFファイルを用いると思うんですが
あるVC++のプロジェクトでは、DEFファイルが無いのに
序数を任意の数にしているみたいなんです。
何かやり方があるんでしょうか?
0277デフォルトの名無しさん
NGNGリンカの/EXPORTオプション?
0278276
NGNGごめんなさい、
自分の勘違いでした。
0279デフォルトの名無しさん
NGNG作成したいのだが、サンプル載ってるページはありませんか?
0280デフォルトの名無しさん
NGNGGoogleで検索すれば見つかります。
0281デフォルトの名無しさん
NGNGこれの意味が理解できずにMSDNライブラリで調べてみたところ、
>この構文を使うと、プログラムの別の構成要素が pack プラグマでパッキングした
>別の配置を指定しているときに、プログラムの構成要素を単一の翻訳単位にまとめることができます。
>push を使うと、その時点のパッキングの値が記憶されます。
この場合、パッキングというのは、ある構造体などをnバイトに収めるように
するということなのでしょうか?
028270
NGNGとりあえず...
> #pragma pack(n) を使い、n に 1、2、4、8、16 を指定すると、構造
> 体の 2 番目以降のメンバはメンバの型のサイズと n バイト境界の小さ
> な方に置かれます。
だけ覚えておけばいい。あとの構文は必要なった時に使えばいい。
それでもわからなければ「パディング」とか「アライメント」とかの言葉
をぐぐってみそ。
それでもわからなければ、まだ pack なんて必要ないんだよ。無視しとき
な。
0283デフォルトの名無しさん
NGNGお前には移植考慮無しのpack(1)がお似合いだ。
0284デフォルトの名無しさん
NGNGvoid CPainDlg::OnMouseMove(UINT nFlags, CPoint point)
{
if(nFlags == MK_LBUTTON)
{
CClientDC DC(this);
DC.SelectStockObject(NULL_BRUSH);
DC.Rectangle(m_from.x,m_from.y,point.x,point.y);
・・・
こんなかんじで、マウスのドラッグに合わせて長方形を描画してるんですが、
これだと、通過した位置まで全部に長方形が描かれてしまいます。
あくまでプレビューで長方形の位置を見ながらそこには描かず、最終的にOnLButtonUpした地点までの長方形のみを描きたいのですが、どうすればよいのでしょうか?
中を塗りつぶすというのは下の絵が消えてしまうので無しです。
0285デフォルトの名無しさん
NGNGDrawFocusRect
0286厨房
NGNG0287デフォルトの名無しさん
NGNGgccで検索しろ。
0288デフォルトの名無しさん
NGNGswitchやfor程度で作れる単純なソースお願いできないですか?
ちなみに自分で作ってみたら、
#include<stdio.h>
#include<stdlib.h>
int main()
{
char data[100];
int suuji = 0;
printf("逆ポーランド記法による計算をします\n");
printf("\n");
printf("計算したい数字を入力してください->");
scanf("%s", data[suuji]);
switch(data[suuji])
{
default:
break;
case '+':
data[suuji] = data[suuji] + data[suuji];
break;
case '-':
data[suuji] = data[suuji] - data[suuji];
break;
case '*':
data[suuji] = data[suuji] * data[suuji];
break;
case '/':
data[suuji] = data[suuji] / data[suuji];
break;
}
suuji = atoi(data);
printf("\n");
printf("合計は%dです\n", data[suuji]);
return 0;
}
余裕でエラーでした。
0289284
NGNGで、move内で以下のようにしていますが、
・・・
SetRect( move_rect, m_from.x, m_from.y, point.x, point.y );//新しい位置情報を取得
CClientDC DC(this);
DC.SelectStockObject( NULL_BRUSH );
DC.DrawFocusRect( move_rect_last );//前回の場所に描画指示して消す!
DC.DrawFocusRect( move_rect );//新しいのを描画
SetRect( move_rect_last, m_from.x, m_from.y, point.x, point.y );前回の位置情報を記憶
・・・
DrawFocusRectは同じ位置にもう一度描画すれば消せるとのことで、やってみているんですが、消えないんです。
どこがおかしいのでしょうか?
0290デフォルトの名無しさん
NGNGまず、スタックを使わない理由を聞かせてくれまいか。
0291デフォルトの名無しさん
NGNG簡単に言うとスタックがまだわからないからです・・・
色々調べてみてスタック使えばすぐにできるようなんですが
範囲外なので不必要なんです。
で、かわりの配列でなんとかしたいわけです。
0292デフォルトの名無しさん
NGNG数値をdataに積んでいるでねーし、
演算子も、スタックから取り出しているわけでもねーし、、
0293デフォルトの名無しさん
NGNG感動的なまでに無茶苦茶ですね・・・
スタック以前に基礎からやり直したほうがよくないですか?
0294デフォルトの名無しさん
NGNG0295デフォルトの名無しさん
NGNG勘で書かずにわからない部分やあやしい部分は参考書を見て書きましょう。
0296284
NGNG>>289はいかがなものでしょう?
0297デフォルトの名無しさん
NGNG後は自力で
0298284
NGNG0299288
NGNGグラフィック専攻なので1冊も参考書買ってませんでした。
明日にでも買って見てみようかと思います。
0300デフォルトの名無しさん
NGNGCRect r; //ピクチャの領域サイズをrに取得
p->GetClientRect(&r);//ピクチャの領域サイズをrに取得
とした場合、
r.leftとr.top
は常に0ということなんでしょうか??
/(0 , 0)
┏━━━━━━━━ウインドウ━━━┓
┃ /(r.lft , r.top)
┃ ┌──────────┐
┃ │ ピクチャエリア
┃ │
┃ │ですよね?で、r.left=0だとすると、
┃ │
←→ この部分
ピクチャエリアの始点の間隔はどのようにあらわされるのでしょう?
0301デフォルトの名無しさん
NGNG相手側が不定期に送信してくる場合、受信側ではタイマなどで定期的に
受信するようなスレッドを常に起動しておくような形で良いんでしょうか?
またその場合送信データを受信バッファで受け取った際、
[STX]データ[ETX][STX]データの途中・・・ ← ここまでしか取れないような
状況になりそうな気がするのですが、その場合データの成形は
アプリケーション側でやってあげなければいけないんでしょうか?
0302デフォルトの名無しさん
NGNGスレッドでずっと受信用にreadfileで待っておく。そんでなんか受信したらどっかにバッファリングして
メッセージで本スレッドに通知してまたすぐreadfile。そういうずっとreadfileするスレッドをつくっておきます。
0303デフォルトの名無しさん
NGNG成る程ですね。
要は受信割り込みの代わりをスレッドにやらせるって感じですか。
ありがとうございました、やってみます。
0304デフォルトの名無しさん
NGNG[STX]データ[ETX][STX]データの途中・・・ ← ここまでしか取れないような
状況になりそうな気がするのですが、その場合データの成形は
アプリケーション側でやってあげなければいけないんでしょうか?
これに関してはどういった感じでしょうか?
0305デフォルトの名無しさん
NGNG>状況になりそうな気がするのですが、その場合データの成形は
ええ。なりますよ。
短時間ならスレッドで処理してもいいし、
アプリの方で電文として完結するところで切り出しても良いんじゃないですか?
0306デフォルトの名無しさん
NGNGGetClientRect(&r1); ClientToScreen(&r1); GetWindowRect(&r2);
とでもして、r1とr2の差分を取ってみ。
あと、変な言葉を発明せずに素直にクライアント領域と呼べ。
>>289
move_rect_leftをメンバ変数かstatic変数にしる。
0307デフォルトの名無しさん
NGNGやはりなりますか・・・わかりました。
ありがとうございます。色々聞いてしまって申し訳ありませんでした。
0308306
NGNG考えてみりゃ GetWindowRect(&r1); で十分だな。
>289
move_rect_last の間違いだな。
>306
もう寝な。
0309デフォルトの名無しさん
NGNG┏(0,0)←スクリーン座標で━━スクリーン(モニター)━━━━┓
┃
┃ /(0 , 0)←クライアント座標において
┃ ┏━━━━━━━━ウインドウ━━━┓
┃ ┃ /(r.lft , r.top)
┃ ┃ ┌──────────┐
┃ ┃ │ ピクチャエリア
┃ ┃ │
┃ ┃ │クライアント座標から見たピクチャの始点座標の位置を
┃ ┃ │ 知りたかったわけです。
←→ この部分
という意味でした。
0310デフォルトの名無しさん
NGNGやっぱりよくわからん。ピクチャエリアって何?
クライアント領域のことを言ってるなら>>306だし、
ウィンドウに貼りつけたコントロールなら>>308。
いずれにせよ、両方ともスクリーン座標に直して
引き算すりゃ答えは出るだろ。
0311デフォルトの名無しさん
NGNG|myapli.exe _□×|
+−−−−−−−−−−−−−−−−+
|ファイル 編集 ・・・ |
+−−−−−−−−−−−−−−−−+
| |
| |
| |←クライアントエリア
| |
| |
+−−−−−−−−−−−−−−−−+
0312デフォルトの名無しさん
NGNGピクチャエリアと書いているものは、
CWnd* h = GetDlgItem( IDC_PICT1 ) ;//ピクチャ1
CDC* pDC = h -> GetDC() ;
CRect rect_pict1 ; //ピクチャの領域サイズをrect_pict1に取得
などという場合のピクチャのことなんです。
ここで、目的は、
【マウスをクリックした位置が、ピクチャ1のどの位置であるかを取得したい。】ということだったんですが、
この場合、マウスの位置は、
void CPainDlg::OnLButtonDown(UINT nFlags, CPoint point)
の中で、( point.x, point.y )によって取得すると、クライアント領域からの位置になっていて、
それがピクチャのどのぐらいの位置?というのを知るために、
クライアント内でのピクチャの左端の座標、 =(つまり上図の差分部分)
を知る必要があったんです。
0313デフォルトの名無しさん
NGNGんだからGetWindowRectとかで何とかすればよいのではないのか。
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNG_ASSERT と、アンダーバーが必要。
0316デフォルトの名無しさん
NGNGClientToScreen(&point);
GetDlgItem(IDC_HOGE)->ScreenToClient(&point);
0317デフォルトの名無しさん
NGNG実行すると一応動くのですがスレッド終了時にメモリリークがなんたら〜といったメッセージが
アウトプットに表示されてしまいます。原因としては何が考えられるでしょうか?
0318デフォルトの名無しさん
NGNG0319デフォルトの名無しさん
NGNG{
B.beginethread();
}
ですか?
0320デフォルトの名無しさん
NGNGクラスのオブジェクトを必要に応じて順次作っていくにはどうすればいいのでしょうか?
0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNGATLCOMウィザードで空のプロジェクトを作って
コンパイルするとTLBファイルが生成されます。
それをOLE/COMオブジェクトビューアで見ると
アクセス違反でプロセスが落ちるんですよ。
元からある他のTLBだと大丈夫です。
何が問題なんでしょうか?
レジストリが壊れてとか?
0323デフォルトの名無しさん
NGNG> アクセス違反でプロセスが落ちるんですよ。
> 何が問題なんでしょうか?
アクセス違反だろ。
0324323
NGNGつーかレジストリが怪しいよな、やっぱ。
は〜再インストはイヤだぁ〜。
0325デフォルトの名無しさん
NGNGA:Func
{
B myB;
AfxBeginThread( myB::Func, &myB, THREAD_PRIORITY_NORMAL );
}
って感じです。
0326デフォルトの名無しさん
NGNGそれじゃA::Funcを抜ける時にmyBがあぼーんされる。
newで作ってどっかに大事にしまっておけ。
0327デフォルトの名無しさん
NGNGああすいません、間違えました(汗
B myB;
はAのヘッダにメンバ変数として登録してあります。
0328デフォルトの名無しさん
NGNG普通はスレッドは普通の関数にすると思う。
0329デフォルトの名無しさん
NGNGどうすればいいですか?
0330デフォルトの名無しさん
NGNGaのメソッドでbのデータメンバを変更するって事ですか?
0331デフォルトの名無しさん
NGNGそんな感じです
0332デフォルトの名無しさん
NGNGfunc(CFoo *p){
p->・・・ //←ここで好きなように使う
}
}
main()
{
CFoo a,b;
a.func(&b);
}
とか。
0333デフォルトの名無しさん
NGNG64MBのメモリでは厳しそうなのでバルクの128MBメモリも購入しました。
PCにメモリを挿したのに認識しません。
それどころか起動しません。
メモリの規格はあっています。(多分)
バルクってのがマズかったですかね?
とりあえず64MBのメモリで諦めます。
メモリ不足でPCが逝ったら僕も逝きます。
0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNGつーか強引にVCに話を繋げるなよ・・・・・・(w
0336デフォルトの名無しさん
NGNGなるほど、ポインタを使うんですか
ありがとうございます
0337デフォルトの名無しさん
NGNG・・・はメンバ関数でも大丈夫でしょうか?
0338デフォルトの名無しさん
NGNGパブリックなメンバなら関数でもデータでもダイジョウブだけど。
ちなみに設計としてはかなりヤバイでしょ。こういうのをチカラワザと言います。
0339デフォルトの名無しさん
NGNGそれだけで100MB以上のメモリを消費しています。
(VisualStdio + 作ったプログラム)
死ぬほど遅いです。
マジで逝きそうです。
何とかしてください。
ところでC#って.Netのプログラムしか作れないんですか?
普通のプログラム作るにはVC6.0を使えってことですか?
0340デフォルトの名無しさん
NGNG0341デフォルトの名無しさん
NGNG0342デフォルトの名無しさん
NGNG大昔に叫んでたやつがいたな。
0343デフォルトの名無しさん
NGNGなるほど、、、いまクラスの勉強しようとおもって
行列のクラスをつくってるんですよ(死ぬほど適当ですが)
そこで行列同士の掛け算をするときにオブジェクトをオブジェクトで呼び出せたらと思ったんですが
そういう関数はメンバにしないほうがいいのでしょうか、、、
0344デフォルトの名無しさん
NGNGスレ違いやね。このスレじゃなくて、C++相談室で取り扱う話題だ。
まあ姉妹スレのよしみで答えてやるけど、掛け算をやりたいんなら、
その行列クラス用のoperator*()をオーバーロードするのが定石。
誰からも認められる、operator*()の正当なオーバーロードのやり方は、
Effective C++ と More Effective C++ を買って読めば分かる。買え。
0345
NGNGここはVC専門すれだったのですか、、、いま気づきました、、申し訳ない
、、、なるほど、そういうことやるのに適したのがあるのですか
今度見てみます
0346デフォルトの名無しさん
NGNGDLLのAPIが、呼ぶたびにstdoutに文字を吐きまくってうざったく、
それを黙らせたいのですがつまってしまいました。。
APIを呼ぶ時だけstdoutをコンソール以外(できれば"nul")につないで、
処理が戻ってきた時(自分がメッセージを吐きたい時)にstdoutとコンソールを
つなげなおせばよいかなと考えました。
とりあえずfreopenを使ってstdoutを別ファイルにつないでみたのですが、、
stdoutをコンソールにつなぎ直す方法がわかりませんでした。(苦笑
「自分のメッセージはstderrに出力」以外にうまい方法はありませんか?
0347デフォルトの名無しさん
NGNGつぶしてしまえ。
0348デフォルトの名無しさん
NGNGkage.dllって2ちゃんねるブラウザのやつですよね。
でも調べてみてもコンソール関係の情報を見つけられませんでした。。
申し訳ないのですけど、ぐぐる用キーワードかURLあたりだけでも教えて頂けませんか?
0349デフォルトの名無しさん
NGNG特になにもしなくてもいいんでしょうか?たまにkernel32でエラーが起こりましたといった
メッセージが表示されたりするんですが別の問題ですか?
0350デフォルトの名無しさん
NGNG0351デフォルトの名無しさん
NGNGGetStdHandleで保存
SetStdHandleでNULLでどうだ?
0352デフォルトの名無しさん
NGNGスレッド自信がループから抜け、関数としてリターンさせる。
そのためにはメインスレッドからイベントオブジェクトをシグナルさせてやる。
スレッド側は>350の言うような方法で終了イベントやその他のイベントを待つことができる
0353デフォルトの名無しさん
NGNG>>352
なるほど、ありがとうございます・・・と言いたい所なんですが正直難しそうですね(^^;
今HELPを見てみたんですが良くわかりませんでした。
それっぽい説明のあるHPなどがありましたら教えていただけませんか?
0354デフォルトの名無しさん
NGNG受け取ったスレッドは自殺。
んで、メインスレッドでシグナル状態になるまで待機
(スレッドハンドルにWaitForSingleObjectとか)
0355デフォルトの名無しさん
NGNGhttp://msdn.microsoft.com/code/default.asp?URL=/code/sample.asp?url=/MSDN-FILES/026/001/503/msdncompositedoc.xml
0356kaz
NGNG起動中に無効化(グレーアウト)にするにはどうしたらいいでしょうか??
MSDN探してても見つからなくて・・・
0357デフォルトの名無しさん
NGNGコントロール上で右クリック->プロパティで
無効化、みたいなチェックボックスなかったっけ?
ちょっと記憶があいまい。。
またはEnableWindow()かな。
0358kaz
NGNGボタンを押されて処理の途中、ボタンを使い手に触らせないという意味での無効化は
どうやらできないようです.
ボタンが押されて、OnButton関数が始まります。OnButtonの最初で無効化を使用します。
それからOnButton内で処理が始まります.処理には待機中の状態があって、ボタンの見た目
は無効化されていても、待機中の状態の時に無効化されているボタンをさわるとまた処理後、
最初から処理を開始してしまうのです.どうにかならないでしょうか??
0359デフォルトの名無しさん
NGNGPeekMessage()調べてみてYO!
0360デフォルトの名無しさん
NGNG0361359
NGNGVB使ったことないのに・・・(´・ω・`)トホホ
BeginWaitCursor()(EnableWindow()でも良いけど)を呼び出す前に
さらにイベントがPOSTされたらどうすれば良いでしょうか?
ボタンを連射した時とかね。
BeginWaitCursor()が呼び出されるまで「絶対に」POSTされないって
言い切れる?
0362デフォルトの名無しさん
NGNGpeekmessage自前でするアプリでおかしな動きをしないのは見たことないが。
スワップがりがりのノートや異常に重いアプリを動かしてるような環境なら
二度ポストされるかもね。
そのときは、二度処理するのがイベント駆動アプリとしては正しい姿だろう。
0363kaz
NGNGとりあえず、いろいろ勉強してみて試してみます。また問題があれば
また、後ほど、、
0364359
NGNG>やれるもんならやってみろ。
よくやってますが。
>peekmessage自前でするアプリでおかしな動きをしないのは見たことないが。
ハァ?何でおかしくなるの?普通のAPIだよ?
メッセージキューを扱うのが特別だと思ってるの?
CでAPIのみ使ってプログラミングしたことある?
>そのときは、二度処理するのがイベント駆動アプリとしては正しい姿だろう。
マジデスカッ!! 前提覆すなよっ!
・・・あんたがプロのプログラマじゃなかったら許す。
0365デフォルトの名無しさん
NGNG新しく作ったBのプロジェクトで使おうと思ったのですが、ダイアログエディタで
ダイアログへコントロールを置いてそのコントロールをクラスウィザードで
メンバ変数に結び付けようかと思ったらそのクラスが選択できませんでした。
クラスビューではクラスとして認識されているのですが何か他にやらなければ
ならない事があるのでしょうか?
0366デフォルトの名無しさん
NGNGm_spn3.SetRange(2000,2020);
m_spn3.SetPos(2002);
のように西暦を指定しているのですが,
どうしても2,002と表示され,2扱いになります.
このような症例に覚えのある方はいらっしゃいますか?
ちなみに,エディットボックスの定義で,
CほげDlg::CほげDlg(CWnd* pParent /*=NULL*/)
: CDialog(CほげDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CMyadDlg)
m_edit1 = _T("");
m_val1 = 0;
m_edit2 = _T("2002");
・・・のようにしていますが,,,
これが原因??でもなんで2,000なんてなるんだろう...たすけてください.
0367デフォルトの名無しさん
NGNGスピンのスタイルをみれ。
0368デフォルトの名無しさん
NGNG(゜д゜;)ポカーン・・・
0369デフォルトの名無しさん
NGNGファイルをコンパイルすると以下のようなエラーが出てしまいました。
error LNK2001: 外部シンボル "__CrtDbgReport" は未解決です
fatal error LNK1120: 外部参照 1 が未解決です。
色々コメントアウトしたりしてifstreamの部分が問題だということが
分かったのですが、なにかおかしなところがあるのでしょうか?。
std::ifstream in_file(path, std::ios::in|std::ios::binary);
// open失敗
if(in_file.bad()) return false;
//ファイル形式のチェック
char identifer[3];
in_file.read(identifer, 3);
if(strcmp(buffer, identifer) != 0)
eturn false;
in_file.close();
// close失敗
if(in_file.bad()) return false;
return true;
またios::nocreateをこのように入れようとすると
>std::ifstream in_file(path, std::ios::in|std::ios::binary|std::ios::nocreate);
error C2039: 'nocreate' : 'basic_ios<char,struct std::char_traits<char> >' のメンバではありません。
となってしまいます。何かおかしな部分があるのでしょうか?
ios::inとios::binaryは全く問題無いようです。
どうかよろしくお願いします。
0370デフォルトの名無しさん
NGNG一時変数やconst文字列をキャストして渡すのはダメなんでしょうか?
MSDNには編集されると書いてあるようなのですが、
スタック変数を渡しても文字列が破損される気配がないので、
内部でコピーが作成されているのかなと思うのですが。
実際のところ、どうなのでしょうか?
0371デフォルトの名無しさん
NGNGSetするのもGetするのも同じ構造体を使う都合上、非constになっているだけと思われ。
漏れはいつもconst_castして突っ込んでいるけど、心配ならコピーして渡すよろし。
0372デフォルトの名無しさん
NGNGありがとうございました.解決しました!!
どうしてあんな機能がデフォルトでついてるのかと思いました..
0373デフォルトの名無しさん
NGNGそれがMSぢゃないですか・・と言ってみるテスト
0374デフォルトの名無しさん
NGNGGetTotalSecondsの逆を教えていただけますか?
CTime→ GetTotalSeconds → 総秒
総秒 → [ ? ] →CTime
0375デフォルトの名無しさん
NGNGGetTotalSeconds()って、CTimeSpanのメンバ関数やん。
0376374
NGNGそうですね,でもCtimeから差を求めて,CTimeSpanに代入して,
CTime tm1;
CTimeSpan tsp1;
long ttm;
tts = tsp1.GetTotalSeconds(); //で総秒をゲットできる
のように総秒数を求めることができますよね??
この逆に,
long time_sum;//秒数
などから,
Ctime tm2;とかに変換する方法はありますか?
0377デフォルトの名無しさん
NGNGCTime( time_t time );
コンストラクタに↑こんなのがあるから、time_sumをそのままぶち込めばOKなんじゃない?
1970年1月1日を基点にした時刻になるよ。
(「時間の間隔」を「時刻」に変換するってのがよく分からんけど)
0378デフォルトの名無しさん
NGNG値を入れるだけなら普通に代入できるけど、
CTimeは
「0時間0分0秒」から始まってるわけじゃない。
0379あい
NGNG0380533
NGNGExplorerの右クリックメニューに項目を追加し、処理を割り当てたいのですが
やり方が分かりません。
HKEY_CLASS_ROOT\*\shellで別アプリを起動するしか無いのでしょうか?
これしか方法が無いとした場合、モーダル起動?(モーダルダイアログ表示時の
親子関係の様な物)は可能でしょうか?
具体的には、Explorerでファイルの右クリックメニューに「メモ帳で編集」的な
項目を追加し、そのメモ帳が終了するまで起動元のExplorerを操作できなくしたい。
と考えています。(実際は「メモ帳」部分が独自処理になります)
分かりにくくて申し訳ありませんがよろしくお願いします。
0381デフォルトの名無しさん
NGNGGNUのやつをコンパイルしようとしてもうまくいかないのです....
0382デフォルトの名無しさん
NGNG0383デフォルトの名無しさん
NGNGboostのregex。
http://www.boost.org/
使い方。
http://www.s34.co.jp/cpptechdoc/article/regexpp/
0384374
NGNGCTime jikan1(2000, 1, 1, 12, 0, 0);
で,2000年01月01日12時00分00秒に設定したとして,
2000年01月01日12時00分00秒から300000秒後の日付を知りたいということなんです.
ctime()を使うとすると,
struct tm *jikan2;という形ですよね?
そもそもどうして
CTime jikan1(2000, 1, 1, 12, 0, 0);
struct tm *jikan2;
などを時間を計算する複数の方法があるのが意味がわかりません.これらは互換性はないんでしょうか?
0385デフォルトの名無しさん
NGNGプログラミング暦何日(または何時間)くらいですか?
0386374
NGNG( ゚д゚)ポカーン
0387デフォルトの名無しさん
NGNGヘルプでCTimeのところを読んでみなよ。
時刻に時間を足せるって書いてあるじゃん。
0388デフォルトの名無しさん
NGNG> などを時間を計算する複数の方法があるのが意味がわかりません.
この発言はそう思われても仕方ないと思われ
0389デフォルトの名無しさん
NGNGjikan += CTimeSpan( 0, 0, 0, 30000 )
0390374
NGNG弱冠プログラム暦3ヶ月の新まいでう.
ご回答ありがとうございました.
0392デフォルトの名無しさん
NGNGところが、この呼ばれたコールバック関数から、クライアント側の関数や変数を
操作しなければならないという、いかんともしがたい窮地に追い込まれています(´Д⊂
dllのソースはあるのですが、大幅な変更をしてはいけないという…。
なにか良い知恵がありましたら、どうかお授け下さいませ…。
0393デフォルトの名無しさん
NGNGたしか、DLLとEXEで共通の変数にアクセスする方法はあるよ。
おれは、もう寝なきゃならないから、がんばって検索してください。
0394デフォルトの名無しさん
NGNGグローバル変数のようにアクセスする方法は知らないので
EXE内の関数を呼んで変数のアドレスをゲットしよう!
と言っておく
0395392
NGNG>>393
#pragma data_seg(".shared")
やや、これですね!やた、変数はどうにかなりそうです。
>>394
えっとえっと…dllからexeの関数を呼ぶ方法が……。
393さんの方法を使うとしても、関数などのポインタを直接渡すのは、
アドレス空間が違うから無意味ですよね…。クライアントのウィンドウハンドルだけ
共有して、SetWindowLongとかに埋めておく、みたいな感じで宜しいのでしょうか?
0396デフォルトの名無しさん
NGNG普通に関数のポインタ渡せない?
0397デフォルトの名無しさん
NGNG0398392
NGNGレスありがとうございます。
あー、あたしってば情けない(´・ω・`)
どうも挙動がおかしいと思ったら、グローバルフック用のdllだった
みたいです…ううう、みなさん、ほんますんませんです(*/ω/)
今大急ぎで適当なdll作ってやってみたら、皆さん仰るとおりなんの問題もなく
上手く行きました。(蛇足ながら一応グローバル&&GetWindowLong版の方も成功しました)
夜遅くにお騒がせしてすいませんです。重ね重ね皆様に感謝です。
0399デフォルトの名無しさん
NGNGここはどうやら役に立てなかった模様、残念
0400デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNG0402kaz(358)
NGNGただ、API使ったこと無かったんで、今更、MFCで教えてくださいとは
書きづらかっただけです。ほんとすみません。
0403デフォルトの名無しさん
NGNGvisual c++とc++ builderのどちらが素早く開発しやすいですか?
0404デフォルトの名無しさん
NGNG慣れてる方。
0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNGお金を貯める時間が短くてすむ
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNGインストール時間が短い方。
インストール済みなら起動が早いほう。
0409デフォルトの名無しさん
NGNG0410デフォルトの名無しさん
NGNGだったら、両方入れてちょっと使って見りゃいいじゃん。
いいかげんウザイから、もう来るな、ぼけ。
0411デフォルトの名無しさん
NGNG両方使って開発した経験のある人はいないということでOK?
0412デフォルトの名無しさん
NGNGはいはい、OK だよ。どうでもいいから、氏んでてくれ。
0413デフォルトの名無しさん
NGNGたとえばinclude何々とかすれば使えますか。
ファイルダイアログ とか CString とか 便利なもんで。
なにとぞ御教授おねがいします。
0414デフォルトの名無しさん
NGNGx>0?y:0
0415デフォルトの名無しさん
NGNGx > 0 なら z = y
x > 0 では無いなら z = 0
ちがったっけ?
0416デフォルトの名無しさん
NGNGってことですね?
ありがとうございました。
MSDNに載って無いのなんでなんだろう。
0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNG0420デフォルトの名無しさん
NGNG0421414=416
NGNG0422デフォルトの名無しさん
NGNG出来る。
afx.hじゃなく、ウィンドウを使うときは、AfxWinInitするとよし。
0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNGclass Base {};
class A : public Base {};
class B : public Base {};
bool b = true;
Base* p = (b)? new A : new B;
「AはBに変換できません」というようなエラーメッセージがでます。if文使えばまあ
いいんですが、1行で収めたいんです…。
なんとかならんもんでしょうか? ちなみにgccではコンパイルできました。
0425デフォルトの名無しさん
NGNG0426425
NGNGVCの参考演算子のバグか?
0427425
NGNG2項目と3項目は変換できないといけないようだ。
0428425
NGNGまてよ・・・
いや、違う。
もしかして・・・
0429デフォルトの名無しさん
NGNG0430デフォルトの名無しさん
NGNG長!
0431デフォルトの名無しさん
NGNGまたは同じ型でなければコンパイルできないはず。
A* p = (b) ? new A : newB;
この例を見れば分かるでしょ
0432425
NGNGおそらく・・・
いや、違う。
そうか!
いや、違う。
0433デフォルトの名無しさん
NGNGC++じゃん
0434424
NGNG>>431
をみて納得しました。たしかにコンパイルできませんね。
あたりまえですが、gccでもこれはダメでした。
Base* p = (b)? new A : new B;
がgccでコンパイルできるのはgccが三項演算子の解釈を拡張しているんでしょう。
みなさんありがとうございました。
0435なつかしの関数電卓
NGNGMSDNは高くて持っていないので、その他で乗っているもの探しています。
どうしても再帰でプログラム書かなければならないので、
スタックを多くしたいのです。
0436デフォルトの名無しさん
NGNG0437デフォルトの名無しさん
NGNG自分まだ林氏のスーパービギナー編を一通りやっただけのペーペー初心者です。
今、エディットボックス3つと四則演算ボタンを配置しただけの簡単な電卓を作ろうとしていて、
�@ed1と2に値を入力
�A「+」とか「-」とかを押す
�Bed3に答え(浮動小数点型)が表示
という風にしたいのですが、
出だしはCString ssでは駄目なのかとか、
またm_ed1を1項、2を2項と定義付けるにはどう記述するのかからして分りません。
ヘルプや言語リファレンス本で調べてもいまいち・・(あまりに初歩だから載ってない?)。
学校の一室にしかソフトが入ってないので(自前で買うには高い)直接いじれる日時が限られてるし・・どなたか教えて頂けないでしょうか。
0438437
NGNG0439デフォルトの名無しさん
NGNG受け取るためにはどうすればいいのか考えよう&ネットで調べてみよう。
エディットボックスの読み書きはスーパービギナー編にも載ってたはず。
MSDNのCEditのクラスメンバを調べてもいいし。
0440デフォルトの名無しさん
NGNGVCでクラス内でのグローバル変数ではなくプロジェクト内の
すべてのクラスからアクセスできるグローバル変数は
どこでどのようにして宣言すればいいのでしょうか?
基本的なことで申し訳ありませんがよろしくお願いします。
0441デフォルトの名無しさん
NGNG> 規格じゃ3項演算子の3項目から2項目への変換があるか、
> または同じ型でなければコンパイルできないはず。
何でそう言う制約が必要なんだろ ?
A *p = (b) ? new A : new B;
がダメなのは、b = FALSE の時に A *p = new B; となるからダメなのはわかる
けど
Base *p = b ? new A : new B;
なら、Base *p = new A; と Base *p = new B; なんだから別に問題ないと思う
けど。不思議じゃ...。
0442デフォルトの名無しさん
NGNGA *p = ( (b) ? new A : new B );
0444デフォルトの名無しさん
NGNG0445デフォルトの名無しさん
NGNG括弧内が先に評価されてそこで返値が決定される必要がある。
0446441
NGNGあ〜〜〜、なるほど言われてみりゃ 括弧内 の評価が終わった時に一応
返値の型決めないといけないからか...。これぐらいなら共通の型を見つ
けるのも難しくないだろうけど多重継承バリバリだとコンパイラも大変だ
わな。サンクス、一つ勉強になったよ。
0447デフォルトの名無しさん
NGNG変数、定数専用のcppとhを用意して必要なクラスでincludeすれば良いべ。
0448デフォルトの名無しさん
NGNG>変数、定数専用のcppとhを用意して必要なクラスでincludeすれば良いべ。
ということは
class GlobalVal
を作ってメンバ変数にグローバルで扱いたい変数を定義するということですか?
その場合cppには特にメソッドをいれなくてもいいんですよね?
とりあえず存在だけしていればいいということですか?
なんか質問ばかりですみません。
0449デフォルトの名無しさん
NGNG実装.c
int global_val;
使用者.c
extern int global_val;
これでOK
0450440
NGNGグローバル変数を格納するクラスを作ってもどこでインスタンスを作るかに
よってグローバルに扱えないことないですか?
たとえば今、それぞれ4つのcppとhファイルがあるんですけど
それらすべてで扱いたいグローバル変数を格納したクラスのインスタンスは
どこで生成すればいいですか?
結局インスタンスを生成したソースの中でしか使えないってことでは・・・。
どうなんでしょう?
よろしくお願いしますm(_ _)m
0451440
NGNG449さん回答どうもありがとうございます。
もう一度試してみます(^^)
0452デフォルトの名無しさん
NGNGMSのサイトを探してみたのですが、特にNGという情報が載って
いなかったので。
0453デフォルトの名無しさん
NGNGNGだったらStandardなんて名前は付けないと思う・・・
0454デフォルトの名無しさん
NGNGありがとうございます。
・6.0Std.よりも安い
・コンパイラの最適化も省かれている
ので、もしかしたらと思っていたのです。今から買ってこようかな。
0455デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNG>>449さんの言ってる事に>>447のを加えると、
実装.c
int global_val;
実装.h
extern int global_val;
使用者.c
#include "実装.h"
って感じ。グローバルのものは全部一括して.cと.hに突っ込んじゃう。
0458デフォルトの名無しさん
NGNG0460デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/software/1025311611/
このスレの24がVS.NET Proパッケージを\5kで譲ってくれるらしい。
0461デフォルトの名無しさん
NGNG再インスコするしかないのかな...
0462デフォルトの名無しさん
NGNG変更する前に、元の関連付けを退避させておくしかないんじゃない?
0464デフォルトの名無しさん
NGNGGetDeviceCaps(GetDC(NULL),VREFRESH)でリフレッシュレート
が取得できますが、NTのみとMSDNにかいてあります。
それ以外のOSでは戻り値は不定なんでしょうか?
後、アプリ終了時にWM_DESTROYメッセージが送られてきたところで
ChangeDisplaySettings(&old_dev_mode, 0)を呼び出して
画面モードを変更しているのですが失敗してしまいます。
何かご存知の方おられましたら教えてください。
0465デフォルトの名無しさん
NGNGこちらは主にSDKを扱っているということなのだろうか
0466デフォルトの名無しさん
NGNG向こうはMFC専用だから、こっちはそれ以外と思ってた。
Win32APIスレは別にあるけど。
0467デフォルトの名無しさん
NGNGここがVC++の本流スレ。(スレ立てた人が ++をつけるの忘れただけ)
「VisualC++(MFC限定)相談室」はタイトルどおりMFC限定です。
「初心者にVisual C++を教えるスレ」は最初はネタスレだった(w
今では初心者スレとして機能しているが。
0468デフォルトの名無しさん
NGNG具体的には
c:\program files\microsoft visual studio\vc98\include\xtree(120) : warning C4786:
'std::_Tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,
std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::set<std
::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::
basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<
std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::_Kfn,st
d::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,st
d::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> >
> >' : 識別子が '255' 文字に切り捨てられました (debug 情報内)。
c:\program files\microsoft visual studio\vc98\include\set(33) : コンパイルさ
れたクラスのテンプレートのインスタンス化 'std::_Tree<std::basic_string<char,std::char_traits<ch
ar>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::all
ocator<char> >,std::set<std::basic_string<char,std::char_traits<char>,std::alloca
tor<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocato
r<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::all
ocator<char> > > >::_Kfn,std::less<std::basic_string<char,std::char_traits<char>,
std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<c
har>,std::allocator<char> > > >' の参照を確認してください
d:\develop\aaa\aaadlg.h(61) : コンパイルされたクラスのテンプレートのインスタンス化 'std::se
t<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<
std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::alloc
ator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >' の
参照を確認してください
となります。なんですかこれ??
0469デフォルトの名無しさん
NGNG0470デフォルトの名無しさん
NGNGSTLを#includeしてる直前にpragma入れろ
#pragma warning(disable:4786)
0471デフォルトの名無しさん
NGNGありがとうございます。
この警告は無視しても良いって事ですよね?
0472デフォルトの名無しさん
NGNGclass MyTool :
public CWindowImpl<MyTool, CToolBarCtrl>
{
public:
DECLARE_WND_SUPERCLASS(NULL, CToolBarCtrl::GetWndClassName())
BEGIN_MSG_MAP(MyTool)
END_MSG_MAP()
};
としたクラスを使っているのですが、破棄したときに
CWindowImplRootクラスのデストラクタのassertに引っかかってしまいます。
たとえば、CWindowImpl<MyTool, CAxWindow>のように、他のクラスから継承した場合は
引っかからないのですが、どうしたらいいでしょうか?
0473デフォルトの名無しさん
NGNG透明色の設定の仕方が分かりません。
どうやったら良いんでしょうか?
0474デフォルトの名無しさん
NGNG同じくVisualStudioのインストールされたPCでないと起動しないんですか?
これを回避するには、MFCやめてSDKかなんかで書くしかないんでしょうか?
0475デフォルトの名無しさん
NGNGリソースエディタはアイコンじゃないと透明色は使えないよ。
0476デフォルトの名無しさん
NGNG>同じくVisualStudioのインストールされたPCでないと起動しないんですか?
そんなことないよ。
0477474
NGNG早速の回答ありがとうございます。
僕の作ったダイアログベースのアプリケーションが、
VSのインストールされたPCでないと起動しないんですが、
なにが問題だと考えられますか?
なにか特殊なファイルをつかっちまってるんでしょうか?
0478デフォルトの名無しさん
NGNGMFC以外のことが原因なのでは?
MFC使うとMFC42.DLLが必要になるけど、
Win98以降のOSなら、標準で入ってるし。
0479デフォルトの名無しさん
NGNG静的リンクとか言うオプションがあるはず。それにしる
0480474
NGNGそれは新規作成時にセティーングするものでしょうか。
よくわかりませんが、ちょっと調べてみます。ありがとうございます。
VS入ってないと使えないなんて、あふぉみたいなアプリケーションですからね。とほほ。
0481デフォルトの名無しさん
NGNG現在、サブクラス化してWM_SIZEメッセージでインデントを挿入しているのですが、
コレだとリサイズの時に激しくちらついてしまいます。
0482デフォルトの名無しさん
NGNGMFC42.DLLは再頒布可能だよ。
スタティックリンクはProfessionalおよびEnterprise Editionsじゃないとサポートされてない。
それより、デバッグ版なんじゃね?
MFC42D.DLLとかDがくっついてる。
こっちは再頒布不可ね。
0483デフォルトの名無しさん
NGNGのとこにあるマルチスレッドとマルチスレッド(dll)ってどうちがうのですか?
dllつくるときはマルチスレッド(dll)のほうかとおもてたら、新規プロジェクト
でWin32 DLL を選択したときデフォルトでただのマルチスレッドになってて
あれ?とおもたのです。
0484デフォルトの名無しさん
NGNG0485デフォルトの名無しさん
NGNG一つのソリューションで作ってるプログラムの
バージョン(具体的には1.0と1.1)の
プロジェクトを管理してるのですが。
クラスビューの1.1の方の関数、例えばMoveTaskTray()を
ダブルクリックすると
1.0の方のMoveTaskTrayにジャンプしてしまいます。
また、関数によってはちゃんと1.1に飛べる場合もあります。
どうしたらいいのでしょうか?
また、同じ関数を二階ダブルクリックすると
一度目は1.0,二度目は1.1へとジャンプする場合もあります。
.ncbファイルと.clwファイルを削除すると
クラスビューを再構築できると聞き、やってみたのですが
直らなかったです。
よろしくお願いします。
0486デフォルトの名無しさん
NGNG補足です。
1.1のMoveTaskTrayにジャンプしたい場合
1.1の.cppが開いている場合
ちゃんと飛べるようです。
逆に開いてなければ
1.0と1.1どちらへジャンプするかランダムです。
よろしくお願いします。
0487デフォルトの名無しさん
NGNG作りました。ボタンを張り付けてそのBN_CLICKEDのメッセージを
CMainFrameのほうで取りたいんだけどうまくいきません。
ClassWizardのメッセージマップでクラス名の
プルダウンボックスにCMainFrameを指定して関数を追加したけど
そこを通ってくれないみたい。
なんで?
何がしたいかっていうとCFormView上のボタンを押したときに
アプリケーションを終了させたいのでCMainFrameの
DestroyWindow()を呼びたいの。
他にいい方法ってあります?
0488デフォルトの名無しさん
NGNGフォーム側でボタンメッセージを受け取ったらそこで
AfxGetMainWnd()->SendMessge( WM_CLOSE );
で駄目かい?
0489デフォルトの名無しさん
NGNG他の関数内を実行している時でも
割り込み的にSetTimerの関数が実行されるのでしょうか?
それとも、実行中の関数から抜けるまで
プールされるのでしょうか?
どなたかご教授お願い致します。
0491デフォルトの名無しさん
NGNGいろんなところに質問してないで、自分で試したほうが早いと思われる。
最後の引数に関数ポインタを指定すればその関数が直接実行される。
NULLなら WM_TIMER が飛んでくる。
0492デフォルトの名無しさん
NGNG割り込み処理はしないよ。
実行中の関数が終了するまでは、
メッセージは保留状態。
0493デフォルトの名無しさん
NGNGデフォルトはLVS_LISTになっているので、これを最初からLVS_REPORTに変えておきたいのですが。
ウィンドウスタイルを直接変更してもファイルリストが正しく更新されないため表示がおかしくなるだけでした。
0494デフォルトの名無しさん
NGNG何か知っている方おられましたら、教えてください。
0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNG本当にありがとうございます。
0497449
NGNGこちらで回答を頂いて早速試したところうまくいきました。
しかし、自分で作ったクラス(ここではCBlockというクラスを生成しました。)
をグローバルに扱うことができずにいます。
今は
実装.cpp
int totBlk;
CBlock blk[10];
とし、
使用者.cpp
extern totBlk;
extern blk[10];
: :
: :
blk[totBlk]=CBlock();
としていますがコンストラクタを呼ぶ時に
使用者.cpp内ではblkがCBlockのクラスであることを認識していない
というコンパイルエラーがでます。
そこで
extern blk[10]; → extern CBlock blk[10];
と明示してやると今度はそのアプリ(現在はRhinocerosというCADソフトのプラグインを製作中)が強制終了
されてしまいます。
web等で調べてこのようにしたのですが何か文法的な間違いを犯しているでしょうか?
理由をご存知の方がいらっしゃったらどうかアドバイスを頂けないでしょうか?
よろしくお願いいたします。
それでは失礼します。
0498NDR
NGNG一列目のやつならそのままでもOKだけど、2列目以降の場合はeditをCreateWindowして貼り付けないと
どうしようもない。
自分で頑張ってコントロールをこさえよう。
MFCだったらこのあたり結構楽にできて再利用できるんだけど(w。
0499デフォルトの名無しさん
NGNG0501デフォルトの名無しさん
NGNG0502デフォルトの名無しさん
NGNG柔軟な取り回しができん。
0503デフォルトの名無しさん
NGNGindicators[]を変更した後、CMainFrame::OnCreate()に
int iPart[2] = {50, -1};
m_wndStatusBar.GetStatusBarCtrl().SetParts(2, iPart);
を書いたんだけどうまくいきません。
SetParts()はどこで呼び出せいいのでしょう?
0504NDR
NGNG???
んなまどろっこしい方法使わなくても
m_wndStatusBar.SetPaneInfo(0,ID_SEPARATOR,SBPS_NORMAL,50);
m_wndStatusBar.SetPaneInfo(1,ID_SEPARATOR,SBPS_STRETCH,0);
を使えばいいのに…
0506デフォルトの名無しさん
NGNG0507デフォルトの名無しさん
NGNG実はいまウイザードとか使わずにソースとヘッダを追加して
プログラムを書き始めたいのですが、
1.ワークスペースを作る
2.ファイルを追加する
3.書く
の順番で良いですか?
0508デフォルトの名無しさん
NGNGプロジェクト1個でexeとかdllとかが1個作れる。
ワークスペースにはプロジェクトを1個以上入れて、まとめて管理できる。
まあ、普通はプロジェクトが1個だけ入ったワークスペースを作って、
そこでお仕事すればよいと思われ。
0509デフォルトの名無しさん
NGNG0510デフォルトの名無しさん
NGNGクラスビューで$S1()とかいう名前になってしまいます。
書き方がまずくてそうなってしまうのですか?
operator T*();
U::operator T*()
{
}
みたいに書いてます。
0511デフォルトの名無しさん
NGNGそういうもの。
クラスビューはC++を全部知ってるわけではない。
自分を信じれ。
0512デフォルトの名無しさん
NGNG0513デフォルトの名無しさん
NGNG詳しく書いてあるHPor書籍など教えてくれませんか?
今日仕事中5時間捜したが↓くらいしか見つからず…
ttp://www.cqpub.co.jp/hanbai/books/18601.htm
あとこの本使えますか?
0514デフォルトの名無しさん
NGNG0515デフォルトの名無しさん
NGNG0516デフォルトの名無しさん
NGNGさんくす
0517デフォルトの名無しさん
NGNGMultibyteToWideCharはWin95でうまく動かないので…。
0518デフォルトの名無しさん
NGNG#include "oracl.h"
int main(int argc, char* argv[])
{
ODatabase odb("ExampleDB","scott","tiger");
return 0;
}
コンパイルもできて実行もできるのですが、なぜかつながりません。
どこが悪いのでしょうか?
0519デフォルトの名無しさん
NGNGなら、utf-16<->utf8の変換くらい自分でも書けるだろ。
0520518
NGNGでも、例外エラーがでちゃいました。うーん。
0521デフォルトの名無しさん
NGNGやっぱそっちの方がいい?
ちょっと効率悪いかなって思ったんで。
0522517
NGNG0523518
NGNG#include "oracl.h"
int main(int argc, char* argv[])
{
OStartup();
ODatabase odb("ExampleDB","scott","tiger"); //ここで例外発生
OShutdown();
return 0;
}
なんで?
Oracleクライアントが複数バージョン入ってるからかなー
7,8,8i
0524デフォルトの名無しさん
NGNGされているのはどのような理由があるのでしょうか?
スレ違いかもしれませんが、ぜひ教えて頂けないでしょうか。
0527517
NGNG何かおかしなところがあったら教えてください。
変換元:buf
変換後:ret
wchar_t wszBuf[LEN];
MultiByteToWideChar(CP_ACP,0,buf,100,wszBuf,LEN);
char *r;
unsigned short *p;
for(p =(unsigned short *)&wszBuf, r = ret; *p != '\0'; p++){
if(*p<=0x7F){
*(r++)=(char)*p;
}else if(*p>= 0x80 && *p<=0x7FF){
*(r++)=(*p%0x40)|0xC0;
*(r++)=(*p&0x3F)|0x80;
}else{
*(r++)=(*p%0x1000)|0xE0;
*(r++)=((*p&0xFC0)%0x40)|0x80;
*(r++)=(*p&0x3F)|0x80;
}
}
*r = '\0';
0528デフォルトの名無しさん
NGNGそれではないのか?
0529デフォルトの名無しさん
NGNG0530デフォルトの名無しさん
NGNG>*(r++)=(*p&0x3F)|0x80;
*p & 0x3f と *p % 0x40 は同じ値になるような気がする。
0531デフォルトの名無しさん
NGNG何故ビットシフトを使わないの????
0532517
NGNGどうもでした。
0534517
NGNGとりあえずバイナリが一致するようになったのでいけたかなって感じです。
まだわからないけど…。
*(r++)=(*p>>6)|0xC0
*(r++)=(*p&0x3F)|0x80;
}else{
*(r++)=(*p>>12)|0xE0;
*(r++)=((*p&0xFC0)>>6)|0x80;
*(r++)=(*p&0x3F)|0x80;
0535デフォルトの名無しさん
NGNGへ?ということは結局C++へ回帰しちゃうんですか?
0536
NGNGMFCを使わずにダイアログのアプリを作ろうとしたら、ダイアログのリソースIDを"IDL_DLG"のように""でくくらないとうまく動きません。
どぼして?
0537デフォルトの名無しさん
NGNG0538デフォルトの名無しさん
NGNGresource.hかなんか作って
#define IDL_DLG 100 //適当
これをrcとソースと両方でincludeした上で >537
0539
NGNGどっちも一意の値ならひとつでいいのでは?
0540デフォルトの名無しさん
NGNG0541デフォルトの名無しさん
NGNG0542
NGNGでもフレームワーク使わなくても、リソースIDは存在するよ。
0543デフォルトの名無しさん
NGNGリソースはモジュールの中に保存してある、ローカル資源で、
リソースIDはその識別子。
リソースIDでリソースを特定して、そこからウインドウズで扱える形式のデータに
変換したりすることで、実際に使えるようになる。
メモリにロードされたプログラムのプロセスハンドルと、
ディスクに保存されたファイルのファイル名みたいな関係。
0544
NGNGありがとう。
0545デフォルトの名無しさん
NGNGc言語でWindowsプログラムがしたいです
でも何を作っていいかわかりません。
アドバイスお願いします
25 :デフォルトの名無しさん :02/07/06 21:44
http://www.sci.toyama-u.ac.jp/~iwao/Scheme/scheme.html
0546(,,・Д・)
NGNGできれば使い方を教えてください!教えて君ですいません。
0547デフォルトの名無しさん
NGNGだが重たい処理もやらなければならないとしよう。
重たい処理もユーザーインターフェースと一緒にやると画面が固まったりする。
どうすればいいか?
バックグラウンドで処理をしてくれるヤシが居ればいい。
そうするとユーザーインターフェースは自分の処理に専念できる。
その裏で動いてくれるヤシ、それがスレッドだ
0548デフォルトの名無しさん
NGNG0549デフォルトの名無しさん
NGNGどうすれば良いのですか。
0550デフォルトの名無しさん
NGNGどうすりゃいいのか、さっぱり。
0551デフォルトの名無しさん
NGNG新規に子ウィンドウを開いたときに 「アクティブにならない」
というようなことって可能でしょうか?
(マウスでクリックしたときはアクティブになるようにしたい)
CREATESTRUCT構造体のstyleでWS_DISABLED
とか設定しちゃうとそれ以降アクティブにすることも出来ない・・・
どなたか、お願いします。m(__)m
0552デフォルトの名無しさん
NGNGMyClassをドキュメントクラスで宣言しようとします。
ドキュメントクラスのヘッダファイルで
:pubric
MyClass* NewClass;
と宣言して
Viewクラス内で
GetDocument()->NewClass->(メンバ関数);
とやるとメモリ関連のエラーが出てしまいます。
ドキュメントクラス内で宣言したクラスのメンバにアクセスする方法を教えてください。
0553デフォルトの名無しさん
NGNGやり方ありますか?
0554だれかこたえてやれよ。
NGNG質問の意図がよくわからんが、
http://www.kumei.ne.jp/c_lang/sdk2/sdk_117.htm
みたいなことか?
>>550
#include <winsock2.h>//またはwindock.hね
#pragma comment(lib, "wsock32.lib")//リンクライブラリの指定
をソースに埋め込め。
>>552
わかってると思うけどpublicな。MyClass* NewClassだとポインタの
宣言で実体はまだ生成されてない。*をなくして
MyClass NewClass;
GetDocument()->NewClass.(メンバ関数);
にするかnew汁。っつーかC++を学べ!
>>553
意味がよくわからん。行の挿入か?
0555デフォルトの名無しさん
NGNGテキストボックスの背景色を変えるには?
文字はSetWindowTextで設定できました、だけど。
0556555
NGNG設定じゃなくて表示だった。
0557だれかこたえてやれよ。
NGNGEM_SETBKGNDCOLOR
があるべ。
0558555
NGNG0559555
NGNGEM_SETBKGNDCOLORは、このメッセージを受け取ったときに処理するのか
それともSendMessageするってことですか?
0560デフォルトの名無しさん
NGNG0561ハイバンド名無し
NGNG現在、ビットマップを読みこんである処理をしたのち、表示および保存を
行う、というプログラムを作成したいのです。そこで「猫でもわかる〜」さんのページに
近いものがあったためパク…いや参考にしているのですが、ビットマップというか
外部ファイルの読込保存自体が初めてです。
GetOpenFileNameでダイアログ作成とユーザーの選んだファイルのアドレスをOPENFILENAME構造体に取得、
CreateFileでファイルの雛型?の作成、
ReadFileで実際にビット列を読みこんだバッファの先頭アドレス取得、
みたいな流れで大筋はあってますか?
とまあ、そちらは置いておいて、こちらが本題なのですがReadFileで取得したバッファ内のビット列を
R[x][y],G[x][y],B[x][y]という様に扱いやすい形に落としこみたいんですが、
具体的にどうすればいいのでしょうか?
先頭から8ビットずつずらしながらその8ビットを配列に入れていく、という形に
なると思うのですが…VCに直接関係の無い質問で恐縮っす。
0562ハイバンド名無し
NGNGttp://www.kumei.ne.jp/c_lang/sdk2/sdk_170.htm
具体的にはこの項を参照してます…。
0563ハイバンド名無し
NGNG恥ずかしい事に初耳な概念でした。
もしかして
for (y=0;y<SizeV;y++)
for (x=0;x<SizeH;x++)
for (ch=0;ch<3;ch++)
*szBuffer >> bitmap[ch][x][y];
みたいな感じの記述でいけるのでしょうか?
0564デフォルトの名無しさん
NGNG0565デフォルトの名無しさん
NGNGビットマップファイルの構造を学習すべし。
0566デフォルトの名無しさん
NGNGサービスからダイアログを表示することって出来ますでしょうか?
ログオン状態であれば、MFCアプリケーション(DLL)経由で
画面上にダイアログを表示できましたが、
(デスクトップとの対話を許可する、という設定が必要)
非ログオン状態ではなにも表示されませんでした。
(ログオンした瞬間に画面に出てくる)
MessageBoxを使えば非ログオン状態でも画面にメッセージを
出せるのは分かったのですが、見た目のカスタマイズに
限界があるので、独自のダイアログを表示したいのですが・・・。
参考になるような情報をどなたかご教示下さい。
よろしくお願いします。
0567ハイバンド名無し
NGNGいやぁ、お恥ずかしいばかりです…。
出きればその勘違い部分を指摘してほしいんですが、恐らく
それを指摘するのも馬鹿馬鹿しいほどの根本的な勘違いなんでしょうね。
まあ、おまえ勘違いしてるぞ、って指摘だけでも助かりました。
>>565
おお、これは?熟読してみます。
おふたかたありがとうございます。
0568デフォルトの名無しさん
NGNGこのスレの存在を忘れてるな?
0569デフォルトの名無しさん
NGNG0570デフォルトの名無しさん
NGNGMFC40D.DLLがありませんといわれます。
そのDLLを渡してsystemにいれてもらってもいわれます。
何が原因でエラーになっているんでしょうか?
MFC40D.DLLって何してるDLLなんでしょう???
0571デフォルトの名無しさん
NGNGビルドがデバッグバージョンじゃないでしょか?
リリースビルドならMFC40.DLL に相当するものだと思う。
0572デフォルトの名無しさん
NGNG0573デフォルトの名無しさん
NGNGそうです。デバッグバージョンです。
Standard Editionだとリリースモードでビルトできないです^^;
たいしたプログラムでないのですが、ちょっと友人にやってもらいたいのですが、
なにかいい方法はないのでしょうか?
それになんでsystemに用意しておいても見つからないと言われるのでしょう??
0574デフォルトの名無しさん
NGNGなぜリリースビルドできないのかよくわかりませんが、
それを解決する方が先決な気がします。
>572の通り、MFCx0d.dll は再配布できないですしね。
まあ、一番確実なのは、テスト環境にもVC++を入れてもらう(w
0575デフォルトの名無しさん
NGNGMSVCRTD.DLLも入れてみたら? あんまりおおっぴらに配っちゃダメよ。
VCも売り物だからね。高い金払ったEnterpriseEditionなんかと一緒だと、商売上困る。
それと、MFCはあきらめて、フリーのライブラリを探すなり、自作するなり、
SDKだけで作るなりすればこんなことに煩わされずに済むよ。
0576デフォルトの名無しさん
NGNG0577デフォルトの名無しさん
NGNGそうだった。勘違いしてた。
できないのはMFCのスタティックリンクだった。
0578_
NGNGVCで見るにはどうすればいいしょうか?
0579デフォルトの名無しさん
NGNG指定したいのですが、どうすれば良いんでしょか?(VC6)
0580デフォルトの名無しさん
NGNG今ならVC++.netを買いだと思いますがどうでしょうか。
でも.netのプロフェッショナル版は高いからなー、学生
じゃないし学生の知り合いもいないからアカデミックは買えないし
0581デフォルトの名無しさん
NGNGinline void hoge_inline(){
// なんかする
}
void hoge(){
hoge_inline();
}
0582gessi
NGNGALT+M とかで Messagebox(NULL,"","",NULL) をすぐペーストできると
ありがたいんですが,可能ですかね.
あと数行まとめて選択して,ALT+/ とかで全部コメント化は可?
0583579
NGNGそれは知ってるんですが。
void hoge_inline(){
// なんかする
}
void hoge(){
...
hoge_inline(); //ここはインライン展開させる
...
hoge_inline(); //ここはインライン展開しない
...
}
みたいに、呼び出し側でインライン展開/非展開を制御できませんか?
という質問です。
0584デフォルトの名無しさん
NGNGマクロで VBA(?)書いて、カスタマイズ→キーボードの“マクロ”で、
キーボードに、その機能を割り振れば可能。
Sub TemplateMsgBox()
'DESCRIPTION: メッセージボックステンプレート
ActiveDocument.Selection = "Messagebox(NULL,"""","""",NULL)"
End Sub
選択範囲のコメント化はサンプルマクロに入ってるよ。
0585デフォルトの名無しさん
NGNGちげーよ。
inline void hoge_inline(){
// なんかする
}
void hoge(){
hoge_inline();
}
void hoge(){
...
hoge_inline(); //ここはインライン展開させる
...
hoge(); //ここはインライン展開しない
...
}
って意味。
0586gessi
NGNGさんきゅ やてみる
0588デフォルトの名無しさん
NGNG0589デフォルトの名無しさん
NGNG0590デフォルトの名無しさん
NGNGこういわれたら何を直せばいいんですかね.
0591ふぁんふぁん大佐
NGNG0592デフォルトの名無しさん
NGNG変数の初期化とか実体の無いクラスにアクセスしてみたりとか。
0593デフォルトの名無しさん
NGNG0594デフォルトの名無しさん
NGNG0595デフォルトの名無しさん
NGNG良い本を紹介してもらえないでしょうか。
ちなみに、C、C++の知識はあります。
それと『はじめてのVC++6.0』技術評論社を半分読みました。
この本は、プログラム例で使われているクラスや関数の説明が、
詳しくされていないために、汎用性のある知識が得られないと思ったのでやめました。
0597デフォルトの名無しさん
NGNGだったらなぜ今更入門書が欲しいんだ?
そもそも、知識があるってどの程度だ?
0598あ
NGNG上級者の方々にどう言われるか分かりませんが、
私は
著者 山本 信雄
タイトル プログラミング学習シリーズ VisualC++
というのをオススメします。
三巻構成で、
1巻:SDK
2巻:Classについて(C++知ってるならいらないかも,でも全くいらないとはいえないかも)
3巻:MFC解説
全部やれば基礎は固まると思います。
私はこれ使いました。
0599あ
NGNGあっ、↑はVC++=MFC
として話しを進めました。
0600デフォルトの名無しさん
NGNGAPIなどかぞえるぐらいしかない
0601デフォルトの名無しさん
NGNGんじゃー、API数えてください。
非公開の者だけでも3桁あったような。
>>595 詳しくされていないために、汎用性のある知識が得られないと思ったのでやめました。
「ぼくちゃん置いてけぼりにされて寂しい」
って事なら、あんたは向いてないからそろそろ人生をシャットダウンすべき。
分からないことは調べる癖を付けろ。
0602ふぁんふぁん大佐@
NGNG設計がしっかりしてないとどうしようもなくなるが
0603デフォルトの名無しさん
NGNGMS からAPI本はたくさんでてると思うが・・・・
0604デフォルトの名無しさん
NGNG>>597
C、C++の文法の知識はあります。
VC++の入門書を読みたい理由は、
ウインドウズでGUIプログラミングをやりたいからです。
>>598
どうもです。その本を探してみますね。
0605デフォルトの名無しさん
NGNG他のプラットフォームでの経験は?
入門本が欲しいわけ?
それとも、関数の解説が網羅されてるリファレンスが欲しいわけ?
前者なら投げ出した本をやり遂げろ。
後者ならMSDNをオンラインで見てくるか、プログラミングWindowsをそろえるべし。
0606デフォルトの名無しさん
NGNG「猫でもわかるプログラミング」で検索かけれ。
本買う必要なくなってくる。
0607デフォルトの名無しさん
NGNG0608あ
NGNGその方法って(猫)よく聞くけど、
他の言語で一通り分かってる人なら
そうかもしれないけど、
C++一本の人が
あれを見ながらスキルをあげていくっていうのは
実際効率悪いことこの上ないと思いますよ。
ネットで勉強できるなら本なんて一冊も
買わなくていいと思いますし。。
0609みなしごハッチ
NGNGhttp://ww41.tiki.ne.jp./~mikihiro9649/
0610デフォルトの名無しさん
NGNG同意。
猫はわかってる人がサンプル集として使うのが正解。
チュートリアルには向かないと思う。
0611デフォルトの名無しさん
NGNG0612デフォルトの名無しさん
NGNG作ったアプリケーションを実行すると、
下のような説明がこれひとつだけじゃなくて、
もっといっぱいダァーっと出るのですが・・・
'CppWin32.exe': 'C:\WINDOWS\system32\ntdll.dll' を読み込みました。シンボルが読み込まれていません。
DLLファイルが読み込まれるのは、まぁ誰だって理解できますよ。
問題はシンボルです!
シンボルってなんすか?普通、読み込まれないものなんですか?
逆にどういう時に読み込まれるものなんですか?
0613梅宮の辰ちゃん
NGNG0614デフォルトの名無しさん
NGNG0615デフォルトの名無しさん
NGNGMSのサイトからデバッグシンボルを落としてきて
インストールすれば表示が消える。
0616デフォルトの名無しさん
NGNGそういう問題じゃないってば( ´ー`)y-~~
シンボルってなんすか?普通、読み込まれないものなんですか?
逆にどういう時に読み込まれるものなんですか?
0617デフォルトの名無しさん
NGNGキミには必要のないものだから知らなくていい。
0618梅宮の辰ちゃん
NGNG分かるものがいないのか、、、
悲しいぞ、なぁ松方よ
0619デフォルトの名無しさん
NGNG答えてやるから消えてくれ
>シンボルってなんすか?
クラックやデバッグを助けるための目印
具体的にはデバッグ中にAPI名が分かるようになる
>普通、読み込まれないものなんですか?
あれば勝手に読み込む
>逆にどういう時に読み込まれるものなんですか?
あれば勝手に読み込む
0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNGCListCtrlか。CImageListをセットできるみたいですが、表示できるのは CWinApp::LoadIcon で
取得したアイコンなんですね。32x32のjpeg画像を表示することはできないんでしょうか。
0622デフォルトの名無しさん
NGNGIDR_XXXを動的に生成できるか?ということか?俺は知らんけど。
0623デフォルトの名無しさん
NGNG0624621
NGNG0625621
NGNGttp://www.mindcracker.com/mindcracker/c_cafe/tree/load_tree_images.asp
0626デフォルトの名無しさん
NGNGOnPaint(WM_PAINT)でもためしてみたら
0627デフォルトの名無しさん
NGNGオーナー描画・オーナードロー・WM_DRAWITEMとかで調べてみ
0628デフォルトの名無しさん
NGNGありがとうございます。
また質問なんですが、jpegを扱うには、MFCのCImageクラスを利用すればいいのでしょうか?
0629デフォルトの名無しさん
NGNGCImageListのこと?
アイコンかビットマップしか使えないような気がする。
jpeg使うなら IPicture で楽に使えるケースもある。
www.codeguru.com/bitmap/index.shtml にいってみたら
0630デフォルトの名無しさん
NGNGVisualC++関連でおすすめの本はありますか?
Cはわかります
C++は勉強中です
2ちゃんねるブラウザつくりたいです
よろしくおねがいします。
0631デフォルトの名無しさん
NGNGCImageでいけるよ
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vcsample/html/vcsamSimpleImageSample.asp
↑を参考にしてね
0632あ
NGNGおい、お前過去ログ読んでから質問してるよな?
たった、30さかのぼるだけじゃないの?
つまり↓こういうことだ。
>595
>598
>599
>604
>605
>606
>608
>610
過去ログの見やすい2chブラウザ作ってちょうだいね。
0633デフォルトの名無しさん
NGNGint APIENTRY WinMain(……)
{ MSG msg;
:
:
:
return msg.wParam;}
一応動きはするのですが、
[ 'return' : 'WPARAM' から 'int' に変換しました。データが失われて〜]
と、警告が出てくるのですが、何故でしょうか?
0634あ
NGNG>[ 'return' : 'WPARAM' から 'int' に変換しました。データが失われて〜
↑
これが原因だろ?
WPARAMからintに変換したからだよ。
WPARAMとはなにかよく考えてみればわかるよ。
int a=1;
long b=2;
b=a;//可能
a=b;//データが失われて〜
0635あ
NGNGちょっと今手空いてるし、
せっかくだから調べ方を教えてあげるよ。
まず、VCのコードの中にどこでもいいから「WPARAM」って書いて
マウスを合わせてちょっと待ってみる。
すると「typedef UINT_PTR WPARAM」って出るでしょ?
じゃ次は「UINT_PTR」て書いて同じ事してみよう。
「typedef unsigned int UINT_PTR」って出たでしょ?
つまりあなたが>634でしたのは
int型の返り値なのにunsigned intを返したわけで、
int a=10;
unsigned int b=10;
a=b;//←これはデータが欠ける
というわけ。
暇だから細かめに言ってみたよ。
わかった?
0636デフォルトの名無しさん
NGNG何か、随分参考になりました。ありがとうございます。
理由は、よく解ったんですが、
何でそういう物を返すことに、なってるんでしょうか?
0637あ
NGNGおれSDKよくわかってないけど、
今本開いて確認したら、
俺のも return msg.wParam;
になってるみたい。
気になったのでVCで
Win32アプリケーション
で自動で作成したコード見てみたら
retrun (int)msg.wParam;
てな具合にキャストしてあった。
なんでかと言われるとわからんが、
とりあえずint にキャストしとけば問題ないよ。
0638630
NGNGよさそうだなとおもってたけど
やっぱそれか
0639デフォルトの名無しさん
NGNGの下に必ず
#include <stdio.h>と書いてしまう俺は馬鹿ですか?
0640デフォルトの名無しさん
NGNG#if defined(WIN32)
#include "windows.h"
#endif
ついでにこうしとけ(w
0641デフォルトの名無しさん
NGNGありがとうございました!
0642デフォルトの名無しさん
NGNG>マウスを合わせてちょっと待ってみる。
これっていつまで待っても一向に表示されない時があるよね。どうしてだYO!
0643デフォルトの名無しさん
NGNGSTLの std::vector<CFoo*> クラスをpublicで継承したクラス CFoos があるとして、
iteratorを使ってすべての要素にアクセスするとします。
CFoos::iterator i;
などのように宣言した i についてインテリセンスは働くのでしょうか?
例えば i->... などのようにCFooクラスの要素にアクセスしようとしてもメンバが表示されないんですが…
>>642
>マウスを合わせてちょっと待ってみる。
俺は気が短いのでさっさとF12押しますw
0644デフォルトの名無しさん
NGNG働かない
0645デフォルトの名無しさん
NGNGクラスウィザードでメンバ変数編集してOK押すと
毎回「class wizardはファイル名なんたら.tmpをなんたら.cppへ変更できません。
このファイル名を手動で変更するとデータの損失を防ぐことができます。
しかし、いくつかの変更は失われる可能性があります。」って出て
cppファイルがなくなっちゃうのです。で、いちいちtempからコピーしてきてるのですが。
何でこんなエラーがでるのでしょうか。
ちなみに、WinXPでVC6.0でサービスパック5もあててます。
おながいします。
0646デフォルトの名無しさん
NGNG0647デフォルトの名無しさん
NGNG100文字以内でお願いします
0648デフォルトの名無しさん
NGNGおまえの頭では理解できない代物。
0649デフォルトの名無しさん
NGNGUFC-crypt
で探してみそ。
アメリカ(うろ覚え)のサイトから落とすとヤバイらし
いけど、、
0650デフォルトの名無しさん
NGNG0651デフォルトの名無しさん
NGNGレゴダイヤブロック
飛行機で城がつくれれば君もきっと認められるよ
0652デフォルトの名無しさん
NGNGクラスを自作して簡易データベースを作成中でっす、、
0653デフォルトの名無しさん
NGNG関連付けを設定して、
書庫をダブルクリックした場合、
コマンドラインに
ショートファイルネーム(あってるかな?)がついて
exeが起動されるのはわかるのですが、
ショートファイルネームからロングファイルネームに
変換するいい手はありませんか?
exeからは起動元パスが、
C:\Directoryt1\File.txt から起動したら
C:\Direc~~1\File.txt
のように見えてしまい困っています。
どうすればいいでしょうか?
0654デフォルトの名無しさん
NGNGWin32APIにGetFullPathNameというのがあるけど。
http://www.microsoft.com/japan/msdn/library/ja/jpfileio/html/_win32_getfullpathname.asp
0655653
NGNGありがとうございます。
言われたバびょの近所に
GetLongPathName
というのも見つけました。
これでいけそうです。
以前ショートファイルネームから
ロングファイルネームへの変換はできないと
聞いていたので、こういう関数はないと思ってました。
ありがとうございます。
0656デフォルトの名無しさん
NGNGあれってWNDCLASSのlpszMenuNameに作ったメニューのID指定するだけだったよな?
他のサンプルと見比べたりMSDN見たりしてもわからない・・・。
何でメニュー表示されないかわかる香具師求む。
0657デフォルトの名無しさん
NGNGMAKEINTRESOURCE マクロ
0658657
NGNG0659デフォルトの名無しさん
NGNG0660デフォルトの名無しさん
NGNGあきらめてCreateWindowのHMENU指定して
(´-`).。oO(つーか、あきらめたのは俺か…)
0661デフォルトの名無しさん
NGNG新規に作るとメニュー無し・・・。
何を忘れてるんだ(;´Д`)
ソースコードはほぼ一緒なのに(´д⊂
0662デフォルトの名無しさん
NGNG0663デフォルトの名無しさん
NGNG0664fu
NGNGってのが下記の nn=UpdateWindow( hWnd);で発生するんですが何が悪いんでしょうか.
ちなみに nn の返り値は1で正常終了なんですけどね.
//ウィンドウの生成
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{hInst = hInstance;
hWnd = CreateWindow(szClassName,"for debug:",
WS_OVERLAPPEDWINDOW|CS_DBLCLKS,0,0,30,30,NULL,NULL, hInstance,NULL);
if (!hWnd)
return FALSE;
ShowWindow( hWnd, nCmdShow );
int nn;
nn=UpdateWindow( hWnd);
0665デフォルトの名無しさん
NGNG単に、UpdateWindowところで起こっただけで、
原因はWM_CREATEハンドラの中とか?
0666デフォルトの名無しさん
NGNGレジストリをいじらないとだめですよね?
特にPOPやSMTPの設定の場所を探しているのですが、レジストリに
見つけられません。
HKEY_CURRENT_USER\Identities\[適当な番号]\Software
\Microsoft\Outlook Express
あたりがニアピンかな・・と探してるのですが・・・どなたか知恵を貸して
ください
0667デフォルトの名無しさん
NGNGOutlookの設定なのか、Outlook Expressの設定なのかと小一時間
0668デフォルトの名無しさん
NGNG他のアプリのレジストリをいじるのはイクナイ!!
0669656
NGNGw.cbClsExtra= w.cbWndExtra= 0;
w.hbrBackground= (HBRUSH)GetStockObject( WHITE_BRUSH );
w.hCursor= LoadCursor( NULL, IDC_ARROW );
w.hIcon= LoadIcon( NULL, IDI_APPLICATION );
w.hInstance= hInstance;
w.lpfnWndProc= WndProc;
w.lpszClassName= "lpszClassName";
w.lpszMenuName= MAKEINTRESOURCE("IDR_MENU1");
w.style= CS_HREDRAW | CS_VREDRAW;
RegisterClass( &w );
HWNDhWnd= CreateWindow( "lpszClassName", "てすつ", WS_OVERLAPPEDWINDOW, 0, 0, 300, 150, NULL, NULL, hInstance, NULL );
何か間違ってますか?(´д⊂
0670デフォルトの名無しさん
NGNG> w.lpszMenuName= MAKEINTRESOURCE("IDR_MENU1");
0671デフォルトの名無しさん
NGNG0672デフォルトの名無しさん
NGNG0673656
NGNGマジです。つかレス前に自分で気づきますた。
でも
w.lpszMenuName = "IDR_MENU1";
とか書けなかったっけ?(´д` ;)
これで無理ぽかったからMAKEINTRESOURCE("略になったんだが(´д⊂
0674デフォルトの名無しさん
NGNGw.lpszMenuName = "IDR_MENU1";
でも メニューIDなら
w.lpszMenuName = IDR_MENU1;
後者は整数値をポインタ型に代入することになるので
通常は MAKEINTRESOURCEマクロを使って型変換する。
0675デフォルトの名無しさん
NGNGmfc70.dll と
msvcr70.dll
が起動するのに最低限必要と聞いたのですが、
当然.VC.NETインストしたら入ってると
思うのですが、
このdllは一般ユーザーが
入手するのはどの機会なんでしょうか?
例えばIE6と一緒にインストされる、とか
そういう情報です。
ご存知の方よろしくお願いします。
0676デフォルトの名無しさん
NGNG0677675
NGNG>.NET FrameworkのRuntime
っていったら
普通のユーザーはWindowsUpdateですよね。
必要動作環境がえらく大げさになりますね。
めんどくさ。。
情報ありがとうございました。
0678デフォルトの名無しさん
NGNGmanagedの話じゃないから.NET Framework再頒布パッケージ(またはSDK)
は関係ないよ。
0679デフォルトの名無しさん
NGNGそれ以外にMSからは配布されてない。
ランタイムパックとかでvectorに登録する人物も現れてない
って意味で言ったんだが。
0680デフォルトの名無しさん
NGNGインストールされないから意味ないってことなんだけど。
ぐぐれば配布してる人は現れてる。
0681デフォルトの名無しさん
NGNG0682デフォルトの名無しさん
NGNG実行させるためのショートカットキーを自分のアプリに割り当てたいんですが、
そういうAPIってありますか?
0683デフォルトの名無しさん
NGNGIShellLink::SetHotkey
0684デフォルトの名無しさん
NGNGダイアログをDoModalしたら、
一番若いタブオーダーのエディットボックスの
文字列が選択された状態で表示されるので
気持ち悪いです。
例えばタブオーダー1がパスを表示する
エディットボックスで、DoModalされた時に
文字列が入ってる場合、
開くと文字列が反転して表示されます。
こういう時の
解決方法はどうすればいいでしょうか?
とりあえずOKボタン(IDOK)を
OnInitDialog()でSetForcusしてみましたが、
全然的外れでした。
0685名無しサンプリング@48kHz
NGNGSHGetValue()
でキーの文字列を取得しようとしているんですが
一回目は成功するんですが、2つ目のキーの取得に
失敗してしまいます。原因さっぱりわかりません。
何かご存知方、いらっしゃいませんでしょうか?
0686684
NGNGReturn Values
Returns ERROR_SUCCESS if successful, or a nonzero error code defined in Winerror.h otherwise. You can use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag to retrieve a generic description of the error.
↑エラーコードからわかるんじゃない?
0687デフォルトの名無しさん
NGNGタブオーダーを変える。
またはOnInitDialogでSetFocusしてFALSEをreturnする。
0688684
NGNGありがとうございます。
無事解決しました。
どこで見たのかと思ってたら
自動で作成されたコメント文に書いてあったんですね。
助かりました。
0689デフォルトの名無しさん
NGNGドロップダウン式のコンボボックスをサブクラス化しました。
(ちゃんとCOMBOのCHILDのHWNDをとっています)
コンボボックスから1つ選ぶか書き込むかして、その後ENTERを押したら次の動作に移るようにしたいのですが
システムキー(VK_TAB, VK_RETURN, VK_ESC)だけはWM_KEYDOWNにメッセージを送ってくれません。
調べたところシステムキーは別の方法で監視しなければならない様子。
ですがどのサイトを見てもMFC(すいません。MFCについてはよくわからないのですが)らしきもので
コードを打っています。
非MFCではVK_RETURNなどは監視できないのでしょうか。
メッセージ待ちのプログラムのため、GetKeyStateはなるべく使いたくないのですが
//IPコンボのサブProc
LRESULT CALLBACK SubIPComboProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){
switch(message){
case WM_KEYDOWN:
return 0L;//ここにF9で印をつけてデバッグモードで起動。確かめました
case WM_CHAR:
return 0L;
}
return (CallWindowProc((long (__stdcall *)(struct HWND__ *,unsigned int,unsigned int,long))IPComboProc, hWnd, message, wParam, lParam));
}
0690デフォルトの名無しさん
NGNG0691689
NGNGお返事ありがとうございます。
SPY++を使って調べたところ、リターンを押すたび
ダイアログボックスには
WM_COMMAND wNotifyCode=1
が
コンボボックスの子供ウインドウであるEDITボックスには
WM_KEYDOWN wParam=VK_RETURN
が流れているようです。
でも何故かEDITに流れるWM_KEYDOWNを捕まえられません。
(色々なサイトを見る限り、やはりシステムキーは普通には捕まえられないもよう)
WM_COMMAND wNotifyCode=1
を捕まえて処理しようかとも考えたのですが、本質を調べるかぎり
あまりよろしい方法では無いように思えました。
最後の手段として考慮しておきます。
なんとかEDITに流れるWM_KEYDOWNを捕まえられないものでしょうか…
0692デフォルトの名無しさん
NGNGcase WM_GETDLGCODE:
return DLGC_WANTALLKEYS;
0693デフォルトの名無しさん
NGNGこういう関数があったとして、
CString cs="Test文字列";
Test(cs);
引数にCString型を直接渡すのはいけないのでしょうか?
Test((LPCTSTR)cs);
とすべきでしょうか?
かなり前に直接CString型を渡すと
operatorが呼ばれないから、とか聞いた覚えがあるのですが、
昔の話しなのでどこで見たのかわからなく、忘れてしまったので困ってます。
つまり
Test(cs);
これは駄目でしょうか?
0694デフォルトの名無しさん
NGNG> これは駄目でしょうか?
OK。
0695694
NGNGあっそうなんですか、
今までLPCTSTRに渡す時は欠かさず
キャストしてました。
全部修正しなくちゃ。。
ありがとうございました。
0696693
NGNGすみません、名前間違えました。
>695は私です。
0697デフォルトの名無しさん
NGNG直す必要も無いがする
0698LPCTSTRへのキャスト
NGNGCStringを渡すときは明示的な LPCTSTRキャストが必要、とMSDNにあるね。
0699デフォルトの名無しさん
NGNGアドバイスお願いします。
編集画面で、スペースや、タブ、改行、EOFなんかを見えるように
記号で表示する機能を、なるべく少ない労力で実装するには、
どうするのが良いでしょう?
何か参考になりそうなことがあれば、お教えください。
0700デフォルトの名無しさん
NGNGEDITコントロール使うの?
それとも自分で全部作るの?
MFC使うの?
いや、700とりたかっただけなんだがな
0701デフォルトの名無しさん
NGNGうーん。MFCは使おうと思うんですが、
(リッチ)エディットコントロールは使って可能であれば、
使いたいです。
というか、何から調べていけばいいのやら、
わからないという状態です。
これを実現しているソフトって、
普通は、全部自前で処理しているんですかね?
0702700
NGNGヽ(´ー`)ノ 700トレタウレシーナ
0703デフォルトの名無しさん
NGNGヽ(´ー`)ノオメデトウ
というか、RichTextコントロールの後ろの親ウィンドウに、
描画するとそれっぽく見える気がするけど、
それでいいのかしら?
0704700
NGNGヽ(´ー`)ノ ワーイ、アリガトウ
わかんないからここでもいってみたら
http://www.codeguru.com/editctrl/index.shtml
http://www.codeguru.com/richedit/index.shtml
>というか、RichTextコントロールの後ろの親ウィンドウに、
>描画するとそれっぽく見える気がするけど、
http://www.codeguru.com/richedit/Overlay.shtml
にてるね(多分、よくみてないし)
0705デフォルトの名無しさん
NGNGサンキュ。
でも、スマヌ。
やってみたら普通にRichEditコントロールに描画できました。
0706デフォルトの名無しさん
NGNG./;;;;;;;;;;;;;;;;;;;;∧;;;;;;;;;/>;;;;;;;;;;;;;;、;;;;iヽ.
./;;;;;;;;;;;;;;;;;;;;;;;;;/ i;;;;;;;/´ \;;;;;;;;;;;;;;|;;;ヽ.
|l ==== /;;;;;;;;;;;;;;;∧;;;;/′ !;;;;/.‐''~,;;'\|,, \;;;;;;;;;ヽ.
i| ,,,, // /;;;;/ |;/,,,~ 'V i|゜ .|l .゙'>;; ヽ;i、
.|! '''''== / .i;;;;ノ ;´″ .) ゙\,,,ノ" .|.] .|;;;l
=||=!!;;, /;;/ .゙'-=-" .i ゙,,ノ;;;;;
|i " /´| .,,,.--''''“゙゙゙~i、 「´;;;;;;;;;;
|| ヽ,.| r'"゙` .゙i、 /;;;;;;;;;;;;;;;
.l|,/ll .// ゙| .| ヽ,,/´;;;;;;;;;;;;;;;;;
||/ ヽ=" `\,,,,,| ._,,/;;;;;;;;;;;;;;;;;;;;;;;
ii :|;;;;\ .._,,,.--イ'''゙゙`/、;;;;;;;;;;;;;;;;;;;;;
|レ='''" .|;;;;;;;; ̄;;;;;;;;,/..!、,/:::|''\;;;;;;;;;;;;;;;;;
<< o Oo |;;;;;;;;;;;;;;;;;ノ i:::::゙゙゙:::::::::| \;;;;;;;;;;;
゙''==== ● |;;;;;;;;;;;;/ |::::::::::::::::::::| \;;;;;;;
0707デフォルトの名無しさん
NGNG上記にあるサンプルを組み込んでビルドすると、
'SPI_GETFOREGROUNDLOCKTIMEOUT' : 定義されていない識別子です。
と言うエラーメッセージが出ます。
#include "WINUSER.H"を追加してビルドしても改善されません。
WINVERの値を調べたところ0x0400となっていたので、これが原因だと
思っています。
以上までの背景から下記のどちらかを行いたいのですが、どのように
すればいいのでしょうか?
1.WINVERの値を0x0500以上に変更する。
2.その他の方法で上記エラーメッセージを回避する。
開発環境はWinMe+VC6です。
0708デフォルトの名無しさん
NGNG> 1.WINVERの値を0x0500以上に変更する。
> 2.その他の方法で上記エラーメッセージを回避する。
試してみればいいじゃん
0709デフォルトの名無しさん
NGNGどのように試せばいいのかよくわからなかったので、、、
#defineWINVER 0x0500
#include "WINUSER.H"
こうしても
ソース中の
int a = WINVER;
の値は0x0400となってしまいました。
0710707
NGNG1.VC6++の新規作成でMFCを使用したダイアログベースのアプリを
作成中。
2.707のサンプルを組み込んだのは"CxxxxDlg"
3.#define WINVER 0x0500を試したのも"CxxxxDlg"
4.int a = WINVER;を試したのはOnInitDialog関数内
以上のような状況です。
0711デフォルトの名無しさん
NGNG0712デフォルトの名無しさん
NGNG0713707
NGNGこれで上手くいきました。
どうもありがとう。
0714デフォルトの名無しさん
NGNGこれでは変わらない↓
SetWindowPos( hCombo, NULL, 0, 0, x, y, SWP_NOMOVE | SWP_NOOWNERZORDER );
エディットコントロール(ID=1001)の高さ変えてもだめですた...
0715デフォルトの名無しさん
NGNG0716デフォルトの名無しさん
NGNGLast-Modifiedでも見なさい。
0717デフォルトの名無しさん
NGNGフォントの高さに合わせられるんじゃないの?
それか、オーナードロー。
0718デフォルトの名無しさん
NGNGっていうか何でそんなことしたいのか理解できねえ。
0719デフォルトの名無しさん
NGNGこちらにも書かせてもらいます。
スレッドを使うLIBをDLLから間接的に呼び出しているのですが、
クライアントが終了すると、(DLL_PROCESS_DETACHに制御が移る前に)
LIBのスレッドがクリーンナップを経ずに強制終了してしまいます。
クライアント ==> DLL ==> LIB
DLL in
LIB in
クライアント in
クライアント out <<-- ここでLIBのスレッドが強制終了
LIB out
DLL out
スレッドを使っているLIBを安全にDLLから呼び出す方法はありますか?
もう一つ、クライアントでMFCを使っていると、LIBで確保しているメモリの
誤リーク検出をして、非常に鬱陶しいので、こっちもお願いします。
0720デフォルトの名無しさん
NGNGそのLIBには作ったスレッドを終了させる関数は用意されていないの?
LIB作ったやつに聞いたほうがいいと思うけど
0721699
NGNG再描画が必要になるつど、表示している文字の位置を全て計算しなおして、
デバイスコンテキストを取ってクライアント領域に描画していく方法では、
重すぎてダメでした。
もし、似たようなことを実現しているソースをご存知の方は、
お教えください。
今の方法を効率化していくしかないでしょうか?
0722デフォルトの名無しさん
NGNGもう少し詳しく何をやっているか書いた方がアドバイスしやすいと思われ。
その説明じゃ内部処理が重いのか描画が重いのかすら分からん。
0723デフォルトの名無しさん
NGNGemacsもvimもsakuraもソース公開されてるぞ
0724699
NGNGすみません...
コントロールはリッチエディットコントロールを使っています。
描画自体は、単純なドットとかで試しているので
重くはないと思います。
(別にスペースなどのキー入力を取って、
一字ずつ描画したりもしてみましたが、こちらは軽いです。)
リッチテキストコントロールのGetCharPosで、
文字位置を取得して全て描画するようにしているのですが、
多分これがまずいと思います。
配列に文字の座標を記録して、
必要のある分だけ配列に記録した座標を変更する
という方法を試そうかと思っているのですが、
どうも、発想から間違えている気がして相談しました。
スペースなどのフォントを自作して、その部分だけ、
入れ替えて誤魔化すとかできないかなとかも考えているのですが。
うーん...
>>723
ありがとうございます。探してみます。
0725デフォルトの名無しさん
NGNG>>723で紹介したのは全部自前で作ってる奴だ。
0726699
NGNGいえ。参考になります。
楽だと思ってリッチエディットで始めたのですが、
コントロールの機能自体と自作部分とで二重に描画することに
なるし、融通が利かなくて全然楽じゃないので、
中途半端に既存のコントロールを利用するより、
初めから作った方が良いかもしれません。
ちょっと、自分のサイトを更新するのが面倒で
ツールを作ろうと思っただけなのですが、
ますます面倒な深みにはまってる次第です...
0727722
NGNG俺もクライアント領域に自分で描画してやってるのかと思ったぞ。
リッチエディットでどこまでできるかは知らんけど、最終的に本格的なものを
考えているのならコントロールに頼らずに作るしかないと思われ。
0728699
NGNG紛らわしい書き方で、すみませんでした。
リッチエディットだと、
大きいファイルを読むと辛そうとか、不都合が多そうなので、
自作の線で行ってみます。
お二人とも、ありがとうございました。
0729デフォルトの名無しさん
NGNGまぁ、挫折しない程度にほどほどに。
ソースが簡単でわかりやすいエディタといったらUranusがある
たしかNoahの作者が作ってたものだとおもうから、検索してさがして。
ものすごく小さい(バイナリもそうだけど、ソースが)ので、
最初に見るのには良いと思う。
0730デバッガのデバッグ?
NGNGint _tmain(int argc, _TCHAR* argv[])
{
unsigned char a;
a = 130;
printf("%d\n", a);
return 0;
}
のプログラムでprintfの前でブレイクして a の値を
デバッガで表示させると、0 ってでる。
printfの実行結果はもちろん、130。
a の値が 60 とか、200だとデバッガでもちゃんと表示される。
なんでやねん!!!
0731デフォルトの名無しさん
NGNGまあ落ち着け
0732デフォルトの名無しさん
NGNG混合モードでどうなってるか見てみたら?
0733デバッガのデバッグ?
NGNG00411C80 mov byte ptr [a],0C8h
a = 130んとき;
00411C80 mov byte ptr [a],82h
で、これ実行するまえは両方共ごみがはいってて
この行実行後、a = 130 んときは、ローカル変数の
ウィンドウが 0 って変わる。200んときは200。
おそらく、デバッガの表示だけのバグかと思うんやけど、
どう実装したら、こんな不思議なバグが盛り込めるんだ?
こんな変なの俺のんだけ?
0734デフォルトの名無しさん
NGNG[VC70] 符号なし char型変数に代入された値 130 がデバッガで正しく表示されない
この資料は以下の製品について記述したものです。
・Microsoft Visual C++ .NET Standard
【現象】
例)
int _tmain(int argc, _TCHAR* argv[])
{
unsigned char a;
a = 130;
printf("%d\n", a);
return 0;
}
このようなプログラムで printfの前でブレイクし、a の値をデバッガで
表示させると、0 と表示されます。printfの実行結果は "130"です。
a の値が 60 や、200 など 130以外だとデバッガでもきちんとひょうじされます。
【状況】
マイクロソフトでは、この問題をこの資料の冒頭に記載したマイクロソフト製品の問題として認識しています。
0735デフォルトの名無しさん
NGNGダウンロード サイズ: 312kB
この修正プログラムによって、MSVC++.NETのデバッガで符号なし char型
変数に代入された値 130 がデバッガで正しく表示されないという問題が修正
されます。今すぐダウンロードして、130が表示されるようにしてください。
0736デバッガのデバッグ?
NGNG但し、上のパッチを投入しても131は正しく表示されません。
131を表示させるには Q456480 を参照してください。
笑)
どーやら 0x81〜0x9f の範囲やとあかんみたい。
で、ウォッチウィンドウの中で
(WORD)a
とかすると、ちゃんと130で表示される。
ますます、どーゆー実装してるか謎だな、VC++.NET
0737デフォルトの名無しさん
NGNGShiftJISで…対応する文字がない範囲だなぁ。
0738デバッガのデバッグ?
NGNGで、対応する文字がなかったら、値もなかったことにするのか(ーー#
0739デフォルトの名無しさん
NGNG0740デフォルトの名無しさん
NGNG0741デバッガのデバッグ?
NGNG730のコードは、単に分かりやすいようにサンプル示しただけ。
もしや、整数はすべてintって思い込んでる?
>740
BYTEなんて標準の型やないねんから、使うかどうかは、その時しだいだろ。
それに、BYTEでも結果はいっしょだぞ。
どーせ、突っ込むなら、>737のような、鋭い突っ込みを。
0742デフォルトの名無しさん
NGNG> もしや、整数はすべてintって思い込んでる?
なぜこんなレスをするのかわからん。
0743デフォルトの名無しさん
NGNG0744743
NGNG0745デフォルトの名無しさん
NGNGデバッガ上で関数からリターンするときに戻り値を無理矢理trueからfalseにしたりできますか?
0746デフォルトの名無しさん
NGNGできるっす
0747デフォルトの名無しさん
NGNG関数から戻った直後にクイックウォッチにある戻り値を書き換える
(整数なら)eaxを書き換える
お好きにどうぞ
0748デフォルトの名無しさん
NGNGありがとう
0749デフォルトの名無しさん
NGNG音量とテンポなどをかえるにはどうすればいいんですか?
0750デフォルトの名無しさん
NGNGそれぞれでの細かい制御はできない。やるんなら低レベルオーディオAPI使うか
DirectMusicを使え。低レベルオーディオならmidiOutOpenあたりでぐぐってみれ。
0751デフォルトの名無しさん
NGNG0752デフォルトの名無しさん
NGNG0753デフォルトの名無しさん
NGNGBOOL たぶん4バイト
bool たぶん1バイト
0754デフォルトの名無しさん
NGNG出直せ
0755bloom
NGNGhttp://www.leverage.jp/bloom/start/
0756デフォルトの名無しさん
NGNGだけじゃなかったっけ?(適当)
0757デフォルトの名無しさん
NGNGCでも使えるように、という意図かどうかは知らないけど、
そんな感じ
0758デフォルトの名無しさん
NGNG申し訳ないのですがこちらでも質問させてください。
StyleXPのようなソフトを作成しようとしております。
そこで手始めとしてシステムファイルの置き換えを行おうとしているのですが
OSのシステムファイル保護が働いてしまい、うまくいきません。
OSはWinXP Proで開発環境はVC++.NETです。
今まで試してみたのは、Administratorでログオンした後レジストリの
HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon に
SFCDisable を追加して DWORD値を 1 にした後
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce に
置き換えたいシステムファイルをコピーする実行ファイルを記述してから
再起動を行ったのですがやはり元のファイルに戻されてしまいます。
どのような手順を踏めばシステムファイルを置き換えることができるのでしょうか?
0759デフォルトの名無しさん
NGNG0760699
NGNGレス遅くなりましたが、ありがとうございます。
まだ画面表示部分しかとりかかってませんが、
自前で処理する方がかえって楽なようです。
実はC++歴が一ヶ月程度なので、いい練習にもなりそうな気配です。
0761デフォルトの名無しさん
NGNG後、.NETでは直っているのでしょうか?
0762デフォルトの名無しさん
NGNGwinAPI関数を利用して、YES NOクイズを作る。
Messageboxをつかって作るとあるのですが
どう造ればいいのかわかりません
おしえてくれませんか?
0763デフォルトの名無しさん
NGNGいや。
0764あ
NGNG>winAPI関数を利用して、YES NOクイズを作る。
>Messageboxをつかって作るとあるのですが
どこで見たか知らんけどあるというからには
あるんだろう。
書いてある通りやってみたら?
int iRet=MessageBox("君可愛い?","質問",MBICONSOP MBYESNO);
if(iRet==IDYES)
MessageBox("付き合ってください!!");
else
MessageBox("・・・・・・");
こんな感じなのかなぁ。
0765デフォルトの名無しさん
NGNGレスありがとうございます。
試しに RunOnce に
dllcache と System32 のファイルを置き換えるバッチファイルを登録してみたのですが
書き換わってくれませんでした。
どうやら思った以上に難しそうです...
0766デフォルトの名無しさん
NGNGsystem/readonly/hiddenを解除したか?
0767デフォルトの名無しさん
NGNGfriend 演算子の振る舞いがおかしかったりする時があったような。
SP 当てたら直ったような。
0768デフォルトの名無しさん
NGNG0769デフォルトの名無しさん
NGNG各属性を解除してみたところdllcacheは無事に置き換えができました。
しかし肝心のSystem32のファイルが使用中ファイルになってしまっているようで
上書きコピーができませんでした。
ただ、やり方はわかりましたので色々なページを参考にしてこれからやっていこうと思います。
どうもありがとうございました。
0770デフォルトの名無しさん
NGNGoperator
0771デフォルトの名無しさん
NGNGプロジェクト設定>リンク>一般>の所にある「プロファイルを行う」
のチェックボックスをチェックチェックしても、OKボタンを押した瞬間に
「プロファイルを行う」の文字列が「インクリメンタルリンクを行う」に
変化してしまいます。
そのままビルドしても、プロファイラを使おうとしたら「プロファイラを行う設定でビルドされてません云々」
となってしまいます。
0772デフォルトの名無しさん
NGNG確かコンパイルオプションのところに /profile を追加すればできたと思います。
便乗して質問なんですがVC++.netでプロファイラはどうしたら使えますか?
0773デフォルトの名無しさん
NGNGマウスで選択するのを諦めてホットキー(Alt+E)を押せばいい
0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNG自作スタティックリンクライブラリ(クラスライブラリになります)を作成して、
それを他から使うということをやろうとしてます。
ワークスペースの新規作成のときに「Win32 Static Library」を選んでやってます。
作成する自作クラスを Aとして、さらにそのAが内部で使う自作クラスをBとします。
当然 A.cpp B.cpp そして A.h B.h を作りますが、作成されるのは A.lib ですよね。
そしてライブラリを使用する側は A.lib A.h B.h をプロジェクトに入れる
ことになると思いますけど、ヘッダを一緒のファイルに書いたりってのはダメですか?
一つの *.lib に対して *.h が二つってのが何かスマートじゃない気がするんです。
0776デフォルトの名無しさん
NGNGべつにいいんじゃないの。(1つでも2つでも)
C.hを作ってそのなかに
#include "A.h"
#include "B.h"
って、書いて使うときはC.hだけインクルードするでもいいけど
0777デフォルトの名無しさん
NGNGA.hでB.hをincludeすれば良いんじゃないのかと…。
0778デフォルトの名無しさん
NGNGあぁ〜すみません言葉足らずでした。
>>777のように書いてるから、ライブラリ使う側は
A.hだけインクルードすればいいんです。
「使う側のプロジェクトに、二つのヘッダーファイルを用意させる」
というあたりがちょっと気になってるんです。
俺はあまり経験ないから変なこと気になってるだけで、
普通そんなもんだよ、ということならそれはそれでいいんです。
0779デフォルトの名無しさん
NGNGヘッダーファイル自体はプロジェクトに追加する必要は無い。
0781デフォルトの名無しさん
NGNGそれで、CListViewコントロール(レポート形式)にある項目を、ドラッグ元に出来るように
したいのですが、どのような手順が必要でしょうか?
0782デフォルトの名無しさん
NGNG#include "a.h"
#include "b.h"
0783781
NGNG記述して見ましたが、だめでした。
CSharedFile sf(GMEM_MOVEABLE|GMEM_ZEROINIT);
DROPFILES df;
df.pFiles = sizeof(DROPFILES);
df.pt.x = 0; df.pt.y = 0; df.fNC = FALSE; df.fWide = FALSE;
sf.Write(&df,sizeof(DROPFILES));
sf.Write("\0",1);
char path[_MAX_PATH];
strcpy(path,"C:\\test.file");
sf.Write(path,strlen(path)+1);
sf.Write("\0",1);
HGLOBAL hMem = sf.Detach();
COleDataSource *pSource= new COleDataSource;
pSource->CacheGlobalData( CF_HDROP , hMem);
DROPEFFECT result = pSource->DoDragDrop();
delete pSource;
0784デフォルトの名無しさん
NGNGよろしくお願いします。
0785784
NGNG0786デフォルトの名無しさん
NGNGラストオペレーション???
その操作をしたら、アプリが強制終了する・・・とか?
0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNGカコイイ!!
0789デフォルトの名無しさん
NGNG0790デフォルトの名無しさん
NGNG主語が違うので、意味が全然違う
0791デフォルトの名無しさん
NGNGchar a1;
char a2;
char a3;
char a4;
int i;
}
と
struct {
char a1;
int i;
char a2;
char a3;
char a4;
};
ではメモリのとられ方が違いますが、やはり意図的に上の方を書いたほうがいいのでせうか?
0792デフォルトの名無しさん
NGNG> ではメモリのとられ方が違いますが、やはり意図的に上の方を書いたほ
> うがいいのでせうか?
やりたいことによる。
0793791
NGNG下の方を意図的に使う理由ってあるのでしょうか?
0794デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNG0797デフォルトの名無しさん
NGNGファイル上のデータがそう言う配置になっていて、直接読み書きしたい時
等。まあ、パディング等のいやらしい問題があるので、VC なら
#pragma pack() を使う必要があるかも。
プログラム中でしか使わないなら、下の方を積極的に使う理由はないと思
う。
0798デフォルトの名無しさん
NGNG(´-`).。oO(なんで >>794, >>795 って書かないんだろう…)
0799デフォルトの名無しさん
NGNGどうだろう、みんな
0800デフォルトの名無しさん
NGNG ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ (´⌒(´
⊂(゚Д゚ )≡≡≡(´⌒;;;≡≡≡
⊆⊂´ ̄ ⊂ソ (´⌒(´⌒;;
 ̄ ̄ ̄ ズザーーーーーッ
0801デフォルトの名無しさん
NGNG ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ (´⌒(´
⊂(゚Д゚ )≡≡≡(´⌒;;;≡≡≡
⊆⊂´ ̄ ⊂ソ (´⌒(´⌒;;
 ̄ ̄ ̄ ズザーーーーーッ
0802デフォルトの名無しさん
NGNG下の方を意図的に使う理由を強引に考えれば、
「ちょうどintにあたる部分が4Byte境界にあって、1バスサイクル得する可
能性がある場合。」
かな?
ただこんなこと気にしてC使うんだったら、アセンブリ言語使った方が簡単。
実質、下を使う理由は無いと考えていいと思う。
0803デフォルトの名無しさん
NGNG> 能性がある場合。」
でもVCのデフォルトのままならどちらも4Byte境界にあるわな。
意図的に半端な境界に置かない限り。
0804デフォルトの名無しさん
NGNGうそです。
0805802
NGNGホントのところはどうなのかな。
802は間違いかも。
0806デフォルトの名無しさん
NGNGスタティックリンクしてexeを作成したいのですが出来ません。
確認したいのですがスタティックリンクするとmfc70.dllとmsvcr70.dll、無しで
VC.NETで作成されたソフトが動くんですよね?他のdll使わなければ。
ソリューションエクスプローラで該当のプロジェクトを右クリック->プロパティを
開いて、全般->MFCの仕様の項目で
「スタティックライブラリでMFCを使用する」
を選択しているのですが、それでコンパイルしても実行側PCで
前述の二つのDLLを要求され起動できません。
どこが間違っているのでしょうか?
それともスタティックリンクというもの自体をなにか勘違いしているのでしょうか?
ほんと困り果てています、ご指摘お願いします。
0807デフォルトの名無しさん
NGNGVC++ では、構造体のアライメントは「いずれかのメンバの最大のアライ
メント要件に合わせる」となっているから、普通に使っている限りは a1
は4バイト境界に配置される。更にディフォルトでは、最大7バイトま
でのパディングを行うから、下の例では a1 の後ろに3バイトのパディ
ングが追加されて、i も4バイト境界に置かれるので、>>802 のような
ことは起こらない。ただし、#pragram pack(1) とか、コンパイラオプ
ションの /Zp とかを使って、かつポインタをキャストしてわざと変な
ところに配置すれば >>802 のような事を起こすことは可能。
0808デフォルトの名無しさん
NGNG実行側がWin95とか。
0809806
NGNGいや、そんなことはないです。
困ってます。。
0810デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNG実行側がMacとか。
0812806
NGNGやっぱり設定あってますよね。
プロジェクトの設定ダイアログの
プレビュー撮って来ました。
見てもらえませんか?
http://www.geocities.co.jp/SiliconValley-Oakland/1693/a.jpg
これでビルドしたら起動側でmfc70.dllいらないはずですよね?
↓が上のプレビューの設定のままビルドしたやつです。
もしよかったら起動だけでいいので試していただけませんか?
Win2k上で試しましたがやはりmfc70.dllを要求され起動できませんでした。
http://www.geocities.co.jp/SiliconValley-Oakland/1693/test.lzh
なんでなんだろう。。
0813811
NGNGちょっとびっくり。
話は変わってexeを直接実行するのは、ちょっと抵抗あるんじゃないかな?
0814デフォルトの名無しさん
NGNGDependencyViewer で覗いた感じ、
MSTFUNC12.DLL (CBrowseForDirectory とか COutFile なるクラスが入ってる模様)
にリンクされてて、そのDLLがmfc70.dllを必要としているようだが。
0815806
NGNGすみません、あまり深い意味はないです。
確かにそうですね、exeは怖いですものね。
でもこうするしか方法が思いつかなかったんですよ。
プレビュー見ていただいて解決することが
一番の望みなのですが。
私自信あまりテストしていただける人、環境がないので
なにか勘違いしてるかもしれません。
一応弁護しておくとexeですが悪意のあるコードは
書いてないです。
よろしければ、、お願いいたします。
不可でもなにか確認事項などあれば
アドバイスいただければ幸いです。
0816806
NGNG目からうろこが落ちたかのような衝撃を受けています。
確認してきます!
0817806
NGNG確かにMstFunc12.DLLが作成する際の
設定がスタティックリンクになってませんでした。
そこで>812のプレビューと同じように
変更し、リビルドしたのですが、
結果は変わりませんでした。
絶対これだと思って喜んでいたので残念です。
ちなみにMstFunc12.DLLをスタティックリンクに変更した際、
/MDオプションをつけろ、とエラーが発生したので
つけました。
ほんとなんでなんでしょう。
0818デフォルトの名無しさん
NGNG0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNGそれが動かなければ設定に原因があるし、それが動けばコードに原因があるってことで。
0821806
NGNGそうですね、そういう方法思いつかなかったです。
今やってみたのですが、
1.ダイアログアプリ単体をスタティックリンク
成功(mfc70.DLL無しで起動)
2.自作したDLL(MstFunc12.dll)と暗黙のリンク
失敗(起動側でmfc70.dllを要求される)
でした。
MstFunc12.DLLの方の設定は使う側と同じで
MFCの使用欄は「スタティックライブラリでMFCを使用する」
が選択しています。
よくわかってませんがスタティックリンクする設定に変更すると
/MDオプションをつけろ、という警告が出たので/MDオプションを付けるよう変更しました。
MstFunc12.DLLは自作したよく使う関数、クラスなどをエクスポートしています。
SHBrowseForFolderなどをラップしたクラスなどです。
なぜMstFunc12.DLLはMFCライブラリとスタティックリンクする設定に
なっているのにいざ使用するときになるとmfc70.dlllを要求されるのでしょうか?
逆にどんなコードを書けばスタティックリンクしてるのにmfc70.dllを要求されるのでしょうか?
心当たりでも構いません、みなさまよろしくお願いします。
0822デフォルトの名無しさん
NGNGメ モ MFC を共有 DLL またはスタティック ライブラリのどちらで使用するかは、
[プロジェクト設定] ダイアログ ボックスの [一般] タブで設定します。
ただし、拡張 DLL は、MFC の共有 DLL バージョンで使用するように設計されています。
このため、拡張 DLL に対しては、この設定を変更しないでください。
0823デフォルトの名無しさん
NGNGその自作DLLはMFC拡張DLLかな?これもMSDNよりDLLを使うように設計されてるから、
設定でスタティックリンクにしても「DLLを使え(/MDをつけろ)」と怒られたのでは。
結果的に/MDをつけてビルドしたからDLLを要求されて当然、と。
0824806
NGNGわかりやすい解説ありがとうございました。
私のレベルではすんなり納得できる内容ではありませんが、
つまりはMFC拡張DLLの場合はスタティックリンクできない、
というふうに理解しておきます。
回避方法としては、MFC拡張DLLとして作られた
今のDLLを通常DLLとして作成しなおすことで
回避できそうなのでそっち方面で作業を進めていきたいと思います。
非常に助かりました。
ありがとうございました。
0825806
NGNGたった今mfc70.dllなしで起動できました!
今まで出来なかった原因は
>822-823さんの言われていたとおりで
>824に書いたとおりMFC拡張DLLから
通常DLLに変更したら無事解決しました。
ありがとうございました!
0826デフォルトの名無しさん
NGNGVaidateRectで無効領域をすべて有効化したとしたら、WM_PAINTはWndProcに送られずに、キューから削除されるのでしょうか?
WM_PAINTはキューに入るわけではないので、そのような動作はしない。
0828826
NGNGProgramingWindowsによればWM_PAINTはメッセージキューに送られると書いてありますが。
0829デフォルトの名無しさん
NGNG0830826
NGNGすみません。できれば内部的な動作も教えていただけるとありがたいのですが。
0831NONAME
NGNGつーか実験しる。
0832デフォルトの名無しさん
NGNG>>827は勘違いしていたとか。
0833デフォルトの名無しさん
NGNGWM_PAINTで描画した内容が更新リージョン内であれば反映されるけど、
更新リージョンが存在しないので、結果が表示に反映されないだけ。
具体的な実装を知らなくても別に構わないけどね。
ttp://msdn.microsoft.com/library/en-us/dnwui/html/msdn_getpeek.asp
ttp://www.codeproject.com/system/simpletime.asp
0835デフォルトの名無しさん
NGNGWS_〜といっしょに指定したいのですが、
どのビットを割り当てても良いのかさっぱりわかりません。
どこかに資料内でしょうか
0836デフォルトの名無しさん
NGNG知る方法がわからなくて困ってます
WM_NOTIFYやTreeView_HitTestあたりを調べてみましたが、うまくいきません
どなたか教えてください
VC6.0,SDKです
0837826
NGNGもうひとつだけ聞いてもいいでしょうか?
WM_ERASEBKGNDは、無効領域ができてWM_PAINTがWndProcに送られる前にWndProcに送られますが、
このメッセージはキューに入れられるのでしょうか?
それともWM_PAINTが送られるときに発生して送られるのでしょうか。
知っている方がいたら教えてください。よろしこ。
0838826
NGNGUpdateWindowはキューにWM_PAINTがあるかどうか見て、あるときにWndProcに送るのでしょうか。
それとも無効矩形があるかどうかで判定し、あるときはWM_PAINTを送る。メッセージキューにあるWM_PAINTは無効矩形がなくなったのでOSによって消される。
どちらが正しいのでしょうか。それともほかの動きをしているのでしょうか。
知っている方がいたら教えてください。お願いします。
0839デフォルトの名無しさん
NGNG更新領域が無くなってもWM_PAINTは破棄されない。
0840デフォルトの名無しさん
NGNG項目が選択されたというイベントを取りたいならTVN_SELCHANGED
今なにが選択されているか知りたいならTreeView_GetSelection
0841デフォルトの名無しさん
NGNG下位16ビット。
0842デフォルトの名無しさん
NGNGBeginPaintの中からSendMessageされる。
0843デフォルトの名無しさん
NGNGありがとう!
0844デフォルトの名無しさん
NGNGレスサンクスです!早速やってみます
0845デフォルトの名無しさん
NGNGト作るたびに追加するのが面倒です。
プロジェクトの新規作成のときにデフォルトで自分のライブラリを
参照するようにできませんか?
0846デフォルトの名無しさん
NGNGを*.hに書けばいいような
0847デフォルトの名無しさん
NGNG助けてください
0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNG0850デフォルトの名無しさん
NGNGFormが起動する前に、DOS窓が開いてしまいます。
このDOS窓が開かないようにするにはどのようにすればよいのでしょうか?
0851デフォルトの名無しさん
NGNGクラスを作成しました。
動作環境としてCStringなどのクラスを使用することは
何らかの制限がかかるのでしょうか?
つまりめんどくさいなどの理由で用意されているクラスを
多様しないの方がいいのか?という疑問です。
また、作成時スタティックリンク、ダイナミックリンク
どちらにしても動作環境は変らないのでしょうか?
作成したDLLを使用する際、VBで使うことも考えているのですが、
CStringとか使ったらVBで使えないようなイメージがあります。
そういうこと解説しているページ、その他アドバイスなどいただけませんか?
よろしくお願いします。
環境はVC.NETです。
よろしくお願いします。
0852デフォルトの名無しさん
NGNG0853851
NGNGいたって真面目なのでご教授いただけないでしょうか?
よろしくお願いします。
0854851
NGNG移動します。
板汚しすみませんでした。
0855デフォルトの名無しさん
NGNG0856デフォルトの名無しさん
NGNGポップアップメニューを表示させたいんですけど、
チェックボックスとかはClassWizardで見る限り
右クリックのメッセージを受け取ることが出来ませんよね?
こんなときは、どうしたら右クリックでポップアップメニューを表示できるようになるんでしょうか?
0857デフォルトの名無しさん
NGNG体調が悪いのですが答えさせていただきます。
WM_RBUTTONDOWNのメッセージの処理から呼び出せばすむだけかと。
0858856
NGNG体調が悪い中申し訳ありません。
それはつまり、ダイアログクラスに送られた
WM_RBUTTONDOWNのメッセージを監視すると言う事ですよね?
ですが、その方法ですとアクティブなチェックボックスの
上で右クリックをしてもメッセージがダイアログクラスに送られませんよね?
チェックボックスに関連したポップアップメニューを表示させたいと思っていますので、
アクティブなチェックボックスの上で右クリックした時に
WM_RBUTTONDOWNのメッセージをどこでもいいので受け取る方法を
教えていただけないでしょうか?
0859デフォルトの名無しさん
NGNGMFCは知らないんだけど、チェックボックスをサブクラス化して
そのメッセージを処理すれば?
ちなみに俺ならWM_CONTEXTMENUを使う。
0860856
NGNGありがとうございます。解決しました。
WM_CONTEXTMENUの存在を知りませんでした。
もう少しよく調べてから質問するようにします。
0861デフォルトの名無しさん
NGNG0862デフォルトの名無しさん
NGNGWebブラウザ上でそのコントロールを起動し、ブラウザとは別に新たなウインドウを作成し、その中で自分で作成したプログラム結果を表示したいので、よろしくお願いします。
もちろん、開発環境はVisualC++6.0です。
よろしくお願いします。
0863デフォルトの名無しさん
NGNGどうしたらいいってウィンドウを作ればいいじゃないか。
なにが聞きたいのかがわからん。
0864862
NGNGActiveXコントロールウイザードで作成されたサンプルプログラムでウインドウを作成するにはどうすればよいのでしょうか。
私は、MFCを用いてコンストラクタでウインドウを作成する自作クラスを作成したのです。
それを外部変数で定義すると、コンパイルはできるのですが、リンク作業で英語のエラーメッセージが発生するのです。
そのため、そのコントロールが動きません。
メッセージマップ:ON_WM_CREATE( )を新たに定義して、その関数内で自作クラスを定義しようしても、MSDNライブラリで定められている関数:afx_msg int OnCreate( LPCREATESTRUCT );の引数をどのように与えればよいのかがわかりません。
どのように作成すればよいのか、考え方を教えていただきたいのです。
0865デフォルトの名無しさん
NGNGすなおにDelphiつかえよ
0866デフォルトの名無しさん
NGNGマ板の歴史のなかで、具体的なエラーメッセージを出せなかった
香具師がマトモだった例は少ない。
0867864
NGNG想像でいいのでアドバイスお願いします。
0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNGまあまあ、キミがエラーメッセージを出さないから変な偽者がでるんだろ。
0870デフォルトの名無しさん
NGNG0871デフォルトの名無しさん
NGNGできます。
0872デフォルトの名無しさん
NGNGありがとうございました。
もうちょっと方法を調べてみることにします。
0873デフォルトの名無しさん
NGNGoffice製品についてくる OLE Controlのライセンスって
どうなっているんでしょうか
office製品を持っていないユーザに再配布出来るものでしょうか?
英文へのポインタでもかまいませんので心当たりがあれば情報をお願いします。
0874デフォルトの名無しさん
NGNGかちゅうしゃの 右下の書き込みがあるところは、なんですか
テキストボックスでしょうか
0875デフォルトの名無しさん
NGNGぼくのかちゅうしゃは上下2分割になっているので、右下がどれを指しているのか
わかりませぬ。
spy++でも使えば何か分かるんじゃないですか?
0876デフォルトの名無しさん
NGNGお願いします。
0877デフォルトの名無しさん
NGNGAppendMenu
0878876
NGNG早速ありがとう、調べてみます。
0879デフォルトの名無しさん
NGNGDialogBox(NULL,MAKEINTRESOURCE(ABOUT_DLG),hWnd,(DLGPROC)AboutDlgProc);
呼ばれた先の関数にパラメータを1つ増やして(FlgData *FlgIni)以下のようにしているのですが、
LRESULT CALLBACK OptionDlgProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp,FlgData *FlgIni){
DialogBoxの呼び出し側でこのパラメータを渡すのってどうやるのでしょうか?
DialogBox(NULL,MAKEINTRESOURCE(ABOUT_DLG),hWnd,
(DLGPROC)AboutDlgProc(
〜,
〜,
〜,
&FlgIni,
)
);
こんな感じで呼び出すとは思うのですが指定するパラメータがどうもわかりません。(汗
0880879
NGNG本筋とは関係ないので気にしないでください。m(__)m
0881879
NGNGお騒がせしました。m(_ _)m
0882デフォルトの名無しさん
NGNGプログラムでテキストプロパティを変更する方法が分かりません。
(可視、無効などが設定できるところ)
SendMessage()でやるんでしょうか?
0883デフォルトの名無しさん
NGNGIDC_DIALOG1をコピーして ID変えずに「言語:英語(ニュートラル?)」な
ダイアログリソースを用意しておけば、日本語以外の環境で実行したとき、
勝手にそっちが使われるんでしょうか?
0884デフォルトの名無しさん
NGNG( `Д) <EnableWindow()/ShowWindow()
/(ヘ つ )ヘ
0885デフォルトの名無しさん
NGNGhttp://support.microsoft.com/default.aspx?scid=KB;EN-US;Q169483&
0886デフォルトの名無しさん
NGNG文字列を設定する方法がわからないって言ってるんだろ?
>>882
[キャプション]に入力する。
0888882
NGNGうわ・・・こんなに簡単だったんですか!
ありがとうございます。
ついでに質問ですが、ダイアログにフォーカスが移ったときに、
アクセラレーターが使えなくなっちゃうのですが、どうすれば
使えるようになるのでしょうか?
開発環境はWin32SDKです。
0889885
NGNG日本語版もあったので載せとくね。
http://support.microsoft.com/default.aspx?scid=kb;ja;JP169483
0890デフォルトの名無しさん
NGNGモードレスダイアログ使う。
0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNGDLL で動的にリンク、DLL を用いないで静的にリンクをライブラリ毎に
設定することは可能でしょうか?
具体的には、boost の regex 関係のライブラリは静的にリンクし、MFC など
一般的なライブラリは動的にリンクしたいと考えています。
環境は Visual Studio .NET です。
0893デフォルトの名無しさん
NGNG無理です。
0894デフォルトの名無しさん
NGNGさみしいな。
0895デフォルトの名無しさん
NGNG0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNG消しても実行には問題ありませんが、再セットアップ時に再ダウンロードする必要があります。
0898デフォルトの名無しさん
NGNG0899デフォルトの名無しさん
NGNG独り言ですか?
つーかそんな変数名はつけるな。
0901デフォルトの名無しさん
NGNGVC++ではフォームの継承はできないんでしょうか?BorlandC++では
できたんですが・・・。C#ではできるらしいんですが、VC++ではひょっとして
できない?
0902煽り
NGNGBorland C++ では素ではできないと思われ
Borland C++ で実現したならその方法で VC++ でもできるかと
0903デフォルトの名無しさん
NGNG英語対応するためにダイアログリソースの複製を
英語(U.S.)などで作るとすごく縦長になりますが、
これを日本語と同じような高さにするよい方法があれば
教えていただけないでしょうか?
以下の理由で、英語のダイアログリソースを一つ一つ編集して
高さを調整するという方法は避けたいのです。
・英語化するダイアログが多数ある
→やたらと時間がかかる
・右下に表示される座標の値が日/英で違う値になる
→メンテが困難
よろしくお願いします。
0904デフォルトの名無しさん
NGNGフォント変えてみそ
0905デフォルトの名無しさん
NGNG0906903
NGNGありがとうございます。
フォントをArialからMS Sans Serifにかえてサイズを
2ポイントくらい小さくしたら
リソースエディタ上では日本語と同じくらいの
レイアウトになるのですが
実際にビルドして英語OSで動かすと
やっぱり縦長になってしまうのです。
0908デフォルトの名無しさん
NGNGMS PGothicにしてみたらどお?
手でリソースファイルを直さないとダメだけど,これならほぼ同じかと。
0909デフォルトの名無しさん
NGNGstruct Foo { int x; int y; int z; }; があって、その集合 std::vector<Foo> source; を
CBarDialog内に保持しているのですが、このベクタの内容をダイアログ上のCListCtrl
(か何か)に表示しているとき、画面表示とベクタの内容の同期をとるのに一番綺麗な
方法はどんなのでしょうか? vectorでなくて、MFCのコレクションを使うようにコー
ドを書き換えることは多分可能です。
教えてください。
0910デフォルトの名無しさん
NGNG同期の必要はない
0911デフォルトの名無しさん
NGNGOwnerDataでgoogleしてもほとんどhitしないのですが・・
なにか参考になるページへのポインタをいただけませんでしょうか...
0912デフォルトの名無しさん
NGNG何で OwnerData だけ検索して出ないって諦めるわけ?
0913903=906
NGNGありがとうございます。
MS Pゴシックでもダメでした。
ダイアログエディタ上は同じように見えるけど、
英語OSで起動すると縦長になってしまいました。
で、結局いろいろやってみて
Lucida Console
が日本語と一番近いと思われる
レイアウトになったので、これに決めました。
今いじってるアプリは初回起動時に
OSデフォルトのフォントが設定されるようになっており、
ユーザーによるフォントの変更も可能なので
とりあえずはこの内容で問題なさそうです。
みなさん、ありがとうございました。
091415ヶ月いまだ若葉マーク
NGNG他のアプリケーションの持っている変数に値を入れる、もしくは
手に入れることは可能でしょうか?(前者だけでいいです)
読み込み元 : ダイアログベース
他のアプリ : MDIのフレーム式
ぜひともよろしくお願い致ししますm(__)m
0915デフォルトの名無しさん
NGNG奪われてしまって難儀しているのですが、回避する方法はありますか?
WriteProcessMemory() で他プロセスのメモリを書くけど、普通どのメモリ領域が
目的の変数なのかわからないし、「他のアプリ」 の仕様がわからないなら何も
できないよ。
「他のアプリ」 も自分の作ってるプログラムなら、DDE とかウィンドウメッセージ
とかで通信した方が安全。
0917デフォルトの名無しさん
NGNG「MS Pゴシック」(日本語)じゃなくて「MS PGothic」(英語)で
やってみた?
これだとダイアログエディタ上では同じには見えなくなるが
動かすと一緒だったりすると思うのだが…
まぁ解決したようならいいか。
0918デフォルトの名無しさん
NGNG厨房だから
0920デフォルトの名無しさん
NGNGスタティックリンクライブラリを3つ(A.lib, B.lib, C.lib)と作って
C.lib (リンク)→ B.lib (リンク) → A.libという構造をとったら
『warning LNK4006 〜はB.lib(〜.obj)で定義されています。2 つ目以降の定義は無視されます。』
というリンク警告が発生してしまいます。
リンク警告を消す方法を教えてください。
0921デフォルトの名無しさん
NGNG0922デフォルトの名無しさん
NGNG920のレスだと思うんですが、回答ありがとうございます。
920の質問、言葉が足りなかったみたいなので補足します。
VC6で発生せず、VC7で発生するバージョン固有の問題です。
A.lib, B.lib, C.libのリンクは、全てライブラリで外部プロジェクトから参照を簡単にするためのヘッダーファイルを
用意し、#pragma comment(lib,〜)とライブラリに使われている全てヘッダーファイルをインクルードしています。
(ヘッダーの先頭に#pragma onceもつけてあります。)
他プロジェクトから使用するときには、ライブラリで用意したヘッダーファイルをインクルードしています。
今回の場合、A.libで作ったクラス(又は関数)をB.libでもC.libでも使っています。
#pragma onceを使っている以上、同じヘッダーファイルを何度インクルードしても、同じ定義が2重定義になるはずが
ないのですが...。
リンカーは直接(.obj)ファイルを参照しているため、「2重定義」と警告を出しているみたいです。
MSDNで書かれている対処方法も一通り試しています。
(MSDNの記述と状況を判断する限り、深刻な問題でもないようなので、気分の問題なのかもしれません。)
コンパイル警告なら#pragma warning(disable:〜)で警告を無視できるのに、リンク警告は警告を無視する方法すら判らないのです。
もちろん、警告を無視するのでなく、警告をなくすほうがベターなのですが。
0923デフォルトの名無しさん
NGNGチミはpragma onceの効能も、libの意味合いも判っていないものと思われる。
・libはdllと違い、所詮はobjが集まっただけのようなものである。
・pragma onceが有効なのは、1翻訳単位である。
よって、複数の翻訳単位の間では、当然定義は多重になりうる。
0924デフォルトの名無しさん
NGNGわかりにくいから使うのはやめてほしい。
知識人ぶってるだけ。
0925デフォルトの名無しさん
NGNG( ´,_ゝ`)フーン
>>922
どこかで同名の実体が複数作られてるはずだ。絶対。
ヘッダー内に書いていいのは一般的に、型や関数の宣言 (プロトタイプ)
か、inline 化できる定義だけなんだけど、それ以外のもの書いてないよな?
#pragma once は、同じファイルに対して同じヘッダーを 2 回以上読み込む
のを抑止するだけで、書いてある内容を 2 回以上コンパイルさせない機能
ではない。
0926デフォルトの名無しさん
NGNG回答レスありがとうございます。
確かに#pragma onceは1個のオブジェクトファイル作った時点で
無効になってしまいますね。
>>923
「スタティックリンクライブラリがオブジェクトファイルの集まり」
ということを忘れてました。
>>925
■A.libを参照しているB.libを作った時点で、A.libとB.libの両方に
同名の実体が出来て、A.libをC.libで使ったもんだから警告になった
のでしょうね。(エラー内容を見ると、そんな感じですので)
■確認してみたところ、ヘッダーファイルに指摘されたようなメンバー
関数・関数宣言をしているところは無いですね。
PS)インライン化している関数はなぜか警告が出ないんですよね。
現状と回答の結果を考慮すると、今のままでも問題ないかなぁ〜。
0927デフォルトの名無しさん
NGNG↑
この演算子ってなんて読むの?
0928デフォルトの名無しさん
NGNGスレ違い。
0929デフォルトの名無しさん
NGNG0930デフォルトの名無しさん
NGNGそだよー。って最初に言ったじゃんw
中身は単なるテキストだからメモ帳なりでエディットしる。
0931デフォルトの名無しさん
NGNGRasDialFunc1()はstaticで宣言してます。
0932デフォルトの名無しさん
NGNG何のメンバか知らないけど、RasDialFunc1() を friend にして、アクセスしたい
インスタンスの参照かポインタをグローバルに置けばいいんじゃない?
RasDialFunc1() の定義をいじれないなら、代理のラップ関数でも。
0933デフォルトの名無しさん
NGNG#define TBL_SIZE 100
と定義したコードを書いていて、
数学関数が必要になったので、
#include <math.h>
と付け加えたら「TBL_SIZEが再定義されています」
と警告が出るようになった。
math.hを検索してもTBL_SIZEなんて無いし、ヘルプで
見てもTBL_SIZEなんてないし、なんでだろう?
#include <math.h>
の行を消したら警告が出なくなるので、
これが原因であることは間違いないと思う。
0934デフォルトの名無しさん
NGNG以下コードで再現せず。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define TBL_SIZE 100
int main()
{
char buf[TBL_SIZE];
fgets(buf, sizeof(buf), stdin);
printf("%f\n", sin(atof(buf)));
getchar();
return 0;
}
あなたがおかしいと思っているところ以外の場所に問題があると思われ。
0935デフォルトの名無しさん
NGNGリビルドしたら出なくなりました。
おさわがせしました。
0936デフォルトの名無しさん
NGNG例えば、ActiveXコントロールのListViewというのはSysListView32に比べて
どういう利点や欠点があるのですか?
0937デフォルトの名無しさん
NGNGC++用のドキュメント自動生成 ツール付いてないのでしょうか?
(c#はあったと思ったんですけど)
0938デフォルトの名無しさん
NGNGおまいらよくこんなもん使えるな。頭が痛くなってくる。
0939デフォルトの名無しさん
NGNGバファリンないしタイレノールが足りないだけです。
0940デフォルトの名無しさん
NGNGVC.netの単体製品は判らないけどVS.netではVCに限り、機能限定ながらC#と同じ
ドキュメント自動生成ツール『XMLドキュメント』が使えるよ。
C#のようにコメント作成の補助はなく、全て手動で記述しないと駄目だけど...。
[ツール]-[Webページのビルドコメント]で実行。
.hファイル内で、コメントをつけるといいみたい。
// <summary>ベースクラス</summary>
// <remarks>ベースクラスの解説</remarks>
class CBase {};
// <summary>派生クラス</summary>
// <remarks>派生クラスの解説</remarks>
class CDerive : CBase {
// <summary>メソッド1</summary>
// <param name="arg">引数1</param>
// <returns>戻り値</returns>
// <remarks>メソッドの説明</remarks>
int Func(int arg);
};
0941デフォルトの名無しさん
NGNG正確ではないけど、こんな感じかな?
☆通常コントロール
Windowsが用意したGUI部品。
種類が少ない。(グリッドコントロール等は無い。)
☆ActiveXコントロール
標準コントロールを使いやすくしたもの。それ以外のものも多数ある。
種類が豊富。
メーカーが提供する独自ActiveXコントロールなどもある。
言語非依存。(COMに準拠してる言語。VB,VC等)
MSDNヘルプで日本語のヘルプがついている可能性が高い。
(VBでの使い方だが、基本的な使い方はVCも一緒)
レジストリに登録されていないと使えない。
(Win95,WinNTだと、標準でインストールされているActiveXは少なく
自分でインストールしなくてはいけない場合が多々ある)
通常コントロールより重たい。
通常コントロールで出来て、ActiveXだと出来ない処理があるときがある。
ListViewとSysListView32は比べたことはないので、自分で調べてください。
ActiveXになっている場合、大体は標準コントロールより使いやすいはずです。
0942デフォルトの名無しさん
NGNG> 言語非依存。(COMに準拠してる言語。VB,VC等)
「COM に準拠」 を 「非依存」 と呼んでいいかは疑問。
> MSDNヘルプで日本語のヘルプがついている可能性が高い。
具体的に何のコントロールを指してる?
それは ActiveX に対して一概に通用する?
> 通常コントロールで出来て、ActiveXだと出来ない処理があるときがある。
これって何の処理?
0943デフォルトの名無しさん
NGNGインテンドが、そろってしまってみにくくなるのですが,元のインテンドにするにはどうしたらいいですか?
0944デフォルトの名無しさん
NGNG> 一回コピーしてから,visual c++にテキスト文書のプログラムを貼り付けると
意味曖昧。
0945デフォルトの名無しさん
NGNGCygwinでも入れてidentでもかければ?
オプション細かく設定しないとなかなかお望みの結果にはならんだろうけど。
0946デフォルトの名無しさん
NGNGこまかいツッコミですね。
前もって「正確ではないけど」と書いておいたんだけど...
>言語非依存〜
ピュアJava以外でWindowsでGUI開発できるメジャーな開発ツールなら、ほぼ大丈夫だと
思って非依存と書いたけど、まぁJavaの例もあるし正確にはCOM準拠なんで書き足して
おいた。はじめから「COM準拠の言語」なんて書くと難しく感じるんで。
>MSDN〜
ListBox等のコモンコントロールやシェル系のコントロールのヘルプ。
VB6のヘルプと、VCでAPIのCreateWindowで作成する場合に調べるヘルプと比べてみて。
CreateWindowからリンクでたどってみると日本語のヘルプなんて全然無いから。
あとActiveXだからといって日本語で書かれているというわけではない。
古くからあり、よく使われそうなActiveXは日本語化されていることが多いってこと。
>通常コントロールで〜
標準コントロールをラッピングしたActiveXは、全ての操作が公開されているとは
限らないってこと。SysInfoというActiveXは、システム情報を簡単に取得できるけど、
ほんとに欲しい情報はAPIから直接入手する場合が多い。
0947942
NGNGコモンコントロールのラッパーの事言ってたわけね。
了解。納得した。
でも、ActiveX はコモンコントロールのラップの為にあるわけじゃない。
なのに、いきなり SysListView32 をラッパーと決め付けて、コモンコントロール
との対比をするのはどうかと思うよ。
コモンコントロールとそのラッパーの対比だと、明記してるならともかくね。
あの説明だと ActiveX について誤解を招くよ。
少なくとも漏れは誤解した。
0948デフォルトの名無しさん
NGNGVCでF1検索出来なくなりましたがそういうもんなんですか?
0949デフォルトの名無しさん
NGNG2002/01 版が無いから何とも言えないけど、ツールのオプションのヘルプシステムは
どうなってる?
0950デフォルトの名無しさん
NGNG2002年1月以降のMSDNには
.Net 専用と書いてあったような気が。。。
0951デフォルトの名無しさん
NGNG2002年1月は.NET。書いてある。
0952デフォルトの名無しさん
NGNG2001年10月版はリンク切れが激しくない?
俺は2001年4月版を使ってる。
0953948
NGNGおとなしく2001年版使っときます。
0954デフォルトの名無しさん
NGNG>November 2001 Edition
だな…
0955デフォルトの名無しさん
NGNG0956デフォルトの名無しさん
NGNGいつもSDKごと入れ替えてたから知らんかった…
0957デフォルトの名無しさん
NGNG0958デフォルトの名無しさん
NGNGhttp://www.zdnet.co.jp/news/0211/09/nebt_08.html
>C++コンパイラは、ISOが6年前に設定した標準に初めて大部分準拠する。
>MicrosoftはC++コンパイラについて同標準に90%準拠済みだとしていたが、
>新版では98%近い準拠になる。
0959デフォルトの名無しさん
NGNG漏れには立てられない。
次こそはスレタイ 「Visual C++ 相談室」 にしてくれよ。
0960デフォルトの名無しさん
NGNG初心者用VCスレもあるしWin32APIスレもあるしMFCスレもあるしATLスレもあるし
0961デフォルトの名無しさん
NGNG新スレ
VisualC++ 相談室【9】
http://pc3.2ch.net/test/read.cgi/tech/1036897197/l50
0962小人
NGNG0963小人
NGNG0964小人
NGNG0965小人
NGNG0966小人
NGNG0967小人
NGNG0968小人
NGNG0969小人
NGNG0970小人
NGNG ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ (´⌒(´
⊂(゚Д゚ )≡≡≡(´⌒;;;≡≡≡
⊆⊂´ ̄ ⊂ソ (´⌒(´⌒;;
 ̄ ̄ ̄ ズザーーーーーッ
0971小人
NGNG0972小人
NGNG0973小人
NGNG0974小人
NGNG0975小人
NGNG0976小人
NGNG0977小人
NGNG0978小人
NGNG0979小人
NGNGランタンタンタンタン♪ ランタンタンタンタン♪
0980小人
NGNG ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ (´⌒(´
⊂(゚Д゚ )≡≡≡(´⌒;;;≡≡≡
⊆⊂´ ̄ ⊂ソ (´⌒(´⌒;;
 ̄ ̄ ̄ ズザーーーーーッ
0981小人
NGNG0982小人
NGNGランタンタンタン♪
0983小人
NGNG0984小人
NGNG0985小人
NGNG0986小人
NGNG0987小人
NGNG0988小人
NGNG0989小人
NGNG0990小人
NGNG ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ (´⌒(´
⊂(゚Д゚ )≡≡≡(´⌒;;;≡≡≡
⊆⊂´ ̄ ⊂ソ (´⌒(´⌒;;
 ̄ ̄ ̄ ズザーーーーーッ
0991小人
NGNG0992小人
NGNG0993小人
NGNG0994小人
NGNG0995小人
NGNG0996小人
NGNG0997小人
NGNG0998小人
NGNG0999小人
NGNG1000小人
NGNG人 ││ ●\ ●\
ノ二\ ナ ゝゝ V ●●● ●\ ●\
/ / 乙 つ O ●\ ●\ ●\ ●\
●●● ●\ ●\ ●\ ●\
●\ ●\ ●\ ●\ ●\ ●\
●●\ ●\ ●\ ●\ ●\ ●\ ●\
●\ ●\ ●\ ●\ ●\ ●\ ●\
●\ ●\ ●\ ●\ ●\ ●\ ●\
●\ ●\ ●\ ●\ ●\ ●\ ●\
●\ ●\ ●\ ●\ ●\ ●●● \
●\ ●\ ●\ ●\ ●\ \\
●\ ●\ ●\ ●●● \
●\ ●\ ●\ \\\
●\ ●●● \ ┌┐ ┌┐
●\ \\\ ┣━┳┃┃ ┃ ││ ││
●●●\ ┃ ┃┃┃ ┣┓ ━╋ ━╋ V V
\\\\ ┛ ━┛ ┃ ┏┫ ┏┫ O O
(´´
/■\ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。