VisualC++相談室 3
レス数が1000を超えています。これ以上書き込みはできません。
0001いさましいチビの女
NGNG旧スレッド
http://piza.2ch.net/test/read.cgi?bbs=tech&key=981630730&ls=50
0002デフォルトの名無しさん
NGNGピクチャーを置いただけではボタンも隠れてしまいます。
どうしたら良いですか?
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNGダイアログエディタでボタンが上に見えるように置いても
実行すると隠れてしまうんです・・・
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNGダイアログボックスをサブクラス化して、WM_PAINT乗っ取れ
0007デフォルトの名無しさん
NGNGが正解。(というか管理が楽)
付け足すなら、ダイアログボックスのフラグに子窓をクリップするか
どうかってのがあるから、それ入れとかないとチラつく。
0008デフォルトの名無しさん
NGNGコンピュータの理解を深め、プログラミングも上達するための
初心者向けの課題は何かないでしょうか?
0009デフォルトの名無しさん
NGNGでも、そんなのいきなりは無理だよね。
最初は自分の作りたい物作ったら?
私なんかはBCBで、某エロゲー会社のセーブデータ保存ディレクトリ変更ツール作ってたりとかしたけど。といっても、内容はレジストリのエントリの値を変えるだけ。
それでも改造して遊んでくうちにプログラムのコツとかもわかっていくよ。
0010デフォルトの名無しさん
NGNGスイッチを押すとLEDが点灯するプログラム書くだけでも
コンピュータの理解は深まるぞ。
00118
NGNG8です。
書き込みありがとうございます。
プログラミングは面白いんですけど、コンピュータに関する知識が
なさ過ぎて、いまいち何をしたらいいのか分からず
目的がない状態だったもので。
コンパイラですか?面白そうですね。あとエミュレータなんかも
自分で作ってみたらきっと面白いんだろうと思います。
参考としておすすめの本などありましたら、おしえて下さい。
00128
NGNG8です。
>ワンボードマイコン買ってこい。
ワンボードマイコンってどういうものなのでしょうか?
なんか単純な作業でもささやかな喜びを感じれそうな作業はすきです。
0013デフォルトの名無しさん
NGNGそう!エロこそがプログラム上達の最強の原動力ナリ
0015デフォルトの名無しさん
NGNGっていうか座標決め撃ちどかーんってできないの?
それともプログラムの中でCreateするときに指定してあげるの?
それともそれとも付属のリソースエディタは使っちゃダメなの?
0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGどうすればよいのでしょうか。あと、メッセージループのなかに描画等を入れてよいのでしょうか。
while(GetMessage(-----------)){
/*ここに描画や移動を入れる*/
TranslateMessage(--------)
DispatchMessage(---------)
}
0018デフォルトの名無しさん
NGNGダメです。
GDIに迎合するなら描画はWM_PAINTでやって下さい。
一定周期ごとに再描画が必要ならWM_TIMERかなんかで
一定周期ごとにInvalidateしてください。
0019デフォルトの名無しさん
NGNG0020ツッコミが無いので
NGNG>コンパイラ 〜
>ワンボードマイコン 〜
?
・・ちょっと待て
0021デフォルトの名無しさん
NGNGいや、とりあえずまちがっちゃいないだろ(w
0022も
NGNG「ハード面での知識を得たい」というのと
「ソフト面(例えばアルゴリズム)の知識を得たい」というのとでは
適切な教材は違ってくるわな・・・
全般的な知識だったら、情報処理試験を合格できるような受験勉強をすればいいし。
0023デフォルトの名無しさん
NGNG0024厨房
NGNGはコンポーネント等があるのでしょうか?
それとも、ダイアログのクラスにシコシコとコーディングでしょうか?
0025デフォルトの名無しさん
NGNGプロパティーシート
0026デフォルトの名無しさん
NGNGプロパティシートだ、鬱。
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNG方向キーの受付がかなり不自然になってしまいました。
WM_KEYDOWNを捕まえているのですが、キーが押されているかどうかを
もっとスムーズに知る方法を教えてください。
0029も
NGNGSHORT GetAsyncKeyState(int vKey);
引数 vKeyで指定されたキーが、
「今現在」押下されているかどうかを判定する。
Asyncというのは非同期(Asynchronous)の略で、
「メッセージキューの内容と非同期である」ということ。
戻り値は16ビットの整数値で、
最上位ビット(&0x8000)が、1の時が押下状態、0の時が非押下状態。
最下位ビット(&0x0001)が、1の時がトグル状態、0の時が非トグル状態
0030デフォルトの名無しさん
NGNGひらがなや漢字などの2バイトの文字がうまく送れません。
なにか方法があるのでしょうか。おしえてください。
0031デフォルトの名無しさん
NGNGWM_IME_CHAR使え
003230
NGNGはい、使ってみます。
アリガトウございました。
003328
NGNGありがとうございます。ところでトグル状態とは何でしょう?
0034>33
NGNG0035デフォルトの名無しさん
NGNGボタンステイタスのどのパラメータを使えば複数行になるんでしょうか?
標準のボタンだとプロパティのスタイルタブにある複数行をチェックすれば済むのですが・・・
BS_MULTILINEでは改行されないんですけど・・・なんで?
0036デフォルトの名無しさん
NGNGBS_MULTILINEでされるハズ
多分、天候のせいでしょう。
0037デフォルトの名無しさん
NGNG\r\nで改行・・・・だよね?
0038デフォルトの名無しさん
NGNGもちろん、でもボタンのキャプションにそのまま\r\nと出ますけど・・・
003928
NGNGSHORT GetAsyncKeyState(int vKey);
でいろいろ試してみたのですがvKeyで指定したキーをずっと押し続けいても
常に押下状態と返すわけではなく最上位ビットが0だったり1だったりするのですが
こんなもんでしょうか?
0040デフォルトの名無しさん
NGNG作りたいのはオペレーターが自分で機能付きのボタンを好きなところに貼れるアプリなんです。
テキストにボタン名、機能(あらかじめ決まってる5種類位、_CMD_Add_とか書く)、ボタンの位置、大きさ
を書くと
起動時にそのテキストを読んでユーザーのお好みでボタンを配置出来るというものなんです。
int buttonNumber;
CRect buttonRect;
CString buttonName;
UserButton[buttonNumber]->Create(buttonName, BS_OWNERDRAW | BS_PUSHBUTTON | BS_MULTILINE | WS_VISIBLE, buttonRect, this, __USER_BUTTON_ID__+buttonNumber);
でやっても駄目なんですけど・・・
0041デフォルトの名無しさん
NGNGオーナードローでもテキストって出んの?
0042デフォルトの名無しさん
NGNG'function1' : 関数テンプレート 'function2' を関数の引数として使用できません。
これってANSIの仕様ですか?
ごっついむかついちゃった。どうしよう・・・
004339
NGNG鬱になった。
0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNGどのようになっているのでしょう?
例えば、ここでクリックしたファイルのファイルパスをダイアログボックスで
表示するようにしたい場合は、どのようにしたらよいでしょうか?
もしご存知の方がいましたら、よろしくおねがいします。m(_ _)m
0046デフォルトの名無しさん
NGNGCHogeDoc::OnOpenDocument() じゃだめ?
もっと前で捕まえたいなら、OnOpenDocumentにブレークポイント入れて、
そこでコールスタックを見て、適当な場所を探す。
0047eij
NGNG仮想画面にビットマップを転送しておいて、(再)描画時
に仮想画面から通常画面に転送するといったことを
しております。
初期描画:PatBlt→仮想画面、BitBlt→仮想画面、仮想画面→BitBlt
再描画時:仮想画面→BitBlt
としてます。
ここで、仮想画面に対して"PatBlt"を使った直後、残メモリが
ちょうど画像の サイズ分減少します。
"PatBlt"をコメントで抜いた場合は 仮想画面に対する"BitBlt"の
直後に同じように残メモリが減少します。つまり仮想画面に何か
データを転送した時点で起こります。 画像のサイズには関係なく
起こる症状です。 何が原因でこのような症状になるのかご教示
いただければありがたいです。
なお、残メモリは、"GlobalMemoryStatus"api関数で調べております。
以上よろしくお願いいたします。
0048デフォルトの名無しさん
NGNGどっちのスレで答えて欲しいのかも書いといてください。
0049eij
NGNG0050デフォルトの名無しさん
NGNG別処理実行してったり、終了時には開放されると思うが。
0051
NGNGMOやメディアリーダーと区別したいのですが・・・。
0052デフォルトの名無しさん
NGNGCView上に、CButtonをクリエイトしたんだけど、
CViewがBitBltするとボタンが消えちゃいます。
マウスポインタをボタン上に持っていくと突然現れます。
どうすれば、ずーっとボタンを出ているように
することができるのでしょうか?
0053デフォルトの名無しさん
NGNG>CViewがBitBlt
CViewにBitBlt ?
GetDC()がクリッピングをしないからです。ボタン位置のリージョンを作成し
反転してDCにSelectObject する。
こんなめんどくさいことは通常しません。
描画タイミングをペイントメッセージ時(OnDraw)にするか、ボタンに対して
Invalidate-Updateをかけてやりましょう。
0054追記
NGNGそれでだめならCViewのスタイルにWS_CLIPCHILDREN を追加しましょう
それでだめならCFormView を使いましょう。
0055eij
NGNG"DeleteObject"することによって解放されることを確認しました。
DeleteDC->DeleteObjectの順番なら成功(解放)するがその反対なら
失敗(リーク)する。こんなことってある?
今、24bit色のディスプレイ設定で、8bit色5MBの画像を表示する場合、
CreateDIBitmapで15MB、仮想画面で15MBの、都合30MB消費する
のですが、こんな設計は逝ってよしでしょうか?
0056デフォルトの名無しさん
NGNGDC に Select されている BITMAP (等) は DeleteObject できません。
ドキュメント読んだ?
0057デフォルトの名無しさん
NGNG↑これ余計でした。心が荒んでいたもので。
ごめんなさい。
0058デフォルトの名無しさん
NGNGやっとなんとなく状況理解
SelectObject(hdcMem, oldbm); はやりましたか?
005958
NGNGテキトーにアレンジして
HDC hdcMem = CreateCompatibleDC(_draw_handle) ;
HBITMAP hbm = CreateBitmap(tw, th, 1, 1, NULL) ;
HBITMAP oldbm = (HBITMAP)SelectObject(hdcMem, hbm) ;
BitBlt(hdcMem, 0, 0, tw, th, xxxMem, 0, 0, SRCCOPY) ;
SelectObject(hdcMem, oldbm) ;
DeleteObject(hbm) ;
DeleteDC(hdcMem) ;
006058
NGNGちょうだい、じゃ
0061デフォルトの名無しさん
NGNG言葉で説明するよりも該当部分のソース見せたほうがアドバイスもらいやすいと思うけど (w
0062eiji
NGNG思います。今家なので確認は出来ないのですが。
>>61 そうですね、かなり混乱してて、デバッグ用のコードを
埋め込んだりしてソースがかなり汚くなっているので、整理して
簡潔にアップしたいと思います。ちなみに >>55 の最後で書いてる
このような設計自体に関してはどうでしょうか?逝ってよし?
皆さん色々ありがとう!こんなにレスつくとは思っていなかったので
励みになります。ではまた明日来ます。
0063デフォルトの名無しさん
NGNGソースがないとその判断もできないって
0064デフォルトの名無しさん
NGNG直した方が良いけど、メモリリークだけなら終了時にゃ解放されるんで
連続して際限なくリークし続けるんでなければ、ごまかして納品されてる
ものは結構あんでしょ。今びなら30Mならまあ別に。
リソースリークでハンドル減ってんだとあんまし良くないと思う。
0065デフォルトの名無しさん
NGNGメモリ食う食う、言ってウルサイ客もいるね。説得するのがタイヘン
0066eiji
NGNGなお、現状では
メイン画面:CreateDIBitmap、オフ画面:CreateCompatibleBitmap
としてるんですが、メモリの消費がディスプレイ設定にかなり依存しております。
これはどのように思われます?
0067も
NGNG全部を表示するためには、
どうやったってメモリ上においておかなくちゃいけないし・・・。
表示領域が一部分だけなのなら、バンディングでもしたら?
としか答えようがない。
昔だったら、GlobalNotifyでも使ってスワップアウトすれば・・・
とでも答えられたのだけど・・・
0068eiji
NGNGことね。まぁ、用途に応じてってことですか。今スピードよかスペースが問題
になってきてるので、仮想画面なしの、DIB生成(CreateDIBSectionあたり)と
しますわ。
0069デフォルトの名無しさん
NGNGプリコンパイル済みヘッダを使用しているプロジェクトと、
使用してないプロジェクト(VC++以外等)で変更無しで両用出来るように、
#include "stdafx.h"
をうまくマクロで制御出来ないでしょうか?
以前、どこかで見た気がして、いろいろ検索したのですが発見できませんでした。
ご存知の方いましたら、お教えください。
0070VC++
NGNG遅レスですが・・・・・
ボタンのタブオーダーをピクチャーの後にして
(たとえば、ピクチャーが7ならボタンが8)
ボタンの上にピクチャーを置けば良いかと・・・・・・
実行前はボタンは隠れてますが実行後は表示されます。
0071デフォルトの名無しさん
NGNGVCは何も設定しなくても並列コンパイルなるものをやってくれる
んでしょうか?なんか特殊なやり方が必要なんでしょうか。
StandardEditionだと出来ないとかだったらイヤだな(TwT
知ってる方教えてくだちい。
0072デフォルトの名無しさん
NGNGスレッド分ければOSが勝手にCPUリソース使ってくれるはず。
ただ、9x系はデュアルCPUサポートしてないんじゃなかったかな。
NT系じゃないとダメだったはず。
0073デフォルトの名無しさん
NGNGCViewのウィンドウスタイルを変更して
を子ウィンドウをクリップするという手もある
0074デフォルトの名無しさん
NGNGあ〜〜!そっか。
タブオーダーって表示の優先順位じゃなくて表示の順番になるのか・・。
ダイアログエディタだとタブオーダーの逆順に表示されるのに・・・。
サンクス!やってみます
0075も
NGNG汎用機じゃないから、別段CPUの数は意識しなくてもいい。
昔のNT4.0だと、Workstationで2CPU、Serverで4CPUまでOSが対応してくれる。
マルチスレッド処理を記述すれば、
優先順位に応じて空いているCPUを自動的にスレッドに割り振りしてくれるよ。
# あんまり賢いスケジューリングじゃないけど。
但し、マルチCPUの場合、
本当に複数のスレッドが同時に動くから、排他制御を
厳密にチェック・テストする必要があるね。
0076ななしさん
NGNG並列計算はできない。
アプリケーションが複数のスレッドを使えるだけ。
007771
NGNGえーと・・・・・
VC(てかコンパイラ)そのものがマルチスレッドアプリケーションってことで
いいんでしょうか。まだ少しよくわかんない・・・・・
自分でコード書いてビルドしたアプリがマルチスレッドで動作するかどうか
ではなくて、
VCのコンパイラがマルチスレッドでコードを高速にコンパイル(並列コンパイル)
してくれるかどうかが知りたかったんですが。
対応マザーにCPU2つブッ差せばVCは嫌でも並列コンパイルやってくれる、
ってことでいいんでせうか?(w
バカですんまそん。
0078デフォルトの名無しさん
NGNG1つの翻訳単位をコンパイルした場合はかなり高度なことやらなくちゃいけなそうなきがするなぁ。
普通に使う場合、コンパイル作業の7割くらいは1翻訳単位のみビルドだと思うから、
結構この差は大きそう。
0079デフォルトの名無しさん
NGNGスレッド数を見たら?
gmake つかえば make -g あたりで並列コンパイルじゃなかったっけ。
自分でmakefile準備しようぜ
0080デフォルトの名無しさん
NGNG必ず並列環境で開発しようね。うん。
よけいなお世話?
0081デフォルトの名無しさん
NGNG書き込んだアトでも勘違いしたと思ったら、訂正した方が良いと思うが
アンマリひきずらんで
0082デフォルトの名無しさん
NGNG0083も
NGNGいや、鳥
0084も
NGNGVC++にそんな器用な芸当が出来るのか?
プリコンパイルドヘッダとか、インクリメンタルコンパイルくらいしか
見当たらない。
0085デフォルトの名無しさん
NGNG0086デフォルトの名無しさん
NGNGでもコンパイル中でもWEBみてMSDNみて、いろいろできるね。
快適に。
ああ、でも、恩恵にあやかりたかったらHDDは分けとこうね。
パーティションじゃないよ。物理的にね。
0087デフォルトの名無しさん
NGNGReleaseとDebugを同時にリビルドするとか。
言ってる自分が馬鹿馬鹿しいが。
0088デフォルトの名無しさん
NGNGファイルの書き込み速度以上に速くならないって。
008971
NGNGいやはや、たくさんのレスありがとうございます。
makefileのことちょっと調べてみます。
どもです!
0090デフォルトの名無しさん
NGNGwin屋はwinが当たり前だと思ってることがある
俺もVC屋だけどホンマに的外れ多いよ
0091デフォルトの名無しさん
NGNGための技術だと思ってね。
コンパイラ向きじゃないと思うのよ。うん。
IDEの方はマルチスレッドの恩恵を受けてるけど、cl.exeとそいつが呼び出す
下のプログラムはマルチスレッド対応してないとおもうよ。
恩恵があまりないからね。
で、gmakeで並列コンパイルしたとしてもメモリをたくさん食うだけで、
ファイル読み込み時間の合計はかわらんし、書き込み速度もかわらん。
たぶん君が使ってるCPU内のキャッシュメモリもあふれてかえって
遅くなってる可能性もあるよ。
0092デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNGダイアログ上のボタンを自動的に押したりとかさせたいんですが、
その動作をどうやって実現させるかがわからなくて困ってます。
何か良い方法は無いでしょうか?
0094デフォルトの名無しさん
NGNGVCスレだから許せ。
0095デフォルトの名無しさん
NGNGたとえば、LBUTTONDOWNを送って、その後、LBUTTONUPを送れば、
「マウスでクリックした」という偽造メッセージを送れる。
ただし、送り先は対象となるボタンのウィンドウハンドルに送らないとダメみたい。
ちなみに、KEYDOWN, KEYUPはダメだった。
こっちの方法知ってる人いたら教えて欲しいです。
0096デフォルトの名無しさん
NGNGmouse_event(MOUSEEVENTF_MOVE|MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTDOWN,65536*x/GetSystemMetrics(SM_CXSCREEN),65536*y/GetSystemMetrics(SM_CYSCREEN),0,0);
0097デフォルトの名無しさん
NGNGkey_eventを使う。
0098デフォルトの名無しさん
NGNGボタンクリックをエミュレートするなら、ボタンにBM_CLICKを送るだけいい。
または、そのボタンを押したときに発生するWM_COMMANDを親のダイアログに直接送る。
ボタンがへこむアニメーションも再現したければ、BM_SETSTATEを使え。
0099デフォルトの名無しさん
NGNGどっちでビルドした方がいいとかいうのはありますか?
0100デフォルトの名無しさん
NGNGまさか Win9x/Me 上でマジで開発しよう…なんてこと、考えてないだろうな。
いや、まさかとは思うが、念のため...。
0101デフォルトの名無しさん
NGNGいや、Win2kでビルドしたら動かずに、WinMeでビルドしたら動いたもんで。
詳しくはおいおい調査してくけど・・・。
0102デフォルトの名無しさん
NGNG最小化ボタンのアニメーションは再現できないんでは?
0104デフォルトの名無しさん
NGNGできればCRectで受け取りたいんですけど・・・
0105デフォルトの名無しさん
NGNGGetWindowRect
0106デフォルトの名無しさん
NGNGそれって
「Win2kでビルド→Win2k:×、WinMe×」で
「WinMeでビルド→Win2k:○、WinMe:○」ってこと?
0107デフォルトの名無しさん
NGNGそうですよね。その筈なんですけど
CRect BRECT;
CButton *myBT = (CButton*)GetDlgItem(IDC_BUTTON);
myBT->GetWindowRect(BRECT);
COXRoundedButton*Test = new COXRoundedButton();
Test->Create("Sample", BS_OWNERDRAW | BS_PUSHBUTTON | WS_VISIBLE, BRECT, this, ID_SAMPLE);
とやると位置がズレルのは何故何でしょうか?
0108デフォルトの名無しさん
NGNG「Win2kでビルド→Win2k:○、WinMe×」
「WinMeでビルド→Win2k:?、WinMe:○」
っす。
Meでビルドしたのはまだ2kに持って来てないっす。
010993
NGNGありがとう!
試してみたら、LEFTUP→LEFTDOWN→LEFTUPの順でやるとうまく動かせました。
(LEFTDOWN→LEFTUPだけだと、なぜかドラッグしたことになってしまった)
>98
最初、それでいこうかと思ったんだけど、
結局メッセージ送りつける相手のハンドルがわからなくて断念しました。
0110106
NGNGその場合、インストール(&使用)されているコンポーネントは本当に一致している?
わりとその辺で動作が違うのだと思う。まぁOS依存動作もあるけど、それはヘルプ見て確認してるんだよね?
0111デフォルトの名無しさん
NGNGCWnd::ScreenToClient()
CWnd::ClientToScreen()
この辺調べて見れ。
Createする場合、Windowのローカル座標で作るんじゃなかったか?
0112デフォルトの名無しさん
NGNG使うAPIにもよるよ。
ちゃんとヘルプとか読んでるの?
0113デフォルトの名無しさん
NGNG0114デフォルトの名無しさん
NGNGう〜ん、CreateFileでCOMポート開いてただけなんだけどなぁ(^^;
当然HELPは読んでるけどね。
結局、
「Win2kでビルド→Win2k:○、VCインストール前のWinMe×、インストール後のWinMe○」
ってことで、なんか足りなかったのかなぁ??
再現させるにはまたWinMeのインストールからか・・・。
0116デフォルトの名無しさん
NGNGHeapAlloc と GlobalAlloc の違いについて教えてください。
GlobalAlloc のメモリは再配置可能で HeapAlloc はそうでなく
HeapAlloc はメモリが断片化される可能性があるらしいのですがこれはどういうことですか?
例えば1MBのメモリを3回確保して最初に確保した1MBは開放してから再度1MB確保した場合
GlobalAlloc では開放された領域が再利用されて HeapAlloc の場合は開放された領域ではなく4MB目の位置に新しく確保されるということでしょうか?
確保できるメモリ量に違いなどはあるのでしょうか?
GlobalAlloc は一度に確保できるのは65535ハンドル数までらしいですが、ハンドルの数ではなくバイト数での制限はあるのでしょうか?
昔ウィンドウズで扱えるヒープのサイズは256MBとか噂で聞いた気もしますが、そのような制限はあるのでしょうか?
それと HeapAlloc と GlobalAlloc ではどちらを使うのが一般的ですか?
自分は今までは HeapAlloc を使っていたんですが。( GlobalAlloc はロックしないといけないので面倒 )
ご意見・ツッコミ・煽りなどをお寄せください。
どうぞよろしくお願いします。
0117名無しさん
NGNG江戸時代のプログラミング。
HeapAllocは独自のアロケーター作成用のツール。
mallocやnewを独自に作るための部品。
ベストはmalloc。
ソースを見るとちゃんと二進セマフォを
いじっているんで、マルチスレッドにも対応している。
0118デフォルトの名無しさん
NGNG例えばウィンドウズを終了させると一応すべてのプロセスが終わるのですが、
ここでは特定のプログラムを終わらせる方法が知りたいです。
0119デフォルトの名無しさん
NGNG普通はそれで問題なし。
0120デフォルトの名無しさん
NGNGGlobalAllocっていっても、
単にそのプロセスのデフォルトヒープを使ってるだけじゃなかったかな。
LocalAllocでも同じだけど、漏れが使うときはいつも LPTR な確保しかしないから、
ロックなんてしてない。
HeapAllocは DLL には便利だと思う。
ロードされたプロセスに極力迷惑かけないでメモリを使えるから。
DLL_PROCESS_ATTACH で HeapCreate して、
DLL_PROCESS_DETACH で HeapDestroy すれば、
プライベートヒープを丸ごと一気に解放しちゃえて、楽チン。
漏れはあの巨大な標準ランタイムライブラリ(msvcrt.dll だとしても、
それがメモリを消費することには変わりはない)を極力使いたくないから、
C++ なプログラムの場合だと、
operator new と operator delete を LocalAlloc/LocalFree で定義して、
使うことが多い。
このとき、それが DLL ならプライベートヒープを確保して使うな。
WIN32 API はほとんど thread free なので、排他制御を考える必要はない。
もちろん、メモリの利用効率という点では malloc に一歩譲ると思うが、
そもそも、それが大きく影響するようなら、逆にメモリの使い方が下手な証拠。
…と、漏れは思ふ。
0121デフォルトの名無しさん
NGNGプロセスを頃す方法はいくつかあるが、
/subsystem:windows な PE で、かつ、窓(見える/見えないは別として)を持っているなら
>>119 の方法が一番、素直。
ツボは、いかにして頃したいプロセスの ID を抜くか…ってところ。
0122デフォルトの名無しさん
NGNG使いませんでしたっけ?
0123名無しさん
NGNGほかにもGlobalFreeが必要なポインタを返すやつがいくつか
あるはず。
0124118ヽ(´ー`)ノ
NGNGありがとうございます。
実験で、とあるプログラムに WM_CLOSE を送ったらちゃんと終了できました。
しかし、本当の目的のプログラムはどうしてもFindWindowでみつかりませんでした。
ちなみにツールバーには出ないタイプで、タスクトレイに小さいアイコンとして
常駐するタイプです。他の関数で HWND を調べるしかないのでしょうか?
0125121
NGNGEnumWindows
0126デフォルトの名無しさん
NGNGそこから01を読書きしたいんだけど誰か方法教えて!
検索してもATコマンドばっかり(T_T)
0127toray
NGNGを100回実行するプログラムを書きたい。
どうやればいいでしょうか。
VBしかわかりません。おねいがいます
0128デフォルトの名無しさん
NGNGfor(int i=0; i<100; i++) system("c:\\test.exe");
0129toray
NGNGありがとう。
0130vmware
NGNGアドバイスを!
0131デフォルトの名無しさん
NGNG頑張れ。
0132デフォルトの名無しさん
NGNG0133デフォルトの名無しさん
NGNG出花をくじくようなことを書いて申し訳ないが、
他人にアドバイスを求めなければならないようでは、
チミには不可能と思われ
第一、あれには確か特許がかかっていたはずだから、
たとえ技術的に可能でも、法律的にはおそらく不可能と思われ
0134デフォルトの名無しさん
NGNGこんな現象知りませんか?
ビルドは出来るし、ワークスペースにも見えるんですけど・・・・
0135デフォルトの名無しさん
NGNGクラスウィザードは .clw ファイルによって管理されています。
バージョンの不整合が起こったんでしょう。
.clw を削除してクラスウィザードを立ち上げるとナンダカンダと聞いて
きますので、それが早いと思います。
また、既存のまま新規クラスのウィザード取り込みもできるハズですので
そんでもよいでしょう
0136135
NGNGちょっち言い方オカシイね。プロジェクト内のファイル更新の不整合
0137デフォルトの名無しさん
NGNGサンクスです。
どうやらMFCクラスから派生したものの、やっぱ不要と考えて手動で
書き換えたせいのようです(^^;
今までエラーが出なかったのは単に選択してなかっただけのようで。
お勉強になりました。
0138デフォルトの名無しさん
NGNG質問れす。
どうも最近PCがフリーズしまくりです。
プログラムの開発をしていると良くフリーズします。
「Ctrl+Alt+Del」で再起動しようとすると「ダイアログの表示待ちでシステムがビジーです。」って青い画面が表示されます。
これってプログラムが悪いんですかね。
逝く寸前にダイアログを表示しようとはしてないんですけど・・・
ビルドするとビルド中に逝くこともある。(コンパイルからリンクに移行するときに良く逝く)
他のプログラムでフリーズすることもあるが、自分のプログラムを動かした後に逝くことが多い。
これってどこが悪いんですかね?
ちなみに僕チンの頭は悪くありましぇん。
0139デフォルトの名無しさん
NGNGそうじゃなかったら割り当てたメモリを解放しわすれてんだろ
0140RIP_MAPIRO
NGNG使わないデバイスをデバイスマネージャーで無効にする。
クロックアップしているならFSBを落す。もしくは、ハイブリッドなメモリの構成
ならハイブリッドな構成を改める。
0141デフォルトの名無しさん
NGNGリソースエディタで、ドキュメントに関連付けられた
アイコンをいくらいじっても、シェルの新規作成では
デフォルトの破れアイコンが出てきます。
icoファイルからいじっても同じ、シェルの
ファイルタイプの関連付けからやってもダメ(再起動すると元通り)でした。
関連付けの根本が分かってないです。
定番の本/検索ワードありましたら教えてください。
0142デフォルトの名無しさん
NGNG0143141
NGNGすいません。
「アイコンキャッシュ」で検索して、
ShellIconCacheにたどり着きました。逝ってきます。
0144デフォルトの名無しさん
NGNGCBitmapを使って、256色のビットマップを作りたいのですが
どうしたらよいのでしょうか?
0145デフォルトの名無しさん
NGNG画面はフルカラーで設定されていますが、
ビットマップのみ256色表示がしたいのです。
0146デフォルトの名無しさん
NGNGもうすこし具体的に何をしたいかを書いてください。
お絵かきソフトとかで256色に限定したいってこと?
0147デフォルトの名無しさん
NGNGそんな感じです。
フルカラーだと大きなビットマップが作れないので
256色にして大きなビットマップが作りたいのです。
CBitmap.Create(幅、高さ、1,8,0)
とやるところまでは解ったのですが、
CDCの方も何かをしてやらないと表示され無いんですよね?
よろしくお願いします。
0148デフォルトの名無しさん
NGNGまたまた付け足しですみません。
ダブルバッファリング先のビットマップです。
スクロールしたりするときに、大きいビットマップが欲しいのです。
0149デフォルトの名無しさん
NGNGダイアログにコントロールを貼り付けずに使いたいのですが。
何故かというと、MDIでメニューから通信を使いたいのです。
隠しダイアログ作るとかいった泥臭技は最終手段として考えて
いるのですが、もっとすっきりした正攻法はないでしょうか。
0151デフォルトの名無しさん
NGNG0152defaultの名無しさん
NGNG正攻法1:
RTS/CTSフロー制御をつける。
メッセージポンプの中で受信フラグを見る。
受信していれば→処理
正攻法2:
入力スレッドを立て、受信したらEventを立てる。
メッセージポンプの当たりでイヴェントをチェック。
0153149
NGNGC***Docのメンバ変数として、CMSCommのインスタンスを作ってと
考えているのですが。
メッセージポンプって?今から調べてみます。
0154さとう
NGNGES_AUTOVSCROLL | WS_VSCROLL | ES_AUTOHSCROLL | WS_HSCROLL ,
でウィンドウを作り,
strcat(str,call);
strcat(str,"\n\t");
Edit_SetText(hEdit, str);
でテキストを表示すると改行されず,改行マークが文字化けしてしまいます.
strには改行がちゃんと入っているのですが.
0155デフォルトの名無しさん
NGNGひさびさかな?
改行は\r\nです。
0156デフォルトの名無しさん
NGNGMoji="Test";
とすると、Teだけを取り出し時はどのようにしたらいいですか?
0157デフォルトの名無しさん
NGNGにゃんか書いてる意味がよく分からんが、
Moji[2] = '\0' ってことか?
0158デフォルトの名無しさん
NGNGえぇと、Moji[0]はT、Moji[1]はeなんだけど。
それをつなげるには、どうしたらいいかな?と。
0159デフォルトの名無しさん
NGNGchar *sptr = strstr( Moji, "Te" );
if( sptr )
sptr[strlen("Te")] = '\0';
実行結果>Moji = "Te";
こういうことじゃなくて?
0160デフォルトの名無しさん
NGNGお前は、C言語そのものを勉強しろ。
ポインタあたりが全然解ってないだろ?
0161デフォルトの名無しさん
NGNGあ、、なんだか分からない命令文とかあるので
今から実装してみます。
ありがとうございまーす
0162>>147
NGNGっていうか質問はどっか一箇所でした方が良いと思う。
8bit の HBITMAP が DC に Select できない、というのが
そもそもの問題(あっちのスレにそう書いてあるのだ)なら、
CreateDIBSection で DIB の HBITMAP 作ればたぶん Select
できるぞ。使い方はドキュメント読んで。
0163中学生
NGNGソースコード見せて。
ちなみにコンパイラはVC++6.0
0164デフォルトの名無しさん
NGNGhttp://www.google.com/
好きなだけご覧ください。
0165デフォルトの名無しさん
NGNG0166デフォルトの名無しさん
NGNGY=Asin(Wt+(2PI)/λ)r) うろ覚え。
これじゃないの?
0167デフォルトの名無しさん
NGNGMoveToEx() とか LineTo() とか
0168デフォルトの名無しさん
NGNGサインカーブは厨房にはまず理解できないと思う。
まず、ラジアンって知ってるか?
0169168さん@今日は臨休
NGNG//かなり他のソースを流用したから分かりにくいだろうが
//文句足れんじゃねえぞ
#include <windows.h>
#include <math.h>
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);
BOOL InitialProcess(HDC);
HINSTANCE hInst;
HWND hwnd;
LPBYTE Buf;
BITMAPINFO BMI;
0170168さん@今日は臨休
NGNGint WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow){
MSG msg;
WNDCLASSEX wndclass ;
hInst=hInstance;
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.lpszMenuName = NULL;
wndclass.lpszClassName = "Test Window";
wndclass.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
RegisterClassEx (&wndclass);
hwnd = CreateWindow ("Test Window",
"曲線絵画",
WS_OVERLAPPEDWINDOW,
50,50,
640+6,480+30,
NULL,
NULL,
hInstance,
NULL);
ShowWindow (hwnd,iCmdShow);
UpdateWindow (hwnd);
HDC hdc = GetDC(hwnd);
if(InitialProcess(hdc) != TRUE){
ReleaseDC(hwnd,hdc);
return msg.wParam;
}
ReleaseDC(hwnd,hdc);
while (GetMessage (&msg,NULL,0,0)) { // メッセージループ
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam ;
}
0171168さん@今日は臨休
NGNGBOOL SetDIBInfo(LPBITMAPINFO BMI ,int Width,int Height)
{
BMI->bmiHeader.biBitCount = 24;
BMI->bmiHeader.biSize= sizeof(BITMAPINFOHEADER);
BMI->bmiHeader.biWidth = Width;
BMI->bmiHeader.biHeight = Height;
BMI->bmiHeader.biCompression = BI_RGB;
BMI->bmiHeader.biPlanes = 1;
return TRUE;
}
0172168さん@今日は臨休
NGNG{
int i;
int x,y;
const double PAI = 3.141592;
Buf = (LPBYTE)malloc(640*480*3);
SetDIBInfo(&BMI,640,480);
for(i = 0;i<640*480*3;i++){
Buf[i] = 255;
}
for(x = 0;x<640;x++)
{
Buf[(240*640+x)*3]=0;Buf[(240*640+x)*3+1]=0;Buf[(240*640+x)*3+2]=0;
}
for(y = 0;y<480;y++){
Buf[(y*640+160)*3]=0;Buf[(y*640+160)*3+1]=0;Buf[(y*640+160)*3+2]=0;
Buf[(y*640+320)*3]=0;Buf[(y*640+320)*3+1]=0;Buf[(y*640+320)*3+2]=0;
Buf[(y*640+480)*3]=0;Buf[(y*640+480)*3+1]=0;Buf[(y*640+480)*3+2]=0;
}
for(x = 0;x<640;x++)
{
y = (int)240+sin((double)(2*PAI/640)*x)*120;
if(y < 480){
if(y >= 0){
Buf[(y*640+x)*3] = 0;Buf[(y*640+x)*3+1] = 128;Buf[(y*640+x)*3+2] = 128;
}
}
y = (int)240+cos((double)(2*PAI/640)*x)*120;
if(y < 480){
if(y >= 0){
Buf[(y*640+x)*3] = 128;Buf[(y*640+x)*3+1] = 128;Buf[(y*640+x)*3+2] = 0;
}
}
y = (int)240+tan((double)(2*PAI/640)*x)*120;
if(y < 480){
if(y >= 0){
Buf[(y*640+x)*3] = 128;Buf[(y*640+x)*3+1] = 0;Buf[(y*640+x)*3+2] = 128;
}
}
StretchDIBits(hdc,0,0,640,480,0,0,640,480,Buf,&BMI,DIB_RGB_COLORS,SRCCOPY);
if(GetAsyncKeyState(VK_ESCAPE)<0)
return FALSE;
}
return TRUE;
}
0173168さん@今日は臨休
NGNGLRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
hdc = GetDC(hWnd);
switch( message )
{
case WM_PAINT:
hdc = BeginPaint (hWnd, &ps);
StretchDIBits(hdc,0,0,640,480,0,0,640,480,Buf,&BMI,DIB_RGB_COLORS,SRCCOPY);
EndPaint( hWnd, &ps );
break;
case WM_DESTROY:
PostQuitMessage( 0 );
break;
default:
return DefWindowProc( hWnd, message, wParam, lParam );
}
ReleaseDC(hWnd,hdc);
return 0;
}
0174デフォルトの名無しさん
NGNG#include <windows.h>
#define WIDTH 600
#define HEIGHT 300
LRESULT CALLBACK WndProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam){
switch(uMsg){
case WM_PAINT:
PAINTSTRUCT ps;
HDC hdc=BeginPaint(hwnd,&ps);
MoveToEx(hdc,WIDTH-1,HEIGHT/2,0);
for(int x=0;x<WIDTH;x++){
double y=(1-sin(2*3.14*x/WIDTH))*HEIGHT/2;
LineTo(hdc,x,(int)y);
}
EndPaint(hwnd,&ps);
}
return DefWindowProc(hwnd,uMsg,wParam,lParam);
}
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR szCmdLine,int nCmdShow){
WNDCLASS wc;
memset(&wc,0,sizeof(WNDCLASS));
wc.lpfnWndProc=WndProc;
wc.hInstance=hInstance;
wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wc.lpszClassName="CLASS";
RegisterClass(&wc);
CreateWindow("CLASS","",WS_POPUP|WS_VISIBLE,0,0,WIDTH,HEIGHT,0,0,hInstance,0);
MessageBox(0,"OK を押すと終了",0,0);
}
0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNGcase WM_NCHITTEST:
return HTCAPTION;
0177さとう
NGNGありがとうございました。大変助かりました。
0178デフォルトの名無しさん
NGNGTABキーでフォーカスを移動させたいのですが、VCに、VBのTabIndexのような設定を
行うための手段はありますか?
自分でWM_KEYDOWNを拾ってフォーカスを管理しないといけないのでしょうか?
教えてください。
0179デフォルトの名無しさん
NGNGCTRL+D
0180デフォルトの名無しさん
NGNGCtrl+D又はタブオーダー
0181高校生
NGNGどうやってグラフ描いたらいいか分からん。
計算はCでやってグラフ描画はExcelでやったほうがいいのかな?
0182デフォルトの名無しさん
NGNGそれでもいいよ。
VCなら自分でグラフの描画できるけどね。
0183修士一年
NGNGVC++を研究に使うんだが、グラフ表示
の関係上C言語のみでは不可能なのだと気づいた。
つきましてはVC++のいい入門書の紹介をお頼み申し上げる。
ちなみにCは分かる(つもりだ)。
0184デフォルトの名無しさん
NGNGとりあえず「猫でもわかるプログラミング」ってページを検索してください。
0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNGttp://www.kumei.ne.jp/c_lang/index.html
0187デフォルトの名無しさん
NGNGVBのTabIndexってどういうヤツ?
0188脂漏と
NGNGint main(void)
{
int i, j;
int kuku[4][5];
for(i=0;i<4;i++)
for(j=0;i<5;j++){
kuku[i][j] = i*j;
}
for(i=0;i<4;i++){
for(j=0;i<5;j++)
printf("%d ", kuku[i][j]);
printf("\n");
}
return 0;
}
どうも上のfor文で無限ループに突入するみたいなんですけど
どうしてでしょうか?
0189デフォルトの名無しさん
NGNGi<5→j<5じゃ無いの?
0190デフォルトの名無しさん
NGNGhttp://piza.2ch.net/test/read.cgi?bbs=tech&key=986528326&st=25&to=25&nofirst=true
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNGRAMディスク使ってビルドの過程を高速化することってできないですかね
0197デフォルトの名無しさん
NGNGとっくにキャッシングしてると思われ。
0198デフォルトの名無しさん
NGNG実メモリを山のように実装しておけばそれで済む。
0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNGメッセージによってswitchで分けたところに、ひたすらやりたいことを
する関数をMSDNで見つけて、書いてくだけでいいもんなの?
簡単なツールを作るのに勉強がてらVC触ってるだけなんだけど。
0201デフォルトの名無しさん
NGNG無理しないでMFC使えばよいと思うが・・・
0202デフォルトの名無しさん
NGNG小難しそうで_・)
他スレでC++しらきゃだめ、みたいなことも書いてあったので。
0203デフォルトの名無しさん
NGNGメッセージループ作るとこまで逝ったのなら、
大体そんなもんだ。
0204デフォルトの名無しさん
NGNG出るんだけど、ほっといて大丈夫?
>No handler for command ID 0xE125, disabling it.
>SENDING command id 0xE107 to CMDIView target.
0205デフォルトの名無しさん
NGNG表示させたいのですが、VBの場合は確かInputString関数を使えばできます。
VCのこれと同等の関数はないでしょうか。EditBoxだけのダイアログをあまり
作りたくないのです。
0206デフォルトの名無しさん
NGNG0207デフォルトの名無しさん
NGNGやっぱそうですかね。そうしまっす。ありがと〜。
0208デフォルトの名無しさん
NGNGC++を知らないでウインドウズプログラミングって組めるのか?
とりあえず思いっきり無理な気がするんだが。
0209デフォルトの名無しさん
NGNG出来るよ。
「猫でもわかる」(http://www.kumei.ne.jp/c_lang/) はほとんどCだし。
俺はやりたいとも思わんけど。
021090
NGNGC++が一般的になる前はCで書いてたよ。
もちろん今でも書けるけど、機会は減ったね。
MFCが出たてのどうしようもない頃は
わざとMFCなしで書いてたよ。
遠い昔だ...
0211デフォルトの名無しさん
NGNG以下のソースで何も描画されないのは何故でしょうか?
GetDeviceCaps()でRC_BITBLTは確認してますし
CreateCompatibleDC(),BitBlt()も成功しています
下のソースではhdcにDrawすると描画され、hdcにDrawすると描画されません
環境VC++6.0 WindowsNT
case WM_PAINT:
hdc = BeginPaint (hWnd, &ps);
hdcnew = CreateCompatibleDC(hdc);
RECT rt;
GetClientRect( hWnd, &rt );
DrawText( hdcnew, "AAAA\n", 5, &rt, DT_CENTER );
BitBlt(hdc,rt.left,rt.top,rt.right-rt.left,rt.bottom-rt.top,hdcnew,0,0,SRCCOPY);
EndPaint( hWnd, &ps );
break;
0212デフォルトの名無しさん
NGNGCreateCompatibleBitmap()とSelectObject()が抜けてるよ。
基本は、
「WM_CREATEで裏画面を作成」
↓
「WM_PAINTで裏画面からコピー」
だから、それから挑戦してみたら。
参考までに。
http://www-online.kek.jp/~keibun/win32prog/paint.html
http://www2s.biglobe.ne.jp/~maekawa/dev/vc/redraw/
0213デフォルトの名無しさん
NGNGのは何故かしら?あと、virtual 型名 の「型名」を変えても同じ。
どうして!?
0214デフォルトの名無しさん
NGNG「仮想関数テーブル」を検索してみてください。
0215211
NGNG一旦ビットマップに保存して
差し替えなければならないのですね。
0216デフォルトの名無しさん
NGNGある指定した数までの素数を求めるプログラムを作った場合、
配列を使ったエラトステネスのふるいで求めるプログラムと、
線形リストによりポインタを使ったプログラムと、
普通にfor文で割っていって、割りきれた値が例えばi==jだったらそれは
素数であるといった3つの場合を考える時、
計算量とメモリの使用量はどう違うんでしょうか?教えてください!
0217デフォルトの名無しさん
NGNG0218216
NGNG0219デフォルトの名無しさん
NGNG埋め込む場合、
計算量は単純に時間測定、
メモリ使用量はmalloc/freeの部分に、
使用サイズ、ピークを加減算する関数をはさむ。
これでだいたい判る。
0220デフォルトの名無しさん
NGNG計測しないとわからん程度ならどうだっていいじゃん。
0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNGInitiateSystemShutdown()
0223221
NGNGそれはシステムのシャットダウンですよ。
ねたじゃないなら覚えておいた方がいいですよ。
0224煽
NGNGsystem("net stop \"Network connections\")";
回線ってなによ。モデム?ならそういう風に書いてくれ。
LANカードとか刺さってたらどうするのよ?
0225221
NGNGこれはコマンドですか?「net」って今やってみたら「コマンドまたはファイル名が違う」と言われました。
回線っていうか、今繋がっているダイヤルアップの接続を自分の意思で切ることが出来るのかな?ということなんです。
0226煽
NGNGついでにいうと、開発はNT系列でやるがよい。
0227221
NGNGわからない・・・
自分でも情けないと思うんですが、TAPIの関数群を色々調べたんですが、
lineClose() などの終了関数はすべてオープンしたときのハンドルが必要みたいで、
いい日本語の説明ページが見当たらないしちょっと手詰まり状態。
それに、すでに接続されている状態から自分のプログラムを立ち上げて
接続を切りたいのですが・・・
iriaとかのツールがやってるようなやつを。
ちなみに自分のマシン限定プログラムです(WIN98)。
0228さとう
NGNGもWM_CHARやWM_KEYDOWNのメッセージがダイアログボックスに送られ
ないようです。キーを押されたかどうかを知るにはどうしたらいいの
でしょうか?
0229デフォルトの名無しさん
NGNGメッセージをフックするのが一番手っ取り早いかな。
ただ…、単に入力の有無とその文字を知りたいだけなら、
親ダイアログのWM_COMMANDでEN_CHANGEを捕まえて、
EM_GETLINEやGetWindowTextなどを使うだけで済むと思います
0230デフォルトの名無しさん
NGNGRas。
0231デフォルトの名無しさん
NGNGというメンバベクトルが、DLL内のクラス内にあるのですが、
std::vector<class MeatBar,class std::allocator<class MeatBar> >' は __export キーワードを使って class 'Sex' にエクスポートしてください。
と警告されます。そのあとそのメンバを参照すると、強制終了します。
vectorをDLL内のクラスのクラスメンバとして持つにはどうすればよいのでしょう。
0232デフォルトの名無しさん
NGNG0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNG0235デフォルトの名無しさん
NGNG帰れ。
プログラマーズ・ジョーク
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=983059592
ここでやれ。
0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNGエディットボックスをサブクラス化すればメッセージは拾える。
文字が知りたいだけなら、229のとおり。
0238カカ
NGNGVC++6.0で、テンプレート関数を
func<int>( 123 );
というように型を明示的に指定すると、
d:\DATA\PROGRAM\VC++\Test\TaskTest.cpp(51) : fatal error C1001: 内部コンパイラ エラー
(コンパイラ ファイル 'msc1.cpp', 行番号 1794)
Visual C++ のサポート情報 コマンドを選択してください
ヘルプ メニュー、 またはサポート情報のヘルプ ファイルを参照してください
と、内部コンパイラ エラーになることがあるんです。
サンプルコードを載せたいところなのですが、これ単純なソースコードでは普通にできるんです。
200行くらいを超えると、ほぼ確実に発生してしまいます。
今までは型キャストでなんとかしてたんですが、今回キャストで解決しようとするとものすごく長い記述になってしまう部分で・・・。
どなたか同じような現象が発生している方はいないでしょうか?
0239デフォルトの名無しさん
NGNGなんかがんばって、回避策を探すとよいと思われ。
とりあえず関数を短めに分割してみれば?
0240デフォルトの名無しさん
NGNGSPはあてた?あててるならスマソ。
0241カカ
NGNG一応SPは5です。
「MSDN」
関数テンプレートの引数は明示的に指定できます。次に例を示します。
template<class T> void f(T) {...}
void g(char j) {
f<int>(j); //generate the specialization f(int)
}
できないじゃないかMSDNメー。
0242デフォルトの名無しさん
NGNGテンプレ使うなってことだと思われ。
0243デフォルトの名無しさん
NGNG0244さとう
NGNGメッセージをフックする方法でうまくできました。
大変ありがとうございました。
0245デフォルトの名無しさん
NGNGBITMAP bm;
LoadBitmap(hInstance,"IDB_BITMAP1")
HDC hdc,hdc2,buf;
hdc=GetDC(hwnd);
buf=CreateCompatibleDC(hdc);
hdc2=CreateCompatibleDC(hdc);
SelectObject(hdc2,bm);
Bitblt(buf,0,0,600,600,hdc2,0,0,SRCCOPY);
Bitblt(hdc,0,0,600,600,buf,0,0,SRCCOPY);
0246デフォルトの名無しさん
NGNG0247246
NGNG0248デフォルトの名無しさん
NGNGそれは別にVCが悪い訳じゃなくて、FATがぶっ壊されてるだけ。
0249デフォルトの名無しさん
NGNGbufに対するビットマップオブジェクトがない。
0250デフォルトの名無しさん
NGNG作り方がわかる方教えてください。
0251デフォルトの名無しさん
NGNGなるほど、そういうことですか。おかげでできました。どうもありがとうございました。
0252デフォルトの名無しさん
NGNG関数呼び出しを書くときに
括弧まで書いたら、引数一覧が出るのですが
この機能の名称ってなんですか?
あと、表示できない時があるのですか、表示可能な条件とかも教えてください。
(うちのノートだと表示するのですがデスクトップだと表示しないです)
構造体メンバを示す時にも表示できるのもおねがいします
0253いお
NGNG「IntelliSense」というやつだったよーな
0254デフォルトの名無しさん
NGNGパッケージ読め。
またはMSDN読め。
あとIntelliSenceはClassWizardから情報を引っ張ってきていて
ClassWizardはわりとよくこける。
こけるとメンバ表示されなくなる。
のでメンバが表示されなくなったらVCを再起動すれば
直ることが多い。
> 表示可能な条件
ClassWizardが情報を認識していること。以上。ClassView見れ。
0255252
NGNG名称わかったのでMSDN読んだ調べた。
わかりました。
ありがとうございます。
0256デフォルトの名無しさん
NGNGここらでSTLに挫折した、全体の95%相当のプログラマが
不買運動を起こし、消滅します。
ありがとうC言語!そしてC++さようなら!(^_^)また会えるといいね!
http://piza.2ch.net/test/read.cgi?bbs=tech&key=995820118&ls=100
0257デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
0258これってバグだべ
NGNG#include <windows.h>
static char szMsg[] = "String";
static short wDlgData[] = { LOWORD(szMsg), HIWORD(szMsg) };
void main(void)
{
printf("%08lX\n", szMsg);
printf("%04X:%04X\n", wDlgData[0], wDlgData[1]);
printf("%04X:%04X\n", LOWORD(szMsg), HIWORD(szMsg));
}
上のソースをコンパイル & 実行すると結果が以下のようになる。
0040E030
0000:0040
E030:0040
コンパイラはVC++6.0、回避方法無いかナ〜?
0259デフォルトの名無しさん
NGNGなんでそんなわけわかんないコードにする意味が全く理解できないが、
static short wDlgData[] = { LOWORD(szMsg), HIWORD(szMsg) };
↓
static long num = (long)szMsg;
static short wDlgData[] = { LOWORD(num), HIWORD(num) };
で回避できるようだ。
0260デフォルトの名無しさん
NGNGおぉ!なるほど〜
> なんでそんなわけわか
コンパイルされたダイアログのリソース・スクリプトみたいなのをプログラム内部に定義したいな〜とか思ってさ。
0261デフォルトの名無しさん
NGNGだからって>>258のコードにする理由にはならないと思うけど。
0262デフォルトの名無しさん
NGNG> 理由にはならない
ストレージを少しでも少なくしようと思っての事だけど。そうゆう意味じゃなくて?
結局以下のようなコードで解決。
解決したのは0xFFFF。マクロは説明の為のオマケね。
#define DLGCMD_TEXT 0
#define DLGCMD_EDIT 1
#define DLGCMD_CHECK 2
#define DLGCMD_END -1
#define Def_DlgText(x,y,w,h,id,p) \
DLGCMD_TEXT,x,y,w,h,id,(short)((unsigned long)(p)&0xFFFF),HIWORD(p)
#define Def_DlgCheck(x,y,w,h,id,p) \
DLGCMD_CHECK,x,y,w,h,id,(short)((unsigned long)(p)&0xFFFF),HIWORD(p)
static char szMsg[] = "String";
static unsigned short wDlgData[] = {
Def_DlgText(10,10,96,20,IDC_TEXT,szMsg),
Def_DlgCheck(10,30,96,20,IDC_CHECK,szMsg)
};
0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNGvoid CHogeDlg::OnPaint()
{
PAINTSTRUCT ps;
CDC *dc = BeginPaint( &ps );
// dc使って描画
EndPaint( &ps );
}
ってやったんだけど、ちらついてしまいます。
dcで描画してる所をトレースしてみたら、EndPaint前なのに描画されてしまっていました。
ダイアログだとダメなんでしょうか?
0265デフォルトの名無しさん
NGNGBeginPaint/EndPaint使ったからってオフスクリーン描画になるわけではない。
バックバッファを用意しろ。
0266258
NGNGごめん、やっぱり言ってることもやってるコードも
意味不明だわ。
ただ、前述の奴バグは確認した。
スタックだと大丈夫だけど、それ以外に配置されると駄目みたいだね。
俺って厨だったんだな。鬱だ。
0267149
NGNG一応送受信はできたんですが、受信イベントをフックできないです。
>正攻法2:
>入力スレッドを立て、受信したらEventを立てる。
>メッセージポンプの当たりでイヴェントをチェック。
入力スレッドというのは、受信バッファを監視する用ということでしょうか。
0268262
NGNGこれは、定義したshort配列をある関数に渡すと、内容に従って子ウィンドウをぽこぽこ作ってくれる為のデータ定義です。
子ウィンドウのタイプ・サイズなどはshortで定義出来ますが、キャプション文字列は配列に収まらないので、上位・下位ワードに分けてねじ込もうとしているのでした。
0269名無しさん
NGNGそれでSetEvent。
でもふつうは勝手に受信させといて
APIで受信バッファをみれば良い。
0270262
NGNG構造体として定義する事が出来ないのでした。(出来ない事もないケド)
0271デフォルトの名無しさん
NGNGなんでCreateDialogIndirectを使わないのか。
0272デフォルトの名無しさん
NGNG入れるとします。この場合、コントロールへのメッセージを受け取りたい場合は、
基本クラスを設定せねば(genericじゃだめ)なりませんよね?多分。
皆さんこのような場合は基本クラスを何にするんでしょうか。
あと、基本クラスを追加(存在しない場合)する場合の手順は何かいい方法が
あるでしょうか。
0273デフォルトの名無しさん
NGNG0274259 (!=261)
NGNG>>271に同じ。
どの道、構造体を使うべきでは。
どうしてもって言うなら、shortで確保しないで、longで確保した方が万倍スマートです。
そんな部分のメモリケチっても、先にリソースが底尽きます。
0275272
NGNGgenericで、基本クラスを設定しなかったという状態でお願いします。
0276デフォルトの名無しさん
NGNG何がやりたいのか全く理解できない。
とりあえずサンプルコード晒せ。話はそれからだ。
0277デフォルトの名無しさん
NGNGそもそもクラスに関して何か勘違いしてないか。
0278262
NGNGそうしようと思った矢先に、解決策を思いついたのでした。
まぁ良いじゃん、16bit時代からやって来たから、貧乏癖が染み付いてるんだよ。
> CreateDialogIndirect
今はWindowsでやってるけど、将来的に他のプラットフォームへも持って行きたいんで、
なるべくAPI依存しないようにやってるんだよね。
0279デフォルトの名無しさん
NGNGだったら、リソースをコンバートする方法を考えた方が建設的。
0280278
NGNG> リソースをコンバート
ふむ〜それはそうかも。
確かに、GUIをグラフィカルにデザイン出来ないってのは辛い物がある。
今は他にもやる事いっぱいで、脱線になっちゃうんでやんないけど、また同じような問題にぶつかったらやるかなぁ。
ありがと、良いアイデア出してくれて。
0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNGないのでしょうか?
GetPortOpenメンバ関数にしろ、GetCommIDメンバ関数にしろ、自分自身が
開いたポートに関しては分かるのですが、他のアプリによって開かれたポートに
関しては判定できません。
最悪CreateFile API関数を使おうかと思うのですが他に簡単な方法はない
でしょうか。
0283282
NGNGやた!
0284デフォルトの名無しさん
NGNGコンパイラされた後のファイルから
ソースを見ることって出来ますか?
参考にしたいプログラムがあったので・・・
危ない話すんません。。
0285デフォルトの名無しさん
NGNG失せろマルチポスト野郎。
0286デフォルトの名無しさん
NGNGtry,catch
で受け取れない?
0287286
NGNGtry(...)
の中で。
でも、やっぱその後に”ハンドルされていない・・・”って
メッセージが出て終了する。回避可能?
0288デフォルトの名無しさん
NGNG現在3つの問題に頭を悩ましております。
1つ目はマウスの座標のことです。
GetCursorPos で取得できるのは整数単位の座標ですが
もっと精度の高い取得はできないのしょうか?
0.1ピクセル単位で取得したいのですが・・・
2つ目はプログラム終了時にOSが自動でプログラム内で
使用したオブジェクトを破棄してくれるみたいですが
自動破棄されないものってあるんですか?
メモリなんかは勝手に破棄してくれているように見えますが(システムモニターで見ていると破棄されているように見える)
メモリの破棄は任せちゃってもいいですか?
逆に「これはプログラム終了前に必ず破棄しないと逝けない!」ってものはありますか?
3つ目はモーニング娘の吉澤ひとみが好きで好きでたまりません。
現在の彼女は強いて言うなら矢口似です。
前は矢口ファンだったので彼女の評価は比較的良かったのですが最近は吉澤にメロメロなため彼女がウザくなってきました。
彼女と別れて吉澤(本人)と付き合う最も最適な方法はどのようなものでしょうか?
ぜひ教えてください。
0289デフォルトの名無しさん
NGNG0290RIP_MAPIRO
NGNGDirectInputを使って移動量を内部で累積したものを利用すれば可能。
マウスの挙動を自前で用意する事になるので、他のウインドウと共存
させるときは注意。
メモリの破棄は普通最後まで面倒見るべき。とくに他人様のオブジェクト
を構築するときは、内部でどんなリソースが確保されているか分からん。
0291無能な姦理人@Shiri-Q
NGNG□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
続きはコチラです
http://www.geocities.com/entry_k/main/main01.html
0292デフォルトの名無しさん
NGNGそういうことなんか?
>>288が知りたかったのは「マウスの移動量」でいいんか?
「マウスカーソルの座標」と「マウスの移動量」は全然違うもんじゃないのか?
0293デフォルトの名無しさん
NGNG288です。
ネタではありません。
1つ目はペイントソフトでA点からB点にマウスが移動した場合の軌跡をできるだけ正確に取りたいんです。
例えば (10,10) から (20,20) まで移動した場合のマウスの軌跡
(11.1,10.8)-(12.2,11.6)-(13.5,13.1)-(14.2,14.0) ... って具合に10分の1ぐらいの精度でマウスの微妙な動きを取得したいんです。
2つ目は自力で破棄するように心がけます。
3つ目に関しては忘れてください。
昨夜彼女とXXXして彼女の良さを再認識しました。ハァハァハァ
吉澤のことは忘れます・・・
っていうか昨日のFUNで「裸にエプロンの石川」に萌えてしまいました。
青春って素晴らしいですね。
0294デフォルトの名無しさん
NGNGん〜と…
その用途だと、充分に短い観測周期を取らないといけないと思うんだけど。
1ms単位で>>290の言ってたようにDirectInputで移動量を監視して積算。
当然誤差が出るから、最終的にはカーソル座標で丸めないといかんと思うが。
ちなみに、1ms周期を作るにはマルチメディアタイマー使うしかないかも。
0295デフォルトの名無しさん
NGNG0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNGそれ以前にマウスは1ms単位では情報を送ってこないよ
0298デフォルトの名無しさん
NGNGショートカットファイルの作成方法(API)をご存知の方
教えてください。
0299アッガイ
NGNGhttp://www.sh.rim.or.jp/~pumpkin/choice/
0300デフォルトの名無しさん
NGNG検索すれば5分でみつかる
0301300
NGNG300は >>298 あてのメッセージ
0302298
NGNG0303デフォルトの名無しさん
NGNGアイテムを挿入すると、アイコンの背景が白くなってしまうのですが
何か回避方法は無いのでしょうか?
0304286=287
NGNG0305ポカリスト
NGNGおしぇ〜て
0306デフォルトの名無しさん
NGNGなぜフレームを使わない?
0307デフォルトの名無しさん
NGNG0308デフォルトの名無しさん
NGNGエクセルの起動やセルの参照、書き込み、ファイルの保存等一通りできたんですけど、
マクロの実行ができません。
誰か分かる方います?
0309デフォルトの名無しさん
NGNGごめん。俺分かんないや。何みて勉強したの?おれも興味あるんで。
0310デフォルトの名無しさん
NGNG0311308
NGNG検索ができるんだけど、excelで検索してみ。
0312308
NGNG0313デフォルトの名無しさん
NGNGなにをやっている。何をw
0314308
NGNG0315デフォルトの名無しさん
NGNGオプションやカスタマイズに設定するところが見当たりあせん。
何処にあるんでしょうか?
あと、キーワードの定義ファイルって、どこかからかダウンロード
できますか?
0316デフォルトの名無しさん
NGNG違います。
Application.Run
で実行できます。
0317308
NGNGこれで逝けた。アンダーバーで何を表してんだよ。(w
"Run"と"_Run2"の仕様は全く一緒。関数内部を見てみると、DispatchID以外
全く一緒。うーん。もちょっと調べてみるわ。
ちなみに"ExecuteExel4Macro"は、まだVBAが出る前のExcel4.0のマクロとの
互換を保つための関数のようだな。この頃俺は多分123やってたんでよく分からん
のだが。とにかく旧命令をサポートしてるってことみたいだね。
まっ、とにかく逝けたのでよしとするわ。"Run"と"_Run2"の動作や用途の違い
が分かる人は教えてくれ。分かったら俺もアプするわ。
0318デフォルトの名無しさん
NGNGほりゃ。
http://www7.cds.ne.jp/~hayakawa/pt-06002.html
0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNGあふろエックスだよ。覚えときなさい。
0321デフォルトの名無しさん
NGNG拡張仕様のことみたいだね。検索してみ。いっぱいヒットするよ。
0322デフォルトの名無しさん
NGNG一件もヒットしねぇぞグァラ・・・
0323デフォルトの名無しさん
NGNG・文字列内にカンマがあるときは全体を"でくくる。
・さらに文字列内に"があるときは、"を""にする。
でいいでしょうか?
0324デフォルトの名無しさん
NGNGCSVって、別に規格があるわけじゃないし。
323さんの扱うCSVがそうだったら、それでいいってしかいいようがない。
0325323
NGNG回答ありがとうございます。
できるだけ他のアプリケーションでも読み書きできる
ような形式にしたいんです。
かといって、いろいろなオプションをつけるのは
面倒なんで避けたいんです。
その場合、上記の方法が最善でしょうか?
0326デフォルトの名無しさん
NGNG0327デフォルトの名無しさん
NGNG0328びん
NGNGってことなんですか?
0330デフォルトの名無しさん
NGNGks
0331デフォルトの名無しさん
NGNGテンプレートクラス名1<テンプレートクラス名2<型名>> インスタンス名;
のように生成することは可能でしょうか?
0332デフォルトの名無しさん
NGNGできるよ。
0333331
NGNGレスどうもです。
以下のように簡略化したソースでコンパイルを試みたのですが、
error C2146: 構文エラー : ',' が、識別子 'arrayPoint' の前に必要です。
のようなエラーが出てしまいます。
template<class T>
class Point
{
T m_x, m_y;
};
template<class T>
class Array
{
T m_array[10];
};
void main()
{
Point<float> point;
Array<float> array;
Array<Point<float>> arrayPoint; // この行でエラーが出てしまう
}
0334331
NGNG0335デフォルトの名無しさん
NGNG>Array<Point<float>*> arrayPoint; // この行でエラーが出てしまう
↑*のとことに、スペース入れてください。
そうしないとコンパイラが演算子の>>と区別がつかないらしいです。
0336331
NGNGレスどうもです。
なるほど、右シフトと認識されてしまうのですね。
ありがとうございました!
0337デフォルトの名無しさん
NGNGスレッドを使った場合共有リソースアクセス時に同期を取らなければなりませんが
実際どのような現象が発生するのでしょうか?
仮にWin98で共通の変数 INT nHoge; を別のスレッドから使用する場合
nHoge = 10;
のような処理を別のスレッドから実行した場合
WinNT系 + 2CPUの環境だと、完全に同時にこのような処理が行われると思うのですが
実際こういう状況になった場合、値が壊れるのでしょうか?
それとも同時アクセスによってシステムクラッシュしてしまうのでしょうか?
また
nHoge = 10;と言う処理と return nHoge; や if(nHoge)等の同時実行
(つまり書き込み中に別のスレッドから読み込む)
したばあい、読み込みの値が壊れるだけですむのでしょうか?
それとも同時実行でシステムクラッシュするのでしょうか?
上記のような処理で仮にシステムクラッシュするとしてもう一つ質問があります。
1CPUやWin98等の環境の場合上記のような事をしても、時分割で実行されるため
完全な同時アクセスにはならないと推測します。
つまりアセンブラで1命令程度の処理ならば、値が予定外になるぐらいですむと推測するのですが、
実際はどのような現象が現れるのでしょうか?
その他同期関係で注意する事があれば合わせてご教授していただけると大変助かります。
よろしくお願いします。
0338337
NGNG上記の 6行目
>仮にWin98で共通の変数 INT nHoge; を別のスレッドから使用する場合
は書き込みミスです。無視してください。
0339デフォルトの名無しさん
NGNG・双方待ち状態になりデッドロック、プログラムハング
値が壊れるだけで済む、って言ってるがおもっきり重大な問題だと思うが
シングルCPUに関してはその通り
0340デフォルトの名無しさん
NGNG変数の同時アクセスでシステムクラッシュはしないよ。
どれかのスレッドが直前に書きこんだ値を読むだけ。
0341デフォルトの名無しさん
NGNGデュアルだとバス衝突したりしないの?
0342デフォルトの名無しさん
NGNG0343デフォルトの名無しさん
NGNGそいつはもう、マルチスレッドのソフトウェアが
どうとかいうレイヤじゃないだろう。
0344デフォルトの名無しさん
NGNGバスアービトレーションというキーワードでアーキテクチャ
の本でも探して勉強しなおせ。
0345デフォルトの名無しさん
NGNGファイルだったらそうだが、メモリの読み書きじゃ論理エラーで終る。
0346sage
NGNG0347デフォルトの名無しさん
NGNGならん
0348神に喧嘩を売る男
NGNG0350デフォルトの名無しさん
NGNG0351デフォルトの名無しさん
NGNG「こおせ」ません(ワラワラ
0352デフォルトの名無しさん
NGNG皆どうしてる。
例えば、スピンボタンと連動させるエディットボックスの数値は動かしたい
んだけど、メイン処理はボタンアップでって場合。
0353デフォルトの名無しさん
NGNGWM_NOTIFY
0355デフォルトの名無しさん
NGNGPreTransrateMessage で自分でメッセージ調べれば?
0356デフォルトの名無しさん
NGNGSPY++という便利なものがあるだろうに。
0357デフォルトの名無しさん
NGNGていうかMSDNで「スピンボタン」て引いてみろ
0358デフォルトの名無しさん
NGNGスタティックライブラリでのリソースの扱い方について教えてください。
スタティックライブラリ内にリソースファイルを作りました。
スタティックライブラリからリソース内のダイアログを生成しようとすると失敗します。
アプリケーション本体のリソース内のダイアログはスタティックライブラリ内から生成できます。
どうもリンクの時点でスタティックライブラリ内のリソースが正常にリンクされていないようですが
これってどうすればいいですか?
リンクの際に何か特殊なオプションを設定するのでしょうか?
環境はVC++6.0でSDKでプログラムしています。
教えてください。
0359デフォルトの名無しさん
NGNG確か MS-Linker には、複数のコンパイル済みリソースを「リンク」する能力は
無かったと思います。
ライブラリが必要とするリソースを *.rc で提供して、
アプリケーションの *.rc からインクルードしてもらう必要があります。
たとえば MFC をスタティックリンクするアプリケーションを
ウィザードで作成しても、やはりそうなっていると思います。
0360初
NGNGMFCつかえるようになったら、全部MFCでつくってますか?
0361デフォルトの名無しさん
NGNGSDKに疲れたらMFCに手を出せばいい思う
全部MFCで作るっていうのは無謀
APIの全機能がつかえるわけではないし
CFindFileのような,ぁやιぃ(使えない)クラスがごろごろあるからね
0362デフォルトの名無しさん
NGNG今、SDKだけですか。そりゃ凄いや。
MFC主体だけど361さんが書いているように全部MFCというのは
無理があると思う。APIを直接呼び出していることも多い。
0363初
NGNGMFCとAPI直が
まざってるということですか?
明確に、このアプリは全部MFC!とかわける必要はなし?
0364デフォルトの名無しさん
NGNGMFCだって内部で結局APIを呼んでいる。
MFCにはいくつか致命的に使えないクラスがあって、
それを使うくらいならAPI直叩きの方がマシというだけのこと。
結局、MFCの大部分はWinAPIのラッパーでしかないので。
0365デフォルトの名無しさん
NGNG0366
NGNGこういう質問は自分で確認できると思うのだが?
0367デフォルトの名無しさん
NGNG全く持って同意。
使ってみて、動きが変だとか、思い通りに動かないとかならまだわかるが、
俺らはMSDNじゃねぇっつーの。
0368デフォルトの名無しさん
NGNG> 俺らはMSDNじゃねぇっつーの。
ワラタ!
0369デフォルトの名無しさん
NGNGVisual Studio とかの分割ウィンドウってどうやってるの?
ただの CSplitterWnd とは違うよね。
同じようにやろうと思ったら大変なのかな?
0370デフォルトの名無しさん
NGNGこれとかどう?
http://nt.sakura.ne.jp/~miwaki/progtips/window/dockingwindow.shtml
0371369
NGNGうぉー ありがとう!
けっこう大変そうですが調べてみます。
「MFCインターナル」買ってみようっと。
0372デフォルトの名無しさん
NGNG0373MSDN
NGNGCDocument::GetFirstViewPosition
virtual POSITION GetFirstViewPosition( ) const;
戻り値
GetNextView メンバ関数での列挙に使う POSITION 値を返します。
解説
ドキュメントに関連付けられたビューのリスト内の最初のビューの位置を取得します。
例
//ビューのリストの最初のビューを取得します。
POSITION pos = GetFirstViewPosition();
CView* pFirstView = GetNextView( pos );
// この例では CDocument::GetFirstViewPosition
// と GetNextView を使って各ビューを再描画します。
void CMyDoc::OnRepaintAllViews()
{
POSITION pos = GetFirstViewPosition();
while (pos != NULL)
{
CView* pView = GetNextView(pos);
pView->UpdateWindow();
}
}
// 同じ結果を得る簡単な方法は、UpdateAllViews(NULL) を
// 呼び出すことです。
0374365
NGNGまぁ。精進しますです。はい。
0375デフォルトの名無しさん
NGNGバグでしょうか?
0376デフォルトの名無しさん
NGNG0377デフォルトの名無しさん
NGNGVC持ってますか?
持ってれば実験すればいい。
持ってないならどうだっていい。
0378デフォルトの名無しさん
NGNG0379デフォルトの名無しさん
NGNG関連づけされたファイルを起動する(という言い方も変だけど)事はできるのでしょうか
たとえばxxx.lzhをダブルクリックすると、関連づけされた解凍ソフトが立ち上がって
勝手に解凍までしてくれる状態になっている時、
プログラム中から、同じような事をしたいのです
(解凍ソフトのほうを呼び出すのではなく、あくまで xxx.lzhファイルを実行する
というふうにしたいのです・・・)
0380デフォルトの名無しさん
NGNGコマンド発行で"start xxx.lzh"ってするってはどう?
0381デフォルトの名無しさん
NGNG377が参考になるぞ。
0382381
NGNGおれの勘違いだった。
普通にopenではだめだな。
陳謝。
0383デフォルトの名無しさん
NGNGShellExecute
0384デフォルトの名無しさん
NGNGレジストリ読んでコマンド実行
だめ?
0385379
NGNG勉強不足で、CreateProcessしか 知らなかったのです・・・
ShellExecuteで解決ですね!
0386NOMAD
NGNGツリービューを使って(別の方法があるならそれでもいい)エクスプローラーの左側のようなのをつけたいのですが
どうすればよいのでしょう?
Webなどで調べてみるとダイアログを立ち上げる方法はけっこう載ってるのに表示させておくというのは
見つけられなかったんです。
ディレクトリ構造を毎回調べていくという方法なら一応今の知識でもできるのですが、
もっといい(楽な)方法があれば教えて欲しいのです。
ヒントや参考図書でもうれしいです。よろしくお願いしますm(_ _)m
0387デフォルトの名無しさん
NGNG選択された状態にする方法はないでしょうか?
ちょうどショートカットのプロパティで「リンク先を探す」ボタンを
押したときの処理みたいに。
お願いします。
0388デフォルトの名無しさん
NGNGとりあえずどうぞ
http://www.codeproject.com/shell/seashell.asp
0389デフォルトの名無しさん
NGNGShellFolderView オブジェクトを作ってあれこれ。
0390NOMAD
NGNG情報どうもです。ソース見て研究してみます。
しかし・・・これの実装は大変そうですね(^^;
0391デフォルトの名無しさん
NGNG0392デフォルトの名無しさん
NGNGClassWizardでエディットコントロールに値として変数を割り当てると最大値と最小値が設定できる。
0393デフォルトの名無しさん
NGNGみなさんは窓作るだけのプログラムを
何も見ないで一から書けますか?
やはり職業プログラマの人は
それくらい当然のごとく覚えてるんでしょうか?
0394デフォルトの名無しさん
NGNGそれが出来るのはゲームプログラマと秀まる夫くらいです
0395デフォルトの名無しさん
NGNGわたしも無理です
Hello Worldだけでも意味がわからないソースがあるっス(w
0396デフォルトの名無しさん
NGNGできるよ。
新しいプロジェクトを作るときに「標準的なHelloWorld」選べば一発(w
VC6限定だけどね。
0397デフォルトの名無しさん
NGNGだね。
そもそも、書き溜めたソースと参考資料の検索速度で「仕事」してるようなもんだし。
趣味のプログラムの方がよっぽど手間かかる(笑
0398デフォルトの名無しさん
NGNG396、397の言うとおり
先代のコードをいかに利用するかってのもスキルの一つ。
0399デフォルトの名無しさん
NGNG0400デフォルトの名無しさん
NGNG0401
NGNGいまいちわからないのですが、どう違うんでしょう?
0402デフォルトの名無しさん
NGNGハァ?
0403デフォルトの名無しさん
NGNGHeaderControlってのは、Listの見出し。
ListViewは、Listの頭にHeaderControlがくっついてるもの。
0404デフォルトの名無しさん
NGNG覚えてるよ。VC++6.0のウイザード使わないで何回も最初から書いてたから。今思うとただの馬鹿
0405デフォルトの名無しさん
NGNG{
}
0406デフォルトの名無しさん
NGNGそれって普通じゃないの?
MFCって使ってるひといるの?
0407デフォルトの名無しさん
NGNGむしろ使ってないの?
自分(会社)専用ライブラリとかないとき
0408デフォルトの名無しさん
NGNGだけど別に作るの遅くないよ?
0409デフォルトの名無しさん
NGNGおぉ、同志よ!
WIN32 API の上に何重にも積み重ねられた
得体の知れないウンコの塊を使うよりも、
最小限の機能を極小サイズで書きたいよ。
小物を作るときは、msvcrt なんかも使わない。
0410デフォルトの名無しさん
NGNGそもそも、Win32 API 自体がコテコテにデコレーションされてるじゃな
い。MSVCRT.DLL 使わずとも KERN32.DLL, USER32.DLL, GDI32.DLL
使ってる時点で、どうせ大差ないよ。
0411デフォルトの名無しさん
NGNGそれだとウィンドウプロシージャが 4000 行ぐらいになったり、
IDisplatch 派生クラスの実装にえらく手間取ったりしない?
0412デフォルトの名無しさん
NGNGおれは、サイズなんかより、見やすさ(理解速度)優先。
0413デフォルトの名無しさん
NGNG俺、MFC使ってアンタの半分の期間で同じ作業できるよ。
0414デフォルトの名無しさん
NGNGAPI直叩きで書くってのと「何も見ないで」書くってのにはかなり大きな隔たりが…。
俺CreateWindowの引数なんてMSDN見ないと書けないぞ。
0415デフォルトの名無しさん
NGNG俺は見ながらでも間違える自信あるね。
つか、あんな量の引数要求されてもなぁ・・・
0417デフォルトの名無しさん
NGNGあるコンテナを関数の引数として渡したいんだけど、関数はテンプレート関数
にしなきゃだめなのでしょうか?
0418デフォルトの名無しさん
NGNGこれってC++今からやるよりはC#の方がいいのでしょうか?
いまいちC#ってのがわからないのですが、C#はC++の上位版
なのですか?CとC++の関係のように。今後C++に取って代わる
のでしょうか。
0419名無しさん
NGNG0420デフォルトの名無しさん
NGNGC#はむしろVBの代わり。
0421デフォルトの名無しさん
NGNG0422デフォルトの名無しさん
NGNG引き戻しているのかと思ったよ。
0423シド
NGNG参考になる書籍を教えてください。
いろいろ探したんだけどいいのがなくて。
お願いします。
0424デフォルトの名無しさん
NGNG0425シド
NGNG参考になる書籍を教えてください。
いろいろ探したんだけどいいのがなくて。
お願いします。
0426シド
NGNG参考になる書籍を教えてください。
いろいろ探したんだけどいいのがなくて。
お願いします。
0427名無しさん
NGNGいっぱいでてくんじゃない?
0428デフォルトの名無しさん
NGNG0429デフォルトの名無しさん
NGNG今一番OpenGLしやすい環境ってWindowsかもね。
0430デフォルトの名無しさん
NGNGもう、これかなり古いですか?
勉強用にはどんなものなのでしょうか?
マジレスたのみます。
0431デフォルトの名無しさん
NGNG少しは頭使いなよ。MS の Web サイトに行けば、その程度の情報はす
ぐ入手できるでしょ?
0432デフォルトの名無しさん
NGNGVC++みてるだけで頭がくらくらして
熱がでて寝込みそうなくらいなんです。
MSのWEBサイトもみただけでぶったおれそう。
0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNGまぁ、初心者ならわかるが・・・
別に古くはないよ。(一応売ってる中では最新版だから)
ただ、そろそろ新しいのが出る。
0435デフォルトの名無しさん
NGNGそれをプロシージャの中でやるとうまくいくんですが、
ごちゃごちゃしてきたので新しい関数にまとめて呼ぶようにしたら
文字列が設定されなくなりました。
なんででしょうか?
0436デフォルトの名無しさん
NGNG状況が良く分かりません。具体的にウィンドウプロシージャでどのメッ
セージを受け取ったときに、どういう処理をしているのか書いて下さい。
0437デフォルトの名無しさん
NGNG甘えてしまいました。すみません。
なんとなく今のバージョンでも
よさそうな感じですね。
失礼しました。
0438435
NGNGcase WM_INITDIALOG:
initdialog();
return 0;
...
void initdialog(){
SetDlgItemText(hWnd, IDC_EDIT1,"123");
return;
}
こんな感じです。
これだとエジットボックスに文字列が表示されないのですけど、
SetDlgItemTextをプロシージャの方にコピペするとうまくいきます。
0439デフォルトの名無しさん
NGNG0440
NGNGもうかなり長いこと6.0のような気が。
0441435
NGNGYes.
0442デフォルトの名無しさん
NGNG0443デフォルトの名無しさん
NGNGそれだと別に関数にしなくてもいいだろ。むしろしたほうが汚い。応用性無いクソ関数だし。
0444デフォルトの名無しさん
NGNGこれを避けて、自前の処理を呼び出す事は出来るのでしょうか?
ダイヤログベースの窓で作っているのですが、
そもそもファンクションは、今の私では、
PreTranslateMessageの、WM_KEYDOWNメッセージでしか取れません。(T_T)
F1に至っては、ヘルプを探す窓が表示されるだけで、
PreTranslateMessageにも何も来ない感じです。
MFCさえ使わなければ・・・という感じなのですが、
非MFC化する時間が無いこともあって焦ってます(^^;
0445デフォルトの名無しさん
NGNG0446デフォルトの名無しさん
NGNGどうすればいいでしょう?
0447デフォルトの名無しさん
NGNGあきらめなさい。
0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
NGNG0450デフォルトの名無しさん
NGNGFtpGetFile要求後の中断がうまくできません。
FtpハンドルをInternetCloseハンドルで削除すると
WinInet内部で落ちてしまいます。
なにか情報などを知っている方いませんか。
0451デフォルトの名無しさん
NGNGWinSock使え
0452デフォルトの名無しさん
NGNGやっぱそれしかないですかねー。
WinInetのFtpは特に不安定でイヤになりますよほんと・・・・。
0453デフォルトの名無しさん
NGNG「〜は他で使用されてます」みたいな競合(?)エラーが沢山出たん
ですけど。。。
これはLIBの作成者が悪い?それとも私が回避できる問題なのでしょうか?
0454デフォルトの名無しさん
NGNG0455デフォルトの名無しさん
NGNGAcceleraterリソース見たか?
0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNGたしかに全部1ファイルにして、DynamicにLoadしたい場合がある。
納品物件とか、一応モジュール化したけど、リリースで使うのが
決まってる様なやつなど。静的にリコンパイルなんてしたくないしね。
そのまま実行できるアーカイバってのがあったと思う。
(伸長したDLLを読みに行ってくれるかは疑問だけど)
0459デフォルトの名無しさん
NGNG0460sage
NGNGdllのインポートライブラリを作るツールじゃないの?それ
0462デフォルトの名無しさん
NGNG詳しい人いない?
0463PeFileWrapper
NGNG条件が揃えば不可能ではないと思う。
条件と言うのは、元の .exe と .dll を選ぶということ。
ただしその条件を満せる可能性は、
両者をあらかじめ故意にそのように作りでもしない限り、
ほとんどゼロといえる。
たとえば、両者がともにダイアログリソースを持っていたとする。
リソースには文字列(名前)か序数のどちらかを割り付ける。
もし .exe と .dll でおなじ名前か序数のダイアログリソースが
ひとつでもあったら、
両者を互いに干渉することなくくっつけて
ひとつのバイナリにすることは不可能。
ダイアログに限らず、他のタイプのリソースでも同様。
…これはあくまでひとつの例だけどね。
0464デフォルトの名無しさん
NGNG0465デフォルトの名無しさん
NGNGそれだとみかけ上ひとつのDLLにみえないこともないけど、
結局リソース内のデータを複数のDLLとしてその場でファイル生成して、
そのDLLごとにLoadLibraryってことですよね?
結局リソースのセクションとしてロードされているわけだから、
そのままセクションの属性を変えて、フィックスアップして
一発でやりたいですね。セクションの属性を変えるのは
簡単そうだけど、コードとデータのセクションのフィックスアップは
めんどうだなあ。なんかスマートな方法ってないもんでしょうか。
0466463
NGNGFixup はかなり面倒だけど、難しいわけじゃないから頑張ればできる。
Fixup の手を抜くなら、ベースアドレスを指定して、
.reloc セクションをぶった切ればいい。(あらかじめ Fixup しておく)
ただし TLS が使えないことは自明。
あと、モジュールハンドルをもたないから、
それを直接・間接に要求する API は全滅。
あと、スレッドの Attach と Detach で
DLL の初期化ルーチンを呼ぶことができない…とか。
Fixup の処理と同様にして IAT を埋める必要があるから、
そのときにハックしてシミュレートすれば、
モジュールハンドルを要求する API はなんとかなるけど、
かなり大変なコードになると思う。
で、普通ならこのあたり(API のシミュレート関連)を DLL に
しておきたいと思うところだが、それをやってしまうと、
この場合、意味がなくなっちゃう。 (藁
いろいろ制限が厳しいけど、
不可能というわけではない。
ただし、そこまで時間とお金をかけてまでして、
ひとつのバイナリにすべてを押し込む価値(意味、必要)があるのかどうか、
最後はこいつを天秤にかけることになるだろうな。
漏れは、意味がないと思うけどな。
どのみち、DLL のバージョンの違いで動かない…なんてことは、
Windoze を使う以上、不可避だからね。
0467デフォルトの名無しさん
NGNGそんなにセクションとフィックスアップを多様されるとセックスアップと読んでしまうじゃないか。
0468デフォルトの名無しさん
NGNGpObj->QueryInterface(IID_IDataObject, (PPVOID)&pIDataT);
このようなコードがよくありますが、
IID_IDataObject を取得しようとした場合 pObj-> が必要になりますが
この pObj の部分はどのように調べたら良いのでしょうか?
CoCreateInstance(CLSID_***
っていうので取得するようですが、この CLSID_*** の部分に何を指定するか
どう調べたらいいんですか?
「IID_IDataObject を取得するには CoCreateInstance で CLSID_*** を指定して、それから QueryInterface しろ」
ってどこかに書かれているのしょうか?
現在やりたいのはドラッグ&ドロップでのファイル名の交換です。
VCのサンプルを見て勉強中なんですがCOMで挫折しています。
全然分からないのは DoDragDrop の引数の IID_IDataObject にデータを格納するようですが(多分)
どうやって格納するんですか?
どこかのサイトに分かりやすいサンプルがあるようでしたら教えてください。
0469デフォルトの名無しさん
NGNGclass FileNameData : public IDataObject
{
// GetData とか QueryGetData, EnumFormatEtc
// GetDataHere, GetCanonicalFormatEtc, SetData, DAdvise,
// DUnadvise, EnumDAdvise, QueryInterface, AddRef, Release
// を(ちゃんと渡したいファイル名を返すように)自分で実装。
}
こんなのを作って new FileNameData かなんかでオブジェクトを作る。
0470デフォルトの名無しさん
NGNGclass CMyListView : public CListView
{
protected:
CMyListView();
DECLARE_DYNCREATE(CMyListView)
public:
CListCtrl &m_List;
...
};
みたいにして、OnInitialUpdate()辺りで、
m_List = GetListCtrl();
というようにしたいのですが、コンストラクタで何とかしろゴルァーみたいなエラーが出てしまいます。
うまく回避して実現する方法がありましたら教えてください。よろしくお願いします。
0471デフォルトの名無しさん
NGNGメンバにしなくてもローカル変数にそのつど受ければいいんじゃ…。
どうしてもメンバにしたけりゃ
public:
CListCtrl* m_pList;
としといて
m_pList = &GetListCtrl();
と取る。
0472デフォルトの名無しさん
01/08/27 09:49ID:s7D152vQこのとき、構造体を渡したいのですが、void受けなので、メンバデータ
が飛んでしまいます。どうしよ。
0473デフォルトの名無しさん
01/08/27 11:24ID:5m6UTQbg受け取ったらキャストしろ
0474472
01/08/27 11:35ID:s7D152vQキャストしてもうまくいかん。
通常の関数受け渡しではキャストすればうまく逝くんだが、スレッド関数では
だめなんだ。
ちなみに構造体のアドレスはきちんと渡せてる。でもメンバがグチャグチャ。
0475472
01/08/27 11:51ID:s7D152vQうまくゆく。
呼び出し元で構造体を宣言して、ポインタ(&)を渡してやればうまく逝かない。
どうして???
0476デフォルトの名無しさん
01/08/27 12:00ID:U/MfduGw>呼び出し元で構造体を宣言して、ポインタ(&)を渡してやればうまく逝かない。
>どうして???
スコープ外だから。
0477472
01/08/27 12:03ID:s7D152vQ別スレッドだから、スコープ外になるってことか?
サンクス。
0478デフォルトの名無しさん
01/08/27 13:42ID:QY1C3w3s違う。
そのスレッドが動作中に、ローカルで宣言したスタック領域が解放されるから。
スタック領域にメモリ確保
↓
スレッド生成、確保したポインタ渡す
↓
return(スタック領域解放)
この時点で、別スレッドで処理しているメモリが解放される。
デバッガでブレークしかけて追ってみそ。
0479デフォルトの名無しさん
01/08/27 14:30ID:.CyrU1AM開放されるというか、ローカル変数用の領域(スタック)は使いまわし
されるから、非同期で動いてる別のスレッドに渡しちゃいけない
mallocしたくない場合は同期オブジェクト使って、作ったスレッド
が自分のローカル領域にコピーするまで待つようにすれば大丈夫
0480472
01/08/27 14:42ID:s7D152vQおおっ!なるほど!
ということは、スタティックな領域に置くか、スレッドを呼び出す関数を記述
しているメンバ関数を持つクラスのメンバにするなどとせねばならないですね。
ホントにありがとっ!
0481472
01/08/27 14:45ID:s7D152vQおおっ!そういうやり方もありますか。勉強してみます。サンクス!
0482デフォルトの名無しさん
01/08/27 15:58ID:s7D152vQ0483デフォルトの名無しさん
01/08/27 17:52ID:wWk80Tes分割してみようと考えたのですが、今まで全て1本のソースでプログラムを作ってきたので
分割の仕方がよく分かりません。
ただ分割しただけでは、外部参照が未解決です・・・等のエラーが沢山出て
ビルドもできません。
ソースリストを分割する際には、どのような事に気をつけたら良いんでしょうか?
0484デフォルトの名無しさん
01/08/27 18:17ID:CbLq.TAQ宣言と定義
それってなんかC(C++)の基礎を理解してないってことに
起因してないかい?
0486デフォルトの名無しさん
01/08/27 19:00ID:wkdl9yNY>分割してみようと考えたのですが、今まで全て1本のソースでプログラムを作ってきたので
>分割の仕方がよく分かりません。
ネタだよね?ね?
0487472
01/08/27 19:22ID:s7D152vQ取得するにはどうすればいいのでしょうか。
0488デフォルトの名無しさん
01/08/27 19:24ID:6V5bAAt6::GetCurrentProcess()
だったと思う。
0489デフォルトの名無しさん
01/08/27 20:21ID:7YRrwn2.0490デフォルトの名無しさん
01/08/27 20:32ID:xzJAo6XI0491デフォルトの名無しさん
01/08/27 20:53ID:IiQ03hCY最低限度、実装が必要となるインターフェイスはどれでしょうか?
よろしくお願いします。
0492sage
01/08/27 21:30ID:ABizV.k6Release
QueryInterface
MSDNヨメ
0493デフォルトの名無しさん
01/08/27 22:16ID:IiQ03hCYそれインターフェイスじゃないじゃん。
あんたホントに知ってる人?
知らないなら書かなくてもいいんだよ。
0494483
01/08/27 22:19ID:wWk80Tes宣言と定義ですか?とりあえず、#defineなどはヘッダにまとめて
インクルードしてるのですが、他に何か注意する所はありますか?
>>485
そうかもしれません・・・。
>>486
いえ、ネタではありません。
あ、ヘッダとリソースファイルなどはもちろん別ファイルでしたよ。
メインプログラムっていうか、本体が1つのソースファイルだけで
書いていたので、非常に長いのです。
これでは、デバッグもしずらくて・・・。
0496デフォルトの名無しさん
01/08/27 22:51ID:8Xs.NW3Uとりあえず「関数の宣言と定義」を手持ちの
入門書かなんかで調べなされ。話はそれからだ。
必須のインタフェースは作るものによってまったく違うんじゃねーか?
ほんとにほんとに必須なのはIUnknownだが、
これだけあったところでどうにもならんぞ。
0498デフォルトの名無しさん
01/08/27 23:19ID:sw7RmyPwもしかしてメイン関数がやたら長いプログラム?
それとも自分でいくつか関数作ったけど、ソースが一本なの?
意味あるかは別として例えばmain関数を1つのソースファイル
に書いて、mainから呼び出される自作サブルーチンを別のファイル
に書き、mainのファイルにそれらの関数のプロトタイプを記述する
ってのはどうよ。プロトタイプはまた別にヘッダファイルにした
ほうがいいかもしれんけど。ん?でもここはVC++のスレだよな。
クラスとか作ってるのかな?そんなふうには思えないが・・・。
0499デフォルトの名無しさん
01/08/27 23:22ID:NUyHCMlcclass a{
};
class b{
};
class c{
};
class d{
};
int main(){
・
・
・
・
return 0;
}
0500てんさいぷろぐらむぁ(偽) ◆8Fck5JHo
01/08/28 00:47ID:zr9xTnZwCOMとして最低限必須なのは IUnknown
VBとかスクリプトの事を考えれば OLEAutomationの為にIDispatch が必要。
必然的にタイプライブラリも必要になります。
とりあえずIDLでIDispatch派生のインターフェイスを作って、MIDLでコンパイル。
出来たインターフェイスを使って実装&タイプライブラリをリンク。
IDispatch::Invokeの実装には、タイプライブラリを使えば比較的手抜きで実装可能。
LoadTypeLibだのLoadRegTypelibあたりを調べてください。
ここではaleaut32.dllに全てを任せる幸せな方法を想定しています。
VB向けならVARIANTで定義されている型で事足りると思うので。
後の説明は長くなるので省略。MSDNライブラリを参照してください。
とりあえず上記の流れがもっとも幸せな流れです。
OLEコントロール等を作るのならば、それなりに大変な事になると覚悟してください。
つーか
ATL使えばほとんど解決な気もするけど。
0501489
01/08/28 04:30ID:YifVuKWgレスが無いのですが、
場合によるから答えにくい質問ということでしょうか?
0502デフォルトの名無しさん
01/08/28 07:44ID:EbweAhfU例えば、STL使ってるクラスを他で使いまわす予定がある場合なんかは、
そのクラスのヘッダでincludeするべきだろうし、
stdafx.hでincludeしてるからといって、他の各ヘッダでincludeしてはいけないものでもないし、
臨機応変に使い分ければ?
そんな苦悩するほどの問題じゃないと思うが。
0503デフォルトの名無しさん
01/08/28 08:23ID:c61aoHXsドライバが必要なんでしょうか?
0504493
01/08/28 09:17ID:pLk7FMTUIProvideClassInfo
ISupportErrorInfo
IConnectionPointとIConnectionPointContainer
IExternalConnection
これらがVB製のCOMに標準実装されてるとか。
とくにこの中で特に欲しかったのがコネクションポイントかな。
まぁ、少し勉強が必要だわ。
VBだとオブジェクトの集約ができないから、
VC++で頑張ってるわけなんだけど、めんどくさいなぁ。
ATLってそんなに物事単純になるのかな?
みなさんいろいろとありがとね。
0505デフォルトの名無しさん
01/08/28 11:34ID:HEWceQCwOSによる。
0506デフォルトの名無しさん
01/08/28 11:57ID:EbweAhfUしかもポートにもよる。
DOSは全部OK。
9x系とNT系だと使えるポートが違ったと思った。というかNT系は多分ほとんど不可。
API使った方が幸せだと思うよ。
特殊ハードならDOSでやるかドライバ書くか・・・
0508デフォルトの名無しさん
01/08/28 14:56ID:HEWceQCwポート(と、そのドライバ)による。
CreateFile/WriteFile/ReadFileでできる物もあるし、DeviceIoControlでできる物もある。
むろんAPIで操作できない物もある(その方が多い)
0509てんさいぷろぐらむぁ(偽) ◆8Fck5JHo
01/08/28 20:22ID:zr9xTnZw>>ATLってそんなに物事単純になるのかな?
仮にインプロセスサーバを作るとして簡単に流れを説明すると(最近触ってないからチョット違うかも)
1:ウイザードでATLCOMなんたらプロジェクトを選ぶ。(DllRegisterServerやIClassFactoryが出来上がる。)
2:クラスビューを右くりっく、ATLオブジェクトを追加するを選ぶ。
3:適当に名前を付ける _
& IConnectionPointをサポートするにチェックをつける _
& ISupportErrorInfoをサポートするにチェックをつける
4:クラスビューを右クリックでメソッドの追加やら、プロパティの追加を選択するとIDLとか全部勝手に書き換えてくれる。
5:気合を入れて実装部を作成する。
MSDNライブラリにATLウイザードを使ってOLEコントロールみたいのを作る
チュートリアルがあったような気がします。
とりあえずそれの通りに一個作ってみると速いかもデス。
0510489
01/08/29 00:36ID:8/lkv8vAありがとうです。たしかに、プログラムを書く上で本質的な問題ではありませんね。
0511504
01/08/29 09:42ID:bW4UpvLchttp://www.microsoft.com/JAPAN/developer/library/vcmfc/_atl_atl_tutorial.htm
この辺を見てやってみることにするよ。
ありがとう。
0512504
01/08/29 16:04ID:bW4UpvLcATLの使い方はなんとなく分かりました。
っていうかVSすごすぎです!
でも逆にそれ無しじゃなんだか厳しいですね。
あれを自分で理解してやっていくのは
慣れが必要かも。
できれば開発環境に依存したくないのがホンネ。
1〜4はそんな感じでやれそうです。
で、5なんですが・・・はっきり言って鬱ですw
無味乾燥なヘルプ読むより本を読むほうが早そうなので、
http://www.amazon.co.jp/exec/obidos/ASIN/4756136001/ref=pd_sim_b_dp_1_1/249-4193949-1373904
これからこの本を買いに逝ってきます。
0513504
01/08/29 18:11ID:bW4UpvLcなんかamazonとか見てると教科書みたいに書いてあるんだけど。
かなり高いんでちょっと迷ってます。
0514デフォルトの名無しさん
01/08/30 14:47ID:zBaTa85.大変厨房な質問と自覚してますが、質問させてください。
VC++6.0を使用しています。
ヘッダーファイル(*.h)をコンパイルしようとすると
「ファイル'c:\フルパス\hoge.h'の拡張子に関連した
コンパイルツールが無いためコンパイルできません。」
とのエラーがでてしまい、コンパイルできません。
拡張子の関連付けの問題だと思うのですが、
どれに関連づければいいのかわかりません。
よろしくお願いします。
0515デフォルトの名無しさん
01/08/30 14:59ID:HQVigopAヘッダファイルのコンパイル?プリコンパイルヘッダを作るの?
それともなんか勘違いしていませんか?コンパイルするのはソース
プログラム(普通は*.cまたは*.cpp)ですよ。
0516デフォルトの名無しさん
01/08/30 15:11ID:zBaTa85.やろうとしていたようです。恥ずかしい。
ありがとうございました。
0517デフォルトの名無しさん
01/08/30 16:14ID:2v8EBV2oヘッダーファイルとソースファイルの関係があいまいならここでもよく読むよろし
http://www.kab-studio.com/Programing/Codian/Cpp/02.html
0518デフォルトの名無しさん
01/08/30 16:21ID:c4aCQnY.いまプリプロセッサではまりまくってます(T_T)
気分転換に読んでみます。ありがとうございました。
0519デフォルトの名無しさん
01/08/31 01:14ID:KmOcVo8.プリプロセッサを理解したての初心者が陥りやすい症状:
なんでもかんでもやたらマクロにしたがる
定数とか、定数の引数を伴う関数呼び出しくらいならいいが、
if、whileなど制御ステートメントを伴うものや++、--演算子を
伴うものは文法を完全に理解するまで手を付けないのが吉。
0520デフォルトの名無しさん
01/08/31 02:14ID:cJM93gm2グローバル変数をヘッダーファイルにまとめて定義しといて
プリプロセッサでファイルによってextern宣言させようとしてたので
すが、そこではこけてなくて、以前にに宣言しといたグローバス変数の
定義が残ってそこでエラーはいてたようです。死にました(T_T)
プリプロセッサってどこでバグってのかわからないので
怖いなーと思いました。
0521デフォルトの名無しさん
01/08/31 04:50ID:fCsVygVQこのメッセージはエディットコントロールに書ききれなくなった
ときに飛んでくると思うのですが。
testlimitをセットしててもダメです。
なぜでしょうか?
0522デフォルトの名無しさん
01/08/31 05:12ID:seI0gCvk>EN_ERRSPACE通知メッセージは、 エディット コントロールが
>特定の要求を満たすための十分なメモリを割り当てることが
>できないときに送られます。エディット コントロールの
>親ウィンドウは、 WM_COMMANDメッセージを通じて
>この通知メッセージを受け取ります。
書ききれなくなったとは意味が違います。
0523sage
01/08/31 07:40ID:Rxk6Y1v6-Eオプション試しとけ
ついでに uniqもな
0524デフォルトの名無しさん
01/08/31 08:12ID:Dwxf2z86なるほど。それだと、重複をチェックできるわけですね。
知ってるのとしらないので、すごい違いますよね。とほほ。
0525デフォルトの名無しさん
01/08/31 22:39ID:Rxk6Y1v60526デフォルトの名無しさん
01/09/01 13:25ID:wmoI/a0AタイプライブラリをClassWizardで読み込んでCreateDispatchから
COMサーバにアクセスする方法は分かってきたが、COMサーバ側で
発生したイベントを取得する(イベントシンク?)の方法が分からない・・
VBでの実装は簡単に出来るようだが、VC++でも簡単な方法があるのだろうか・・
0527デフォルトの名無しさん
01/09/01 15:33ID:7gUlR5aUどっちもおんなじ事できるし、どう使い分けるのがいいんでしょうか?
0528デフォルトの名無しさん
01/09/01 16:30ID:D.FkLllolist は中間要素へのアクセスに O(n)、中間要素の削除・挿入は O(1)
deque は中間要素へのアクセスに O(1), 中間要素の削除・挿入は O(n)
deque は両端からアクセスできる配列だと思えば良い。途中の要素に
添え字アクセスする機会が多いなら deque、辿るのは先頭・末尾から
順番だが、途中で要素の挿入・削除が頻繁に発生するなら list。
0529デフォルトの名無しさん
01/09/01 17:06ID:ERYSF/rQ糞だと思うが・・・。
0530デフォルトの名無しさん
01/09/01 17:42ID:6wEGDcFEそれに依存してる.NETも同じような感じなのかな?
0531528
01/09/01 23:51ID:ZEJtND0w今までは両方同じように使っておりました、
0532名無しさん
01/09/02 01:15ID:PC5taIpUCreateDC("DISPLAY",NULL,NULL,NULL);
でゲットしてからどうしたらよいのかわからなくなってきました。
教えてけれ
0533デフォルトの名無しさん
01/09/02 05:34ID:hju7CXGwjpegの保存の仕方だけ。
http://www.ijg.org/
こっからjpeg6bのライブラリ落としてきて、一部ソース書き換えれば使える。
0535デフォルトの名無しさん
01/09/03 23:32ID:qVrrFAFM0536デフォルトの名無しさん
01/09/04 14:07ID:6/sNHYboインターネットエクスプローラを起動したいのですけどどうすればいいの?
0537デフォルトの名無しさん
01/09/04 17:06ID:hjiI/cLc簡単なプログラムを作ってみたのですが、
そのビルドしたファイルをエクスプローラ等で表示したときに、
ファイル名のところに出るアイコンを変更するには
どうすればいいのでしょうか?
アイコンは「挿入」「リソース」「Icon」から
作成したのですが、そこまでです。
0538デフォルトの名無しさん
01/09/04 17:08ID:y/VspVw..net 以前に、すでに今の Windows が COM の塊なんだけど。
0539初心者
01/09/04 20:43ID:oh8PDgKkスクロールバーがうまく機能してくれません。
具体的にはスクロールバーは正常に表示されているのですが、表示クライアント
領域がディスプレイサイズの一定割合に達しないと、OnHScroll(),OnVScroll()
に処理が来ないような感じです。
WN_HSCROLL,WN_VSCROLLメッセージ発行に条件とかあるのでしょうか?
0540デフォルトの名無しさん
01/09/04 20:53ID:dMvjTacY言語ガイドみてはじめてしった。
入門用の参考書には一言もふれてないのに・・・
0541デフォルトの名無しさん
01/09/04 22:41ID:3J1vv5e.当然インオペのための仕組みは用意されていますけれども。
相談でないのでsage
0542シド
NGNGその絵の印刷はできないのですか?
どこのサイトにものってませんよね。
0543デフォルトの名無しさん
NGNG場合はきちんと図形が描画できるんだけど、四角形設定にすると何も図形が
表示されん。これはどういうことでしょう。
0544がくせいくん
NGNGSP5を当てたのですが、VisualC++のバージョン情報を見ても6.0のままです。
一方、VisualBASICはSP5になっていました。Windows2000 SR2環境なのですが、
VC++が反映されていないというのはおかしいですよね。
どなたか何かご存知の方、助言PLEASE!!
0545デフォルトの名無しさん
NGNG0546デフォルトの名無しさん
NGNGVC++はSPあててもバージョン表記変わらんよ。
0547がくせいくん
NGNGFAQなどを読んではいるのですが・・
>544
そうだったんですか! てっきり反映されていないと思っていました。
助言、ありがとうございます。
0548デフォルトの名無しさん
NGNGバカ?
0549音速の名無しさん
NGNGCD-ROMのセットを検出したいのですが、監視用のスレッドを作って常に回すしか
ないのでしょうか?
0550デフォルトの名無しさん
NGNGンだよ、ネタかよ。馬鹿臭。
0551がくせいくん
NGNGもし(失礼ですが)544さんの助言が間違っているのでしたら、
是非ほかの方のアドバイスをいただきたいと思っています。
よろしくお願いします。
0552がくせいくん
NGNG何度もごめんなさい・・
0553デフォルトの名無しさん
NGNGああ、ネタじゃないならいいや。突っかかってゴメソ。
0554デフォルトの名無しさん
NGNG1 3 5 7 □ 10 □
上の数列(?)はある規則によって並んでいます。
□の中に当てはまる数字を答えなさい。
また、その規則も答えなさい。
0555超初心者
NGNGaaa.cの中からbbb.cppの関数を呼ぶのに、プロトタイプ宣言しているのですが
(両方にincludeされてるxxx.hで宣言している)
LNK2001 リンクエラーになってしまいます
cからcppの関数は呼べないんですか?
それとも別な原因があるのかな
0556デフォルトの名無しさん
NGNGCとC++では関数の名前付け規則が異なるからです。
C++のソースでは、
extern "C" {
#include "xxx.h"
void func()
{
…
}
}
としてみてください。
0557555
NGNGありがとうございました
とりあえず言われたままに やってみたら、
問題そのもの(リンクエラー)は解決してしまいました
extern "C"とか、名前付け規則の意味とか わからないので、
これから調べてみます
ありがとうございました
0558!555
NGNGそんな方法があったのか・・・
俺、今までcppに拡張子直すか、
xxx.cppというダミーファイル作って、その中でinclude"xxx.c"とかやってたよ・・・
ウツダシノウ…
0559デフォルトの名無しさん
NGNGんで、本のサンプルソースを打つと、
try {
(メモリ割当する部分)
} catch (xalloc) {
cout << "メモリー割り当てできません\n";
}
となっている部分で、xallocが見当たらなくてコンパイル
エラーになるんですが、これってどーすればいいんですか。
0560デフォルトの名無しさん
NGNG? ?
? ?
? ?
???????(゚Д゚)???????
* *
* *
* *
* *
???????????????????????????????????????
0561デフォルトの名無しさん
NGNGMSDNは調べたかい?
VC++でなんかするなら、MSDNで調べれば大体解る。
0562556
NGNGえーと、確かxallocってドラフト時の仕様じゃなかったでしたっけ。
bad_allocに変えてみたらどうですか?
0563デフォルトの名無しさん
NGNGメインスレッドのイベントとして受け取りたいんだけど出来る?
0564デフォルトの名無しさん
NGNGメッセージって、Windowsのメッセージループの事?
メインになるスレッド側でメッセージループ作って
ワーカスレッドでPostMessageすれば?
あとはEventObject使うとか
0566デフォルトの名無しさん
NGNGinclude <stdlib.h>
はどこに宣言すればよいですか?
atoi関数を使いたいです。
mfc-dialog base
0567デフォルトの名無しさん
NGNGとりあえずstdlib.hで検索して、適当なソース見てみな
0568たま
NGNGというエラーが出ます。
nafxcwd.libがどうやらパソコン内に入っていないようです。
Microsoft VisualC++6.0 StandardEdition
を使っているのですが、これにはnafxcwd.libが
入っていないみたいなんです。
StandardEditionだから入っていないのでしょうか?
どこかでnafxcwd.libをダウンロードできる場所を
知ってる方いましたら教えてください。
よろしくお願いします。
0570デフォルトの名無しさん
NGNGフリーのもあるんでしょうか?
0571デフォルトの名無しさん
NGNGそのキーワード全部入れてgoogleで検索。
0572デフォルトの名無しさん
NGNGスレ違い。
googleで検索しろ。
0573デフォルトの名無しさん
NGNGちなみにOSはMeです。
0574デフォルトの名無しさん
NGNGなんだかわからんが、あきらめろ>573
0575デフォルトの名無しさん
NGNG(藁
0576563
NGNGPostMessageでいけました。
>565
メインスレッドはダイアログで、コントロールへのイベントは受け取りたいんだ。
メインスレッドでWaitForすれば、対象スレッドが終了するまでロックされると
思うんだが。
0577デフォルトの名無しさん
NGNG何がおかしい?
0578563
NGNGアイドル時にだけ見にいくか。そんなことできるの?
優先順位低の監視スレッドを作ればできるだろうけど。
0579デフォルトの名無しさん
NGNGレジストリのバイナリデータのアクセス方法がわからないのですが・・・
GetProfileInt ・・・ DWORD
GetProfileString ・・・ 文字列
Get系の関数でバイナリデータ用って無いですよね。
元々iniファイルに無いからGetProfile系に無いのはあたりまえで
別なAPIとかで提供されるのでしょうか?
0580デフォルトの名無しさん
NGNGおぃおぃ、マジかよ。少しは調べる努力をしたのか?
Reg* な API をつかえ。
0581デフォルトの名無しさん
NGNGありがとうございます、たすかりました
DevStudioのヘルプに「レジストリ」で検索したのですが・・・
たどり着けなかったです・・・探し方が悪いとも思いますが
0582デフォルトの名無しさん
NGNG型キャスト変換自由自在にしたいぜよ!
お願いいたしまする。
0583デフォルトの名無しさん
NGNGCString s;
s.Format( "%d", i );
つーか、
> 型キャスト変換自由自在にしたい
ならC/C++以外の言語にしろ。
0584coelacanth
NGNG0585デフォルトの名無しさん
NGNGありがとうございまする!
ウゥでもVC買ってしまったのでする。
でもチビチビがんばりたいのでする。スンマセン
0586デフォルトの名無しさん
NGNGお前の使っている算数の教科書には4 / 5 = 1.25となるような演算子が定義されてるのか?
0587デフォルトの名無しさん
NGNG0588デフォルトの名無しさん
NGNG1.25 は 4/5 ではなく 5/4 だが、何か?
0589デフォルトの名無しさん
NGNGたとえば、何?
0590デフォルトの名無しさん
NGNG背景の色を変えるとか画像を設定するとかなんですけど。
0591デフォルトの名無しさん
NGNGdouble x=1.25;
if (x == 1.25) printf("4/5");
else
0592デフォルトの名無しさん
NGNGdouble x=1.25;
if (x == 1.25) printf("4/5");
else printf("%f", x);
0593中学で習ったろ?
NGNG1.25 なら 125/100 として約分しろ
1.125 なら 1125/1000
1.11125 なら 111125/100000 だ
約分方法がわからないなら「ユークリッドの互除法」と「最大公約数」で検索しろ
おまけ循環小数
0.1234
・ ・
のときは
1234/9999 としろ
あたまに余計なのがついてたら循環部分と分けれ
#循環しないのは無理数だから無理
0594てんさいぷろぐらむぁ(偽) ◆8Fck5JHo
NGNGSTM_YYYYY
2文字とは限りません。
0595デフォルトの名無しさん
NGNGvoid a(double c)
char d,e;
for(x=1;x<10000000000;x++){
for(y=1;y<10000000000;y++)}
if(x/y==c){
strcpy(d,itoa(x))
strcpy(e,itoa(y))
}
break;
}
}
}
0596てんさいぷろぐらむぁ(偽) ◆8Fck5JHo
NGNGいきなりMFCを使わないで
素のC、もしくは素のC++から勉強を始める事をオススメします。
GUI作りたいのは分かりますが、結局後で泣きを見るので。
ボタンをクリック
↓
アボーン
なんで????
0597デフォルトの名無しさん
NGNGわかりました。
どうもありがとうございました。
0598デフォルトの名無しさん
NGNGっていうバージョンがあることに今更ながら気づく(苦笑)
これって何が違うんじゃ?
0599デフォルトの名無しさん
NGNGハァ?誰よお前。お前の文脈じゃ誰だかわからねえだろうが。一体何者が何をしに店に行ったのかちゃんと書けボケが。
0600デフォルトの名無しさん
NGNGごめんなさい
0602570
NGNGVisualC++なんて高すぎて個人で使ってる人なんているんですか?
0603デフォルトの名無しさん
NGNG0604デフォルトの名無しさん
NGNG0605デフォルトの名無しさん
NGNGVC++Pro、アカデミックパックで1万強なんだが…高い?
0606デフォルトの名無しさん
NGNG君の頭
0607デフォルトの名無しさん
NGNG禿げしく同意!
0608604
NGNGはぁ?俺はMIT卒なんだが。ここのPGの程度を確認してやろうと思っただけなんだがね。
0609デフォルトの名無しさん
NGNGそれを使って値段以上の価値あるプログラム組めばいいんだYO
0610デフォルトの名無しさん
NGNGだったら模範解答見せろ
0612614
NGNG帰ってきたら見てやるから、書いとけよ。
0613570
NGNGコンパイラ探してたんですが。。。1万でもちょっと・・・
0614デフォルトの名無しさん
NGNG0615デフォルトの名無しさん
NGNG相手にすんなよ(w
0616デフォルトの名無しさん
NGNGどう?いい案だと思わない?
0617デフォルトの名無しさん
NGNG0618デフォルトの名無しさん
NGNG0619デフォルトの名無しさん
NGNG無駄にした時間を、現実として突きつけられることになるので、いらない。
0620デフォルトの名無しさん
NGNGtypedef struct
{
LONG A;
LONG B;
LONG C;
ABC* before_item;
ABC* next_item;
} ABC;
こういう構造体を作るにはどうしたらいいですか?
コンパイルするとエラーになります。
前のアイテムと次のアイテムへのリンクを構造体に持たせたいんです。
typedef struct
{
LONG A;
LONG B;
LONG C;
LPVOID before_item;
LPVOID next_item;
} ABC;
一応これでできますが、これだとキャストしないと逝けないので面倒です。
教えてチョンマゲ!
0621デフォルトの名無しさん
NGNGtypedef struct _ABC ABC;
struct _ABC {
LONG A;
LONG B;
LONG C;
ABC* before_item;
ABC* next_item;
} ;
0622デフォルトの名無しさん
NGNG0623デフォルトの名無しさん
NGNG無駄なこと...とは思わないけど、時間がないよね。
0624デフォルトの名無しさん
NGNG再描画するときって、CBitmap作らないとだめだっけ?
0625デフォルトの名無しさん
NGNG1600x1200以上の画面で9point
0626デフォルトの名無しさん
NGNGintのサイズが変わってしまう事ってあるのでしょうか?
0627デフォルトの名無しさん
NGNG0628デフォルトの名無しさん
NGNGstring s,x;
char w[]="1", r[]="ITEM1";
s=w;
x=r;
s=s+x;
というstringオブジェクトがあった場合、
SendMessage(hWnd,LB_INSERTSTRING,0,(LPARAM)(LPCSTR))
で、LPARAMにsの内容を渡したいのですが、どうすればいいのでしょう。
0629デフォルトの名無しさん
NGNGs.c_str()
0630できました。
NGNGありがとうございました。
0631626
NGNG基本的に、ないと考えて良いのでしょうかね
今、複数のマシンで winsocketで簡単な通信するソフト作ってて、
通信のbuffそのものは、BYTEの配列にしてて、
ただ、それを(ポインタで)展開するデータの中には、
int型とかも含まれてて、マシンとかによってサイズがかわって
おかしくなっちゃう事もあるのかな と、
これもDWORDとかにしたほうが良いのかな と思いまして
実は、今テストしてたら おかしくなっちゃって、
それが原因かと思って ここに質問したのです
(実は、原因は全然違う 超くだらない ミスでした
65536バイトのバッファを確保しようとして、
なにを狂ったか、
BYTE aaa[ sizeof(WORD) ];
とかやっちゃって 2バイトしか定義されなくて(ワラ、
へんなところアクセスして暴走)
0632デフォルトの名無しさん
NGNGコンパイラが変わるとか、コンパイルオプションを変えるとかすれば変わるよ。
0633デフォルトの名無しさん
NGNGそれは根本的に貴方の書いたソースの問題かと
0634デフォルトの名無しさん
NGNG0635デフォルトの名無しさん
NGNG0636631
NGNG0637デフォルトの名無しさん
NGNG0638デフォルトの名無しさん
NGNGで、質問なんですが CD の再生をすることは出来たんですが、1トラック目から順繰りにしか再生できません。
それもこれも、コマンドパラメータの dwFrom と dwTo に設定する値が解らないからです。
API バイブル 3を見ると、「現在の時間フォーマットでの開始・終了位置が格納されている」と書かれているのですが、
どうすれば TMSF 形式から、DWORD に変換すればいいのかが解りません。
解るひと教えてー
0639デフォルトの名無しさん
NGNG0640デフォルトの名無しさん
NGNGMCI_MAKE_TMSFマクロ使うアルよ。
0641デフォルトの名無しさん
NGNG0642デフォルトの名無しさん
NGNG#include <sys/socket.h>
とかやったら「ヘッダーファイルが見つからない」とか出ました。
実装されてないんでしょうか?
0643デフォルトの名無しさん
NGNG0644デフォルトの名無しさん
NGNG0645デフォルトの名無しさん
NGNGばかめ。
include/は調べたか?
0646sage
NGNGなくても文句言うな
0647デフォルトの名無しさん
NGNG0648sage
NGNG0649デフォルトの名無しさん
NGNGcygwin入れてますが?VC++で使うって事なんで。
それともVC++でCygwinのヘッダをインクルードできるんですか?
>>645
聞きたいのは「VC++スタンダードエディション」に実装されてるか否かだ
>>646
ネットワークプログラミングしようとしたらこれだし
0650デフォルトの名無しさん
NGNG0651デフォルトの名無しさん
NGNGMSDNで調べる癖ぐらいつけろ。
VCはsys/socket..hじゃないよ。winsock使えれ。
0652デフォルトの名無しさん
NGNG0653デフォルトの名無しさん
NGNGあんたも最初は分からんかっただろ?
>>651
MSDNでの調べ方分からないです。
WinsockInit()関数やらはヘッダファイル無しで使えるのですか?
0654653
NGNGftp://ftp.microsoft.com/bussys/winsock/winsock2/WSAPI22.DOC
英語分からん。工房だし。
0655デフォルトの名無しさん
NGNG0656デフォルトの名無しさん
NGNG>winsock2.hでした。。。鬱だ氏脳
だからさっさと死ねよ!
0657デフォルトの名無しさん
NGNG酷い奴だな。。。
0658お胸おっぱい (!=650)
NGNGちったぁ自分で調べれ。
君の VC6 がワレモノでなければ、ヘルプくらい付いてるだろ。
0659デフォルトの名無しさん
NGNGそうすると、VBを学ぶべきかC++を学ぶべきか・・・
0660デフォルトの名無しさん
NGNG高校生でも、ある程度は読めるだろ・・・
つか、
649の
>cygwin入れてますが?VC++で使うって事なんで。
>それともVC++でCygwinのヘッダをインクルードできるんですか?
ここが謎・・・
普通 gcc 使ってたらそんなこと考えんだろ・・・
>>658
ワレモノでしょ。
じゃなきゃ普通こんな質問しない。
MSDNで"ネットワーク プログラミング"ででてくるし。
0661デフォルトの名無しさん
NGNG放置で逝きましょう
0662つーか、
NGNG0663デフォルトの名無しさん
NGNG0665デフォルトの名無しさん
NGNG>>660
> 普通 gcc 使ってたらそんなこと考えんだろ・・・
MASMとかVC++で使えるんでそっちはどうなのかなと。
厨房の英語に"represent"とか出てくるわけないでしょう・・・
やり始めの人の気持ちも考えられん稚拙な人ばかりで誠に残念です。
0666デフォルトの名無しさん
NGNGMSDN引きましたがMFC関連ばっかりです。MFC厨にはなりたくないんで。
0667デフォルトの名無しさん
NGNGhttp://www.sex-jp.net/dh/01/
http://www.sex-jp.net/dh/02/
http://www.sex-jp.net/dh/03/
http://www.sex-jp.net/dh/04/
0668sage
NGNGが、単語の意味くらい辞書で引けるだろ?
MFC以外の情報も、山のようにあるから、あきらめずに引き続けろ。
それでもわからなければまた聞きに来い
0670デフォルトの名無しさん
NGNG0671デフォルトの名無しさん
NGNG>>672
お前も何か言ってやれ!
0672デフォルトの名無しさん
NGNG, ─  ̄ ̄ ─- _ ̄ ̄
/ ヽ
/ / ̄ヽ/ ̄ ヽ l
/ | O | O | |
| | 人 ノ |
| >-─´-`─-< |
/ ̄ , -─- 、__ ` ̄ヽ |
ゝ ̄ ̄______  ̄ ノ |
 ̄ ̄  ̄ ̄ l
ノ | | \
 ̄ヽ | ̄
| |
| |
l |
⊂__________⊃
0673デフォルトの名無しさん
NGNG0674デフォルトの名無しさん
NGNG0675デフォルトの名無しさん
NGNG規模か数か期間かその他か?
0676デフォルトの名無しさん
NGNG0677デフォルトの名無しさん
NGNGそうですねぇ、、、GUI周りのクラスライブラリをフルスクラッチ、
それから、Oracle程度のRDBや最低Officeにある程度のアプリケーションを
すべて一人で作れるスキルが泣ければ、日本ですらお金はもらえないでしょう。
0678デフォルトの名無しさん
NGNG0679デフォルトの名無しさん
NGNGフルスクラッチって何ですか?
0680デフォルトの名無しさん
NGNG0681デフォルトの名無しさん
NGNG「アプリケーションのレベル」が何を指すのか不明。
低水準<ファームウェア<ドライバ<ミドルウェア<ソフトウェア<高水準
という話?
0682デフォルトの名無しさん
NGNG0683デフォルトの名無しさん
NGNGまず、エクスプローラを勉強することを薦める。
「エクスプローラ・ライク」を作れる技術がなけりゃあ、
まず、話にならんかも。
また、それと同じくらい重要なのが、なんていうか、
センスとか、ポリシーってやつかな。
いくら技術が高くても、ポリシーのない奴が作った GUI は糞だからね。
0684デフォルトの名無しさん
NGNGなんでテキストエディタが低レベルでOFFICEが高レベルなのか不明。
0685デフォルトの名無しさん
NGNG手軽にすぐ作れて、GUIまわりであまり複雑に考えなくていいから、そういう表現をしましたが。
0686デフォルトの名無しさん
NGNGもしかしてコントロール貼っておしまい?
0687デフォルトの名無しさん
NGNGメモ帳みたいのまでテキストエディタとか言われたらなぁ…
0688デフォルトの名無しさん
NGNG少なくともテキストエディタは「手軽にすぐ作れてGUIまわりで複雑に考えなくていい」アプリケーションではないぞ。
0689デフォルトの名無しさん
NGNGテキストエディタと言っても、メモ帳のことです。
秀丸などではありません。誤解を招きました?
0691666
NGNG「厨房の英語に」と言ってるだろ。ちゃんと文章読んでくれ。
0692666
NGNGお前がオサーンだ
氏ね
0693デフォルトの名無しさん
NGNG0694デフォルトの名無しさん
NGNG脳ある鷹は爪を隠す
0695デフォルトの名無しさん
NGNGま、んなこたどうでも(・∀・)イイ!! のでさげ。
0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNG0698デフォルトの名無しさん
NGNGテキストエディタを軽視する奴はプログラマになれないから安心しろ。
0699デフォルトの名無しさん
NGNG666はヴァカだけど(w
0700デフォルトの名無しさん
NGNG禿道
世の中に軽視されるべきプログラムは無い。
例えそれがHELLO!WORLDレベルであっても。
0701デフォルトの名無しさん
NGNGアカデミック、プロフェッショナルで13kぐらいだね
ラーニングは7k位だっけ?忘れた
0702デフォルトの名無しさん
NGNG>700
果たしてそうですか。あなた達はよくVBで作られたアプリを馬鹿にする一員ではないですか?違うなら勘違いをお許しください。
0703デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
この話題のどこにVBが関係すんだ?
プログラマならテキストエディタのインターフェース次第で開発効率が変わってくるって話題だろ?
0704(゚Д゚ )ァ?
NGNG>世の中に軽視されるべきプログラムは無い。
「プログラム」はVB製も含んでますよね。
0705デフォルトの名無しさん
NGNG>>702 はスレ違い。
>>703 煽りはよそでやってくれ。
こんなんで良いですか?
0706デフォルトの名無しさん
NGNGVBアプリの大半は”プログラム”じゃないから。
切って張るだけの工作品だよ。
そーゆーのが馬鹿にされるんだって。
0707666
NGNG>>695
高1だし。つうか「厨房の英語でも分かる」とほざいた>>664に対しての
反論だから「中学の教科書には載ってない」的な答えになったわけだぞ?
物を言うなら読解力つけてからにしようね(笑)
>>696
>>701
VC++のスタンダードはアカデミパックで10000円(=10k)ぐらいだと言ってるんですが。
少なくとも最寄のソフマップではそうでした。
ちなみにプロフェッショナルは24000円。とても買えん。
ラーニングエディションってそりゃVBですよ。
VC++はスタンダード、プロフェッショナル、エンタープライズの3種だけだし。
>>699
まぁまぁ、マターリと逝きましょうよ。
690はバカだけど(笑)
>>706
効率性を求める目的以外でVBやってる奴は逝ってよし。
やっぱアセンブラでしょ。gdbもMASMもNASMもタダで手に入るし。
面倒臭いからやろうとしないってのは一番おかしい。
0708デフォルトの名無しさん
NGNG是非このテキストを保存しておいて20過ぎてからもう一度読み返して
見ることを勧める。昔書いた日記並の恥ずかしさを味わえること請け合いだ。
…つかネタか煽りであることを祈るよ、本当に
0709デフォルトの名無しさん
NGNGVC++STD AC 8k
VC++PRO AC 13k
VSENT AC 40k
確か、こんなモン。
0710デフォルトの名無しさん
NGNG工房がシッタカしてるんじゃないよ、まったく、もう。
自分でOS書いたりするんじゃなきゃ、インラインで十分。
それすらも高級言語で作るのが普通になりつつあるからな。
0711自他共認超優秀プログラマー(35歳)
NGNG0712デフォルトの名無しさん
NGNGint i;
i=SendMessage(hWndText,WM_GETTEXTLENGTH,0,0);//hWndTextはテキストボックスのハンドル
a=new char[i];
SendMessage(hWndText,WM_GETTEXT,strlen((const char *)a),(LPARAM)(LPCSTR)a);
とやったあとに。
delete[] a;
とやったらバグるんですが。なぜでしょう。デバッグしたら、落ちたときにはちゃんとaに文字列が設定されていました。
0713666
NGNG論理的には貴殿が癌に冒されて自分勝手になってるだけという惨憺たる事実と
身障+知障+神経症の発言はイグノアするのがベーシカリーなスタンスであり
我'zに対する嫌悪ありで発見の際は権力の犬を召喚しまくっている次第です。
以上。分かりましたか?
>>709
嘘じゃないです。そもそも価格なんかで嘘つく必要無いと言うか。
VC++STD AC 10k
VC++PRO AC 24k
VSENT AC 40k
これぐらいで売ってたんですが。もしかしてソフマップは詐欺企業なんですか?
だとしたら許せませんね。10000円で売りやがってたし。
0714デフォルトの名無しさん
NGNGVC++PRO AC 16k
0715デフォルトの名無しさん
NGNG正解
http://www.kakaku.com/sku/price/030000.htm
0716666
NGNGあんたが興味無ければやらんでいい。
それだけだと思うが?
> インライン
コンパイラが吐くアセンブリコードに絶対性を見出せない限りは必要性あり。
趣味でやるならコンパイラなんて関知せんが仕事なら分かるような気はする。
0717708
NGNGすまん、前半さっぱり分からない(w
ただ本当に1万で買ったならちょっと酷いとは思うよ
>>709の言うとおり、ラオックスでプロフェッショナルアカデミック13k
ヤマダ電気でもで14k位だからね
>>715
それは高いと思う
0718710
NGNG不正解だって
24kはVS Pro ACだよ。
>>716
仕事でやるならコンパイラのはくコードくらいは把握してるもんだが、
だからといって全部アセンブラで書くなんてことはせんぞ。
大体、絶対性ってなんだよ?
コンパイラ様のほうが、人間よりマトモなコードはくことが多いぞ。
> やっぱアセンブラでしょ。
それに、なにが「やっぱ」なわけ?
それから、俺はアセンブラは不要とはいってないぞ。
適材適所で使うべきものだ。
お前の発言からはアセンブラ至上主義としか取れなかったからな。
0719666
NGNG一般的な価格は皆さんの言う通りだと分かりました、はいはい
>>718
コンパイラ<<<<<<<<<<<<<人間
だよ。
あ、でも近年のは質上がって人間<<<<<<<<<<<<<コンパイラかもしれん
「やっぱ」ってのはアセンブラの方が趣味として楽しめるからな。
CPUへの機械語命令と一つ一つ対応してるし。
> それから、俺はアセンブラは不要とはいってないぞ。
悪かったな
0720予想屋
NGNG710・・・肉体派インテリプログラマー
0721デフォルトの名無しさん
NGNG脱線しすぎ。
0722デフォルトの名無しさん
NGNG被害妄想の自分かわいそうな厨房さんですか??
なんでも煽り扱いしてんじゃねぇよ。
だから孤立するんだって。
0724696
NGNGガコウ逝って来ます・・・
0725デフォルトの名無しさん
NGNGint i;
i=SendMessage(hWndText,WM_GETTEXTLENGTH,0,0);//hWndTextはテキストボックスのハンドル
a=new char[i];
SendMessage(hWndText,WM_GETTEXT,strlen((const char *)a),(LPARAM)(LPCSTR)a);
とやったあとに。
delete[] a;
とやったらバグるんですが。なぜでしょう。デバッグしたら、落ちたときにはちゃんとaに文字列が設定されていました。
0726725
NGNG0728デフォルトの名無しさん
NGNGSendMessage(hWndText,WM_GETTEXT,strlen((const char *)a),(LPARAM)(LPCSTR)a);
↓
SendMessage(hWndText,WM_GETTEXT,i,(LPARAM)(LPCSTR)a);
寝るか。
0729デフォルトの名無しさん
NGNGできました!どうもありがとうございます。
0730666
NGNG「mailto:くだらねー:-)」とかいいつつinfantな発言だね。笑
眼鏡かけてないし。エセESPやってないで仕事しなさい。
>>722
別に何でも煽り扱いしてないが。
「被害妄想」とか屁理屈捏ねる前に勉強すれば?
0731デフォルトの名無しさん
NGNGゴルァ! ヽ(゚ω゚=) ぃょぅ
( Λ_Λ ( )
(⊂ ´⌒つ゚д゚)つ) ∪∪
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
Σ ∧∧
ゴルァゴルァゴルァ! ヽ(゚ω゚=) ぃょ...!
( Λ_Λ ( )
(((⊂ ´⌒つ゚д゚)つ) ∪∪
 ̄ ̄ ̄ ̄ ̄ ̄ ̄∪ノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧∧
ゴルァゴルァゴルァゴルァゴルァ! (゚ω゚=;) コワぃょぅ
( Λ_Λ ( )
((((⊂ ´⌒つ゚д゚)つ) ∪∪
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄∪ノ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧∧
ゴルァゴルァゴルァゴルァゴルァ!(xωx=) いたぃょぅ
( Λ_Λ ( )
((((⊂ ´⌒つ゚д゚)つ)*∪∪
0732720
NGNGくだらねーは俺の行為についての感想だが何か?
0733デフォルトの名無しさん
NGNGつーかさ、MFC厨以前に、教えて厨じゃどうにもなんだろ。
頭悪い発言連発してるし。
邪魔だから失せろ。
0734デフォルトの名無しさん
NGNG0735デフォルトの名無しさん
NGNG確かCreateWindow()でWM_CREATEメッセージが出るとかいうのを
見たことあるんですが、ShowWindow()ではメッセージ発生しないん
でしょうか。作成直後でなくて可視状態になってから実行したい
処理があるのですが・・・・
レスお願いしま〜〜
0736デフォルトの名無しさん
NGNG0737デフォルトの名無しさん
NGNGよろしくおねがいします。
0738デフォルトの名無しさん
NGNG>737
WM_SYSCOMMANDとかWM_CLOSEとかWM_SIZE
それをDefWindowProc()に渡したり渡さなかったりで処理が変わる。
つーかメッセージ監視用のソフトぐらいもってた方がいいぞ。
0739デフォルトの名無しさん
NGNGていうか何故spy++を使わない?
0741666
NGNG上祐史浩(宗教団体アレフ)か。感服するよ
http://www.aleph.to/
http://www.joyu.to/
これがナルシシズムの骨頂という奴だ、存分にマスかいててくれ
>>733
頭悪い発言?コンパイラ<人間ってやつ?
実際、そういう時代もあったんだが。
ソフトの値段については「俺が見た限り」で正直に言っただけだがね。
0742デフォルトの名無しさん
NGNG君と同じ国にいると思うと(以下略)
0743デフォルトの名無しさん
NGNG( ゚Д゚)ハァ?ナルシズムかそれ??
君の質問は終わったんだからとっとと帰ってくれ。
0744デフォルトの名無しさん
NGNG”test が原因で test.exe にエラーが発生しました。testは終了します。”
というメッセージが出てきます。
何が原因か全く分からないのですが、どのような可能性があるでしょうか?
0745デフォルトの名無しさん
NGNG|| ||
|| アホは無視。 ||
|| 。 ΛΛ
|| \ (゚Д゚ ) みなさんいいですね
||________⊂ ι|
∧ ∧ ∧ ∧ ∧ ∧ | |
( ∧ ∧ ( ∧ ∧ ( ∧ ∧ UU~
〜(_( ∧ ∧ __( ∧ ∧__( ∧ ∧
〜(_( ∧ ∧_( ∧ ∧_ ( ∧ ∧
〜(_( ,,)〜(_( ,,)〜(_( ,,) は〜い
〜(___ノ 〜(___ノ 〜(___ノ
0746デフォルトの名無しさん
NGNGtest.cppって何?
まずソース晒せ。話はそれからだ。
0747744
NGNGtest.cppについてはメッセージ中にファイル名が出てくるのを
説明するのに出しただけです。
0749666
NGNG池田先生の弟子として恥ずかしくない言動を心掛けよう(笑
http://www.sokagakkai.or.jp/
池田大作「ウーマン、イトマン、キンマンコ!」
>>744
>>746の言う通りソース晒さんと話し始まらん
境界間違えてAccessViolationなんてヘマは流石に無いよな?
0750デフォルトの名無しさん
NGNG正直感動した!そのためにSPY++があったのか!!
0751デフォルトの名無しさん
NGNG0752デフォルトの名無しさん
NGNG#include <windows.h>
#include <winsock2.h>
と書いたのですが、エラーが大量に発生します。
winsock2を先に書けば良いのですが、windows.hが最初と言う
頭があるので納得いきません。
どうするのが正しいですか?
0753sage
NGNG0754まずは
NGNG#include <winsock2.h>
int main(){ return 0; }
この3行だけのソースをコンパイルしてみろ。
0755デフォルトの名無しさん
NGNGダメです。
再定義されているというメッセージが大量に。
windows.hのなかでwinsock2.hが既にincludeされているようなのですが。
includeされるという保証があるのでしょうか?
ちなみに、SDKは2000/08版を使ってます
0756デフォルトの名無しさん
NGNG#if(_WIN32_WINNT >= 0x0400)
#include <winsock2.h>
#include <mswsock.h>
#else
#include <winsock.h>
#endif /* _WIN32_WINNT >= 0x0400 */
だからwinsock*は改めてincludeする必要なし
0757_
NGNGどうしたらよろしいでしょうか?
そういうAPIがあるんでしょうか?
素人です。どなたか教えてください。
0758デフォルトの名無しさん
NGNG最後の/または\まで舐めて、それ以降を抽出する。
パス名/\が含まれるかどうかとか、
SJISの場合\の漢字判定もする必要がある。
APIがあればそれ使った方が良いかもしれんけど、知らない。
0759_
NGNGうっ・・・、
GetAt()なんかで舐めるんですか・・・?
書き方がよく分からないです・・・。
0761デフォルトの名無しさん
NGNGGetFullPathName()
0762デフォルトの名無しさん
NGNGsplit,path,extとかで探してみ
0763デフォルトの名無しさん
NGNG0765デフォルトの名無しさん
NGNGCString::ReverseFindで一発だろ。
0766デフォルトの名無しさん
NGNGIEのバージョンによっては存在しないけど、PathFindFileName。
あるいは FindFirstFile して WIN32_FIND_DATA::cFileName を見る。
0768デフォルトの名無しさん
NGNGTCHAR系の変数や関数を使って書くのが吉。
上記内容なら、_splitpath()(あるいは_tsplitpath())がおすすめ。
0769デフォルトの名無しさん
NGNG0770質問です
NGNGこれをやめるにはどうするのでしょうか?
0771デフォルトの名無しさん
NGNGMFCでなら、OnOK() をオーバーライドして、CDialog::OnOK()を呼ばないようにしてやる。
0772デフォルトの名無しさん
NGNGその終了は正規の終了シーケンスに則った「行儀の良い終了(Graceful Shutdown)」のはずですが。
もし本当に強制終了されるならOSが壊れているのかもしれません。
0773771
NGNG確かに、エラーが出て「強制終了」されるなら、どっかメモリ壊したりしてる可能性がある。
0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNGCTreeView
0776デフォルトの名無しさん
NGNGコンストラクタで以下のように書くと、
AddPage( &m_PPageHoge ) ;
AddPage( &m_・・・・
自動的にプロパティーシートの左上隅からプロパティー
ページが追加されていきますよね?
場所を指定してプロパティーページを追加する
方法はありますでしょうか?
上の方に空白を設けてそこにCEdig::Createして
エディットボックスを作りたいのですが。
ご存知の方いらっしゃいましたら
よろしくご教授ください。
0777デフォルトの名無しさん
NGNG普通stringクラス+アルゴリズム使うだろ。
厨房決定。(ワラ
0778デフォルトの名無しさん
NGNGどうでもいいが std::string じゃなくて std::basic_string<TCHAR> じゃないのか?
マクロ _UNICODE を定義したときにハマるぞ。
あと上でも書いてるが GetFullPathName() の第一引数にフルパス名を渡せば、
ファイル名だけ抜き出してくることができる。szFullPath にフルパス名が入って
いると仮定して
TCHAR szPath[MAX_PATH];
LPTSTR *pszFilePart;
::GetFullPathName(szFullPath, MAX_PATH, szPath, &pszFilePart);
これで pszFilePart がファイル名の先頭を指すようになる。szFullPath の内容が
szPath にコピーされるのでやや効率が悪いが、
- 他の Win32 API と同じく、セパレータとして '\\', '/' 両方を受け付ける
- UNC を理解する (//machine/dir/ を食わせると pszFilePart は NULL になる)
など、他の Win32 API と齟齬をきたさぬ仕様が便利。
0779デフォルトの名無しさん
NGNGコンストラクタで以下のように書くと、
AddPage( &m_PPageHoge ) ;
AddPage( &m_・・・・
自動的にプロパティーシートの左上隅からプロパティー
ページが追加されていきますよね?
場所を指定してプロパティーページを追加する
方法はありますでしょうか?
上の方に空白を設けてそこにCEdig::Createして
エディットボックスを作りたいのですが。
ご存知の方いらっしゃいましたら
よろしくご教授ください。
0780菊丸
NGNG、その様な事はできるのでしょうか?
よろしくお願いします。
0781デフォルトの名無しさん
NGNGCOM
0782菊丸
NGNGすみません。
いま一つ意味がわかりません。
どういうことでしょうか?
0783デフォルトの名無しさん
NGNGCOM 知らないの? 情報は豊富にあるはずだから、書籍なり google なりで調べてください。
たとえば Excel97 だと、こんな感じのコードで操作できる。
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <objbase.h>
#include <tchar.h>
#import "C:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\VBA\MSO97RT.DLL" \
no_namespace rename("DocumentProperties", "DocumentPropertiesXL")
#import "C:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\VBA\VBEEXT1.OLB" \
no_namespace
#import "C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\EXCEL8.OLB" \
rename("DialogBox", "DialogBoxXL") \
rename("RGB", "RBGXL") \
rename("DocumentProperties", "DocumentPropertiesXL") \
no_dual_interfaces
int APIENTRY
_tWinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR, int nCmdShow)
{
::CoInitialize(NULL);
Excel::_ApplicationPtr spExcel;
Excel::WorkbooksPtr spWorkbooks;
spExcel.CreateInstance("Excel.Application");
spExcel->PutVisible(TRUE);
_bstr_t bstrFile("D:\\tmp\\test.xls");
spWorkbooks = spExcel->GetWorkbooks();
spWorkbooks->Open(bstrFile);
::Sleep(5000); // Wait
spExcel->Quit();
::CoUninitialize();
return (0);
}
0784菊丸
NGNGなるほど。
即レス、
マジでありがとうございました。
0786デフォルトの名無しさん
NGNGInternetExplorerの右上にある「e」のマークのような画像を
ウインドの右上に表示するにはどうすればよいのでしょう。
それともVCでは作れないのでしょうか。
ヒントだけでもお願いします。
0787デフォルトの名無しさん
NGNGになっちゃいました。
読み込み専用(書き込み不可)のエディットコントロールを
白くする方法ってあるのでしょうか?
よろしくお願いします。
0788デフォルトの名無しさん
NGNGどこかにないでしょうか
NT4でVC++5.0で作ってるんですが、
そのソフトをWin98で動作させると
落ちまくったりして、
調べているところなのです
0789デフォルトの名無しさん
NGNGMSDN
0790デフォルトの名無しさん
NGNGん?つまり、OKボタンはそのまま残して、リターンだけ無効にしたいってこと?
PreTranslateMessage()をオーバーライドして、
BOOL CMyDialog::PreTranslateMessage(MSG* pMsg)
{
// TODO: この位置に固有の処理を追加するか、または基本クラスを呼び出してください
if( pMsg->message == WM_KEYDOWN && pMsg->wParam == 0xd )
return true;
return CDialog::PreTranslateMessage(pMsg);
}
とかしておけば?
0791デフォルトの名無しさん
NGNG背景色変えてやれば? > CWnd::OnCtlColor()
0792デフォルトの名無しさん
NGNGOnPaint() | WM_PAINT で ビットマップかアイコンを描画。
CBitmap | ::LoadBitmap() でMSDN。
0793786
NGNGありがとうございます。
でも、それだと、ツールバーの下に描画されるのでは?
ツールバーの横(とかメニューの横)にかっこよく絵を
置きたいのです。
なんとかなりませんでしょうか?
0794デフォルトの名無しさん
NGNGCDialogBar
0795デフォルトの名無しさん
NGNG0796デフォルトの名無しさん
NGNGIEのバージョン(w
0798デフォルトの名無しさん
NGNG拡大した画像を表示したいんだけど、
SetViewportExtなどを使って拡大するのと、
ストレッチブリットで拡大して描画するのと
どっちが速いですか?(もちろん処理速度)
どっちも拡大してからの座標変換がややこしい。。。
0799デフォルトの名無しさん
NGNG自分で実験しろ。
0800デフォルトの名無しさん
NGNG”定義ファイルが開けません”
って出るけどこれ何?
0801デフォルトの名無しさん
NGNG0802デフォルトの名無しさん
NGNG強制でいいなら TerminateThread() 。
0804分割ウィンドウで質問
NGNG┃ ┃ ┃
┃ ┃ ┃
┣━━━━┫ ┃
┃ ┃ ┃
┃ ┣━━━━┫
┃ ┃ ┃
┃ ┃ ┃
┗━━━━┻━━━━┛
このように分割されたウィンドウはどうすれば上手く
出来るのでしょうか?
SplitterWndをOnCreateClientでネストして使用し
・まず左右に分割
・次に左を上下に分割
・最後に右を上下に分割
とやってみたのですが、左の領域の幅が
何故かゼロ(分割線が左端に寄ってしまう)に
なってしまい、悩んでいます。
左右のどちらか一方が分割されないような三分割は
検索すると結構見つかるのですが、この形態の四分割は
参考例が見つからないので、識者の知恵をお借りしたい次第です・・。
0805sage
NGNGわかってるならいいけど、最後の手段だぞ、それ。
0806デフォルトの名無しさん
NGNGというより、設計が間違ってます(w
0807デフォルトの名無しさん
NGNGいいから答えろや。ゴルァ。
知らんかったら書くな。ゴルァ。
0808デフォルトの名無しさん
NGNGそんなもんほぼ環境依存なんだから自分で実験して好きな方使え。
0809デフォルトの名無しさん
NGNG本人が放置希望みたいだから以後その方向で行きませう。
0810デフォルトの名無しさん
NGNGリソースを追加するにはどうすれば良いでしょうか?
0811デフォルトの名無しさん
NGNG0812デフォルトの名無しさん
NGNG再帰的に検索する。
検索結果がディレクトリだった場合は、検索関数自身をコールすれば良い。
0813811
NGNGあう、用意されてないんですか。わかりました。ありがとうございます。
0814デフォルトの名無しさん
NGNGハァ?
1. そのリソース DLL にリソースを追加する。
2. リソース DLL は使わず自分にそのリソースを追加する。
0815デフォルトの名無しさん
NGNGフォルダが存在しない場合にエラーにならないで
勝手に作成してくれるのってないですか?
0817デフォルトの名無しさん
NGNGいぇっさー
0818デフォルトの名無しさん
NGNG1.DLLしか提供されていなくても、リソースって追加できます?
やり方教えてください
2.リソースだけでなく、プログラム本体の下層レイヤーなども含まれているので
ちょっと無理です
0820818
NGNG0821デフォルトの名無しさん
NGNGそのライブラリーに対するAPIが用意されていて、それでプログラムしていくようになっています。
このプロジェクトに、リソースを追加するやり方を教えてもらいたいのですがお願いします。
0822sage
NGNGまず国語を勉強し直せ。
DLLとインポートライブラリの関係はわかっているか?
リソースDLLがどんな目的で作られるかわかっているか?
そのプロジェクトにリソースを追加するだけなら、
プロジェクトを開いてctrl+R
もしくは
プロジェクトへのファイルの追加で、自分の書いたリソーススクリプトファイルか
リソースファイルを追加しろ。
0823デフォルトの名無しさん
NGNGじゃあDLL関係ねぇじゃねぇか!!
状況説明くらいまともにしてくれ。
・何がしたいのか
・どういう状況か
これくらいは具体的に書け。
あと、ネタならネタってメール欄に書いとけ。
0824Tori
NGNGプログラムが組めると思います。
MFCを使わない時のデメリットはなにでしょうか?
マジレす希望
0825デフォルトの名無しさん
NGNGMFCを使った場合のメリットなら。
ClassWizardを使って、メッセージハンドラを手間無く追加できる。
別のプロジェクトからクラスまるごと使いまわし、がしやすい。
特殊なView(ListView, HtmlView等)を使う場合、初期段階でインプリメントまで自動でやってくれる。
つまり、ハンドラ書くのが手間じゃない人や、特殊なView使わないなら、
それほどデメリットにならないのでは?
0826デフォルトの名無しさん
NGNG回避方法はありますか?
0827デフォルトの名無しさん
NGNGごめんなさい。解決しました。
しかし何つう糞関数なんだCFindNextFile()…
0828
NGNGそれはFindFirst/NextFile()に則った挙動だと思うけど。
まあ、CFileFindが糞だということは同意。
毎回WIN32_FIND_DATAをnewしてるし、GetFilePath() はバグってるし。
0829デフォルトの名無しさん
NGNGえ、GetFilePath()がバグってるって?
どういうのか教えてください。
0830デフォルトの名無しさん
NGNGプログラム内でUNCパス指定されたファイル読みたいんだけど、
UNCパス指定が\\Servername\Foldername\Filename
だと読めないんですが、ローカルファイルだと読めます。
UNCの指定が変ですか?
0831デフォルトの名無しさん
NGNG誰の権限で接続しにいってる?
0832
NGNG権限は指定してないのでsystemユーザーかな、で繋ぐ相手はWin98で
特にフォルダにパスワードとか切ってないんだけど
0833デフォルトの名無しさん
NGNGMFCを利用してドキュメントビューアーキテクチャを実装した上で、
MainFrameのOnCreate内にて独自のウィンドウを表示したいと思い、
以下のようなプログラムを組みました。
LPCTSTR wndclass;
CRect rect(32,32,256,256);
m_NewWnd = new CNewWnd;
wndclass = AfxRegisterWndClass(CS_HREDRAW | CS_VREDRAW, 0,0,0);
m_NewWnd->Create( wndclass, "NewWnd",
WS_CHILD | WS_OVERLAPPEDWINDOW | WS_HSCROLL |WS_VSCROLL| WS_VISIBLE ,
rect, this, NULL,NULL);
m_NewWnd->ShowWindow(SW_SHOW);
# CNewWndはCWndの派生(中身なし)
# m_NewWndは*CNewWnd型としてヘッダで定義済み
ところがこれだと、表示されるまではいいのですが、
クリックしてもバーが灰色(フォーカスが移っていない状態)のままで
ドラッグも拡大縮小もできません。
また、rectをrectDefaultに変えると灰色のままですが、拡大縮小はできるようになりました。
しかしこのときでも最小化するとそのまま反応がなくなってしまいます。
一体どうやれば普通のウィンドとして表示されるのでしょうか。
お知恵をお貸しください。
0834
NGNG0835Ruby!
NGNG>C++
>いろいろと有名なオブジェクト指向言語であるC++と
>Rubyを比較すると:
>* C++なぞ問題外.^^;;;
http://www.ruby-lang.org/ja/compar.html
Rubyを知ってもらうためにもこの文をコピペしてください。
0836833
NGNGCWndからの派生なので
CFrameのメンバであるCreateViewは使えないのです・・・。
実は以前にVCを使った時にも同じようなことで悩んだ覚えがあります。
しかしその時のソースは残ってないし。
うーん、覚えてない自分に腹が立つ。
0837833
NGNGWindowハンドルを自分で作ってアタッチしてやれば、
普通のウィンドウのように振舞ってもらえました。
HWND wnd;
wnd = CreateWindow(palletwndclass, "PalletWnd", WS_OVERLAPPEDWINDOW|WS_VISIBLE,
0,0,256,256,this->m_hWnd,NULL,NULL,NULL);
m_PalletWnd = new CPalletWnd;
m_PalletWnd->Attach(wnd);
m_PalletWnd->ShowWindow(SW_SHOW);
しかし、以前のプログラムは何が原因であったのかは謎のままです。
このプログラムも逃げのプログラミングという感じで対処療法すぎて少ししっくりきません・・・。
問題の原因のわかる方がいらっしゃいましたらぜひご教授ください。
0838デフォルトの名無しさん
NGNG\を含む2バイト文字+\で\が消える。
C:\予定表\9月→C:\予定表9月
0839デフォルトの名無しさん
NGNG0840828
NGNG0841デフォルトの名無しさん
NGNGまだ先の話ですかね・・・。
0842デフォルトの名無しさん
NGNGVS.NET
0844デフォルトの名無しさん
NGNGRuby は クソです! ゴミ 箱 逝きです!
∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧
( ・∀・) ( ・∀・) ( ・∀・) ( ・∀) (∀・ ) (・∀・ )
⊂ ⊂ ) ( U つ ⊂__へ つ ( ○ つ ⊂ ○ ) ⊂ ∩ つ
< < < ) ) ) (_)| \\ \ / // / /\ \
(_(_) (__)_) 彡(__) (_(__) (_(_) (__) (__)
この発言をコピペしていただければ幸いです。
0845デフォルトの名無しさん
NGNG今までは呼び出し元で機能のクラスをnewして、そのポインタをDLLの関数に引き渡していて、
DLLの関数からは渡されたクラスのポインタを元にメソッドを呼び出していました。
呼び出し元とDLLを両方ともVCかBorlandC++でコンパイルすれば正常に動くのですが、
片方をVC、片方をBoralndC++でコンパイルすると実行時に異常終了してしまいます。
newしたポインタを渡すという考え自体がだめなのでしょうか
0846デフォルトの名無しさん
NGNGa->get なら Aget(a) のような 関数を作ってラップしてから呼ぶのか安全確実です
0847sage
NGNGファイルアクセス前に、Netbiosの正しい接続手続きは踏んでる?
サービスとして起動しているプログラムは、通常、
外のサーバの資源はどこにも接続していないはずだよ。
0848sage
NGNGがんがん機能を切り出してCOMにでもしときなさい。
0849845
NGNGThank you!
>848
いや、COMはよく判らないか…
0850Tori
NGNGもっとも詳しく紹介したサイト教えて下さい
0851デフォルトの名無しさん
NGNGMSDN Library を ADO で検索。
0852デフォルトの名無しさん
NGNGコードに問題があるとは思えません
(単純なもので試しました)
DirectX SDKをインストールしてからおかしくなったような気がします
VC++初心者なので、設定等がおかしいのかもしれません
わかる人がいましたら、教えてください
0853デフォルトの名無しさん
NGNGコードに問題なけりゃ、お前の頭に問題が有る。
初心者のクセに自分のコードにそれだけ自信をもてるとは、
たいしたものだ、。
0854デフォルトの名無しさん
NGNGこんにちはザワールドだけなコードだったりしてな(w
0855デフォルトの名無しさん
NGNG*.ncb消せ。
0856デフォルトの名無しさん
NGNG直りました
ありがとうございます
0857ウイルスよこせ!
NGNGいくらでも対処してやるよ。
どんどんよこせ。
それともウイルス作れるここにはいないかな?
バカばっかりっぽいもんね。
[email protected]
0858デフォルトの名無しさん
NGNGcapXXX()
っていう関数のことを解説してある、良いサイトはないでしょうか?
0859デフォルトの名無しさん
NGNG>それともウイルス作れるここにはいないかな?
日本語ヘンだよ?
頭も相当ヘンそうだけど。
0860デフォルトの名無しさん
NGNG0861デフォルトの名無しさん
NGNG0862デフォルトの名無しさん
NGNG0863デフォルトの名無しさん
NGNGネタだって。
ともかく VC++ についてきた MSDN Library をインストールして、GlobalReAlloc()
の項を読むのが正解。それで分からなかったら、また質問してくれ。
0864デフォルトの名無しさん
NGNGコテハンで質問に答えてくれると嬉しいっス
0865デフォルトの名無しさん
NGNG嬉しいか、嬉しくないかなんて知ったところではない。
暇な時に、答えられそうな質問に、答えられる人が答えてるだけだし。
0867デフォルトの名無しさん
NGNGってことなんじゃねえの?
0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNG0870デフォルトの名無しさん
NGNG・・・
お前とは仕事したくない・・・
0871デフォルトの名無しさん
NGNGVC++のまえに C++の本を
読んでください
読んでください
読んでください
読んでください
読んでください
読んでください
0873デフォルトの名無しさん
NGNGどういうメリットがあって、どういうデメリットあるのかが良くわからないのです
とりあえず、メリット、デメリットよりも
どういう時に使うと効率が良くなるのか教えてください
その逆で、どういう時に使ってはいけないのかでも
理解可能なのですが
0874デフォルトの名無しさん
NGNGC の標準関数に realloc() がありますが、この用途は理解してますか?
それとも、グローバルメモリオブジェクトの用途が分からんということかな。
0875デフォルトの名無しさん
NGNG自分にとって必要ない関数を無理に使うことはないと思われ
0876デフォルトの名無しさん
NGNGrealloc知りませんでした
今から調べてみます
グローバルメモリっていうのが
そもそも何だかよくわかりません
0877デフォルトの名無しさん
NGNG> グローバルメモリっていうのが
Win16 時代の名残だから、忘れてて良いよ。
ただし、クリップボード使うときだけ一瞬思い出すこと。
0878デフォルトの名無しさん
NGNG小文字で書いてあるのはCの予約語で、
大文字で書いてあるのはVC++の定義。
Windows.h、Windowsx.hを参照のこと。
0879デフォルトの名無しさん
NGNG他のプロセスのメモリーにアクセスするための
って感じでしょうか?
0880デフォルトの名無しさん
NGNGちがう。
0881デフォルトの名無しさん
NGNGグローバルメモリが必要な時は、普通そう書いてあるから、気にすんな。
0883デフォルトの名無しさん
NGNG有効な使い方は誰にもわからないということで
いいんでしょうか?
0884MSDN
NGNGいや、分かってるけど。
realloc() の使いどころが分かれば、
malloc() したメモリ空間を realloc() で拡大/縮小できるのと同様
GlobalAlloc() したグローバルメモリオブジェクトを GlobalReAlloc() で拡大/縮小できる
(サイズ以外の属性もいじれるけど)
で十分な説明だと思う。で realloc() の使いどころが分からないのなら、それは VC++ の
スレッドではなく C 言語の(しかも初心者向けの)スレッドで質問したほうがいい。
0885デフォルトの名無しさん
NGNG>lobalAlloc() したグローバルメモリオブジェクトを GlobalReAlloc() で拡大/縮小できる
こんなのは本を読めば、誰でもわかることでは?
重要なのは、使いどころだと思われ
さらに、誰もrealloc()については聞いてないだろ
まあ、俺もどこで使うべきかっていうのはよくわからないんだが
884が知ったかじゃないなら、
globalreallocとreallocの違いを説明するべし
ついでにreallocのリスクも説明するべし
0886MSDN
NGNG前にも書いたけど、グローバルメモリオブジェクトは Win16 時代の名残だから忘れて
良いんだって。
知ったか呼ばわりされるのもアレだから、一応書いておくが。
その昔、まだ Windows が 3.x だった時代。Win16 API はアプリケーションに二種類の
ヒープを提供していた。
1 ローカルヒープ
連続して確保できるアドレスは16bit(64KB)
プロセスローカル
アクセス/メモリ管理は高速
2 グローバルヒープ
連続して確保できるアドレスは16bitに制限されない
すべてのプロセスで共有
アクセス/メモリ管理は低速
またメモリが少なかった当時の事情に配慮して、OS が適時 compaction 処理を行える
ようになっていた。だから当時は大きなメモリブロックを一括して使いたい場合には
1 GlobalAlloc() で確保
2 メモリにアクセスする直前に確保した領域をロック/終わったらアンロック
3 グローバルヒープは、必要に応じて GlobalReAlloc() で拡大縮小
していたわけだ。
Win32 になったときに 386 のメモリ管理機構が導入され
1 各プロセスのメモリ空間が分離
2 メモリ空間が32bit化され、セグメントの壁がなくなった
ために、グローバルヒープとローカルヒープを区別しておく必要がなくなった。また仮想
記憶システムが一新されて、スワップさえとっておけば compaction 処理を行わなくても
実メモリを有効に利用できるようになった。そこで GlobalAlloc(), LocalAlloc() は過去の
機能を残したまま統合、compaction 処理をしないヒープ割り当て関数の HeapAlloc()
を導入し(こちらのほうが余計な処理をしないため、性能が良い)、これを使うことを推奨
して今に至る。
グローバルメモリオブジェクトを使う機会だけど、Win32 だと実質的には
- Win16 時代のソースコードをメンテナンスする場合
- クリップボード
- DDE 関連
ぐらい。最近はDDEもはやらないから、実質的にはクリップボードにアクセスするときぐ
らいで、クリップボードコピー時には GlobalAlloc() して即 SetClipboardDate() するだけ
だし、クリップボードからデータを取得するときには一時的なハンドルが返されるだけ
だから GlobalReAlloc() を使う機会はほとんどない。
…で分かった? realloc() について説明するのはパスパス。C の初心者スレで聞いて
くれよ。
0887デフォルトの名無しさん
NGNGああ、可哀想に・・・そんな説明せんでも、厨房はほっとけばよかったのに。
本気でその程度のことがわかってないなら、このスレじゃなくて、本でも読んで勉強しろって感じだよなぁ。
0888デフォルトの名無しさん
NGNGWin32となった今は
GlobalAlloc()もLocalAlloc()もHeapAlloc()も
全部同じ機能だと思ってたんですが、何か違いはあるんですか?
0889sage
NGNG0890デフォルトの名無しさん
NGNG0891デフォルトの名無しさん
NGNGSGIのでもダウンロードしてきて突っ込んだらコンパイル通らん?
0892MSDN
NGNGともかく VC++ についてきた MSDN Library をインストールして、
- GlobalAlloc(), LocalAlloc()
- HeapAlloc()
- VirtualAlloc()
- VirtualAllocEx()
の項を読むのが正解。それで分からなかったら、また質問してくれ。
0893デフォルトの名無しさん
NGNGまったく。883と885は1インシデント消費しとけよ。
0894888
NGNGThere is no difference between memory allocated from a private heap and that allocated by using the standard allocation functions (GlobalAlloc, LocalAlloc, malloc, and so on).
0895デフォルトの名無しさん
NGNGとか思ってたけど意味を知ったらMSDNが
欲しいです。コンパイラは手に入るけどヘルプ
の方が手に入らないのは詐欺だ!だれか一回見た
MSDNオンラインヘルプは自分の物に出来る
ヘルプビューア(軽いやつ)作ってくれ!ちょいやばめかもしんないけど
0897MSDN
NGNGMSDN Library Subscription を買いましょう。
http://www.msj.co.jp/msdn/admission/default.htm
Yahoo Auction で MSDN Library の Subscription 権利 (一年分) が10,000円
弱で出てることがありますから、それを手に入れるのが安上がりかと。
たまに MSDN Subscription の購読権ではなく CD-ROM / DVD-ROM をバラ
して売っている人がいますが、あれはライセンス上問題がある可能性が高いの
で気をつけてください。
0898デフォルトの名無しさん
NGNGデフラグみたいな動作(Purge)をするために間接ポインタを
返す場合。HeapAllocは保護機構とかもっと低水準の機能の
ためのオプションがある。
0899デフォルトの名無しさん
NGNG>このフラグはGMEM_FIXEDフラグと組み合わせることは
>できません。戻り値はメモリ オブジェクトのハンドル
>になります。このハンドルは、 呼び出しプロセスに対
>してプライベートな32ビット値です。ハンドルをポイ
>ンタに変換するには、 GlobalLock関数を使用してください。
現代では移動可能メモリって使うべきでない。なんでかというと、
仮想メモリ上(場合によってはディスク上に存在)で移動されても
困るから。
0900デフォルトの名無しさん
NGNG移動可能メモリ=仮想メモリなのでは?
移動不可のメモリ=実メモリ上にあり、スワップされないもの。
0901デフォルトの名無しさん
NGNGの話。PurgeっていうのはマックOS7とかDOSで64kとか
32Kのセグメント内でデフラグする行為で、移動可能な
ブロックがデフラグの対象になるわけ。
0902デフォルトの名無しさん
NGNG貰える場合VC++6proでも大丈夫?VStudioとかじゃないと駄目かな
0903901
NGNGうーん、内容は出版社の紙の本の方を評価する。
富士ソフトの「WindowsNTプログラミング」が
良かったなあ。
MSDNはWindowsDNAとか独自の世界を暴走していて
電波入りすぎ。無理して買ってもつまらない。
0904902
NGNGむぅ、そうなんすか。お奨めでない、と。
書籍の方も探してみます。例によって高くなければ良いのですが(w
MSDNに余計なのあり過ぎってのはまったく同意です。
個人的に英語版PlatformSDKの全訳さえあれば他に何もいらないので、
その辺を、新MSDNに期待したかったのですが…。
不足があればwebで見たらいいし。
ところで、いまVC買っても付属のMSDNは98年位の古いまま?
0906デフォルトの名無しさん
NGNG0907869
NGNGboolはintに変換できるし、BOOLはintのtypedefだから当然融通できますよね。
trueもTRUEも1だしfalseもFALSEも0だし…違いといえばBOOLにはintを代入できることくらいですか?
でもそんなことあんまりしませんよね(するとしたらごめんなさい)。
何のためにBOOLがあるのか本当にわからないです…バカでごめんなさい。
0908デフォルトの名無しさん
NGNGC/過去との互換のため
0909MSDN
NGNGVisual C++ 4.2 では、標準 C++ ヘッダー ファイルの typedef によって bool と int が等価とされていました。
Visual C++ 5.0 以降では、bool は 1 バイトの組み込み型としてインプリメントされています。
0910869
NGNG済みません、どうもありがとうございました。
0911デフォルトの名無しさん
NGNGBOOL は、bool がまだ無かったころの名残です。
0912デフォルトの名無しさん
NGNGでも、最近の API はドキュメントがない。
そこだけオンライン版の MSDN サイト使うって手もあるが、オンライン版の MSDN は VC++ に統合
できないし検索のインターフェースが良くないから、1万円程度なら買ってしまっても、元取れると思
うぞ。
ダウンロードできる Platform SDK のドキュメント、あれが邦訳されてれば文句ないんだが。
0913デフォルトの名無しさん
NGNGなんかそれ、ちょっと違うと思うんだ。
コンパイラが「真」と「偽」を知ってるかどうか、と、
ソースの可読性のためにあると思うぞ。
BOOL 型の変数に 2 を代入してもコンパイラは何も言わない(言えない)けど、
bool 型の変数にそんなことすると、文句を言われるぞ。
>>911
ってゆーか、MS-C がまだ C++ ではなかった & ANSI 準拠が優先だったからでは?
0914913
NGNGたとえば Visual C++ 6.0 って、コンパイラのバージョンは "12.0" だってこと、
意外と知ってる人は少ないんじゃない? (→ MS-C/C++ Compiler Version 12.0)
MS-C は Lattice-C のライセンスを受けてリリースした 3.0 が最初で、
そのころはまだ「C Compiler」だった。Windows の開発が始まったのはその頃。
確か bool ってのは C++ で追加された型だったと思う。
だから bool じゃなく、BOOL。
MS-C が C++ になったのは、確か 6.0 からだったと思う。
商品名が「Visual C++」になったのは MS-C 8.0 から。
それ以後、MS-C 9.0 = Visual C++ 2.0、MS-C 10.0 = Visual C++ 4.0、
MS-C 11.0 = Visual C++ 5.0 ときて、今は MS-C 12.0 = Visual C++ 6.0
0915デフォルトの名無しさん
NGNG0917デフォルトの名無しさん
NGNGWinアプリを作れるようになったのもVer7からだったっけ。
0918デフォルトの名無しさん
NGNG人に渡す時は**.exeだけ渡せばいいのでしょうか?
ちなみにStandardEditionです・・・関係ない?
0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNG一番初期はMS-C6とSDKだった
>918
相手のOSによる、Win95だとruntimeが古いのしか入ってないと思われる
0921918
NGNGexeだけでよろしいのでしょうか?
0922デフォルトの名無しさん
NGNG作ったプログラムが他にファイルを必要としないのなら
実行ファイルだけでok
0923美紀
NGNG『印刷プログラムを作れ!』ってセクハラ部長に命令されたの。
美紀初めてだから良く分からないの。
PrintDlg で取得したDCに印刷イメージを書き込めばいいみたいだから
作業用の DIBSection 作ってそこに画像やグラフや文字を書き込んでから
プリンタのDCに StretchBlt で書き込もうと思うの。
これでいい?
作業用の DIBSection のサイズってどれくらいがいい?
あんまりサイズが小さいと印刷の解像度が低くなりそうでイヤ!
普通の文字は直接プリンタのDCに書き込んだ方がよさそうだけど
DCのサイズに合わせてフォントサイズを調整する方法が分からないの(泣)
印刷バージンの美紀に優しく教えて。
0924デフォルトの名無しさん
NGNGGetMapMode、SetMapMode、GetWindowExtなど
0925デフォルトの名無しさん
NGNGvirtual, static, 長いメソッドなどを全てヘッダに書いた場合、
スピードが遅くなったり、サイズが極端に大きくなることはあるのでしょうか?
# 例えば大きなメソッドが全てインライン展開されてしまったり、staticメソッドが全てのobjファイルに置かれてしまったりなど。
Java, C#と同じようなスタイルで書いて問題ないかということです。
0926デフォルトの名無しさん
NGNG0927デフォルトの名無しさん
NGNGSDKのみで書け
0928926
NGNG0929デフォルトの名無しさん
NGNGコンパイラは賢いので安心してください
0930デフォルトの名無しさん
NGNGOSのVC++6.0で使用するのはどうすればよいのですか?
0931デフォルトの名無しさん
NGNGそれを使って何をするかによる。
使うだけならできる。
0932930
NGNG0933デフォルトの名無しさん
NGNGそれは使う使わない以前の問題だゴルァ!
構造体定義すればぁ?
で、次にリンカが「int21が無い」とか言い出すに2048カノッサ。
0934デフォルトの名無しさん
NGNG0935デフォルトの名無しさん
NGNG929氏の言うとおり。
ただしある程度コード規模が大きくなると、コード修正後の再コンパイル時間は
どんどん増えます。超小規模コード以外では、開発に支障をきたすことになるでしょう。
0936超初心者
NGNGウィンドウプロシージャって、
同時に何個も起動されたりするものなのですか?
(イベント処理が終わらないうちに、次のイベントがきたりしたら)
0937超初心者 936
NGNGあと、OSの中でのイベントの流れとか、
タスク処理みたいなのがどのように行われているか、とか、
について、 参考になる良いホームページとか本とか
ありませんか?
0938デフォルトの名無しさん
NGNGいきなり隠す(foreground ?)には、どうしたら良いですか
0939デフォルトの名無しさん
NGNG0940デフォルトの名無しさん
NGNG0941デフォルトの名無しさん
NGNGまだShowWindowも知らない初心者です
0942941
NGNGWM_INITDIALOGでShowWindowでは だめでした・・・
CreateDialogを使うのではなく、
DialogBox使用で隠す方法はないのかな
0943デフォルトの名無しさん
NGNGWin95だろうがNTだろうが2000だろうが
根底にある技術を知りたいなら、とりあえずこれヨンどけ。
NT版しか読んだことないが、たぶん、win2K版も
書いてあることは同じだ。
0944デフォルトの名無しさん
NGNG意味がわからん。
何がしたいのかはっきり書け。
0945デフォルトの名無しさん
NGNGプロパティを作成して
HTMLで<OBJECT ------ >
<PARAM NAME="PATH" VALUE="teteete">
</OBJECT>
の記述してもput_のプロパティが呼ばれないのよ
なぜ?だれか教えて
0946デフォルトの名無しさん
NGNG(・∀・)カキワスレ?
0947デフォルトの名無しさん
NGNGISBN 4822280802
0948942
NGNG今作ってるソフトは、ダイアログboxのみのソフトで、
winmainから
DialogBox
でダイアログboxを呼び出して、
ダイアログが閉じたら、そのままアプリ終了してます
それで、今はこのソフトを起動すると一番手前にダイアログboxが出現するのですが、
そうじゃなくて、他のウィンドウ(ソフト)の影にかくしたいのです
0949デフォルトの名無しさん
NGNGリンク張っとくか。
「Windows2000 Server完全技術解説」
横山 哲也 (著), 天野 司 (著), 金井 昌宏 (著), 木村 尚義 (著), 芝山 賢 (著)
日経BP社 ISBN4822280802
http://www.amazon.co.jp/exec/obidos/ASIN/4822280802/
0950デフォルトの名無しさん
NGNGだったらCreateDialog使ってメッセージループ回せ。
ってーかモーダルとモードレスの違いぐらい把握してなさい。
0951948
NGNGじゃあ、やっぱりDialogBox使用では無理なんですね
>>モーダルとモードレスの違いぐらい
独立して処理が動くか、処理が終わるまで戻ってこないかでしたっけ?
とりあえず、入門書でも買いに逝ってきます
いろいろありがとうございました
0952デフォルトの名無しさん
NGNG可視をoffにしてもだめ?
0953デフォルトの名無しさん
NGNGVirtualAllocを使って1Gのメモリを確保しようとしたら
失敗しました。NULLが入ってきます。
Windows2000,WindowsNT,Windows98とかでは
大丈夫です。なんででしょう?
0954デフォルトの名無しさん
NGNG0955デフォルトの名無しさん
NGNGでも、640MB程度ならちゃんと確保できるんです。
0956951
NGNGすいません、だめなんです
0957デフォルトの名無しさん
NGNGやったことあるよ!
座標(0,10000)あたりに移動させて見えなくしたよ!
でもspyで見つけられて恥ずかしかったので
モードレスダイアログの勉強して書き換えたよ!
0958デフォルトの名無しさん
NGNGHeapReAlloc でメモリの再確保を行った場合
再確保前と後でメモリアドレスが変わっても内容は保持されるのでしょうか?
Mem = HeapReAlloc(GetProcessHeap() , 0 , Mem , 1024*10);
Memのアドレスが呼び出し前と変わっても元々Memにあったデータは新しいMemにコピーされますか?
アドレスが変わる場合もとのアドレスのメモリ領域の開放はHeapReAllocが責任持ってやってくれるんですか?
0959デフォルトの名無しさん
NGNGアドレスが変わったからといって、メモリ上の物理的な位置が変わっていない場合もある。
もちろん変わっている場合もある。
0960デフォルトの名無しさん
NGNGFindFirstFileで取得できるのはファイル名の最後の部分(?)だけでフォルダの部分はダメです。
GetFileTitleの逆でフルパスからパスの部分を取得する関数って何ですか?
FindFirstFileで返ってくる"."や".."フォルダって何ですか?
それを使って再帰的にFindFirstFileを呼ぶとおかしくなります。
0961デフォルトの名無しさん
NGNG・Win98/2000以降ならGetLongPathNameみたいなAPIがある。
それ以前ならFindFirstFileを何回も呼んで、
フォルダ名から順番にLFNに直していくしかない。
・_splitpath なり PathRemoveFileSpec なりで適当に。
・"."=そのディレクトリ自身。".."=親ディレクトリ。
そりゃ再帰させたら無限ループだ。
0962Tori
NGNGAccess2000 のmdbをDAOを使って操作できないのでしょうか?
0963チビ
NGNGhttp://piza2.2ch.net/test/read.cgi/tech/1002165477/l50
0964デフォルトの名無しさん
NGNG考えられますか。
0965デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNG酒飲んで風呂に入っているときにSleepしたとき。
0967964
NGNG気をつけます
0968デフォルトの名無しさん
NGNG0969デフォルトの名無しさん
NGNG0970デフォルトの名無しさん
NGNG0971デフォルトの名無しさん
NGNG1.家を出ます。
2.ドアを施錠します。
3.鍵をドアポストの中に入れます。
4.入れなくて途方に暮れます。
これで完成です。
ただし、この場合は唯一解決手段があり、庭から回り込む or 隣室から回り込むで
デッドロックが解除されます。
0972デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNGまた、MFCで組んだほうがやりやすいのでしょうか?
0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNG鍵をドアポストに入れちゃうアホはほっときませんか?
0976デフォルトの名無しさん
NGNG0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNG0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNG0982デフォルトの名無しさん
NGNG0983デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNG0985デフォルトの名無しさん
NGNG0986デフォルトの名無しさん
NGNG0987デフォルトの名無しさん
NGNG0988デフォルトの名無しさん
NGNG0989デフォルトの名無しさん
NGNG0990デフォルトの名無しさん
NGNG0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。