Windows Programing for C/C++(Not MFC)
レス数が1000を超えています。これ以上書き込みはできません。
00011
NGNGWindowsプログラムを作るにあたって、API以外の疑問や質問を
ぶつける為に作りました。
自分もMSの摩訶不思議な規則や仕様(バグ)等に悩まされてます。
質問や疑問以外にも、プログラミングしていて気付いた事や発見等も
書き込んでくれると有難いです。
あ、自分の開発環境はVisualC++でMFCを使ってないので
C/C++でMFC無しの方向でお願いします。
00021
NGNGそれは、最初に渡されるHINSTANCEの扱いです。
Windowsプログラム等を見ると、迷わずグローバル変数を使ってますよね。
最近までは、グローバル変数を定義して、渡された瞬間に値を代入してましたが
最近は、GetWindowLongを使ってウィンドウハンドルから求めてグローバル変数を
使わない方向にしています。皆さんは、どうされてますか?
0003デフォルトの名無しさん
NGNGMFCなしでC++って人いるの?
0004デフォルトの名無しさん
NGNG00061
NGNG自分はMFC無しでC++でプログラムしてます。
やはり、CよりC++の方が慣れてくると色々と
便利ですし…(その分…いや倍位、短所もあるけど)
どちらかというと、不満無くMFCを使ってる人の方が不思議です。
0007デフォルトの名無しさん
NGNG漏れはグローバル変数に入れてしまってるが、確かにグローバル変数は使わない方向で逝きたい…。
が、ウィンドウハンドルから取得って、そのウィンドウハンドルは、何処から取得するの?
0008デフォルトの名無しさん
NGNG誰も不満無くMFCを使ってる奴なんかいねーよ。
みんな、不満言いながらMFC使ってんだよ。
0009デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG禿同。
MFCだけでなく、Windows自体が…(以下略)
0012デフォルトの名無しさん
NGNGオレの記憶違いでなければ、Win32以降のWinMainに渡されるHINSTANCの値は
ともに無意味だっと思うが。だからオレは固定にしている。
0013デフォルトの名無しさん
NGNG今まで無事でよかったね。
0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNGるつもりだがなにか問題があるか? 具体例を示してくれ。
0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNG00181
NGNG>>13
>>15
なんとなく、わかってたんだけど、実験してみて初めて知った。
BOOL CALLBACK EnumWindowsProc(HWND hWnd,LPARAM lParam){
TCHAR szWindowText[200], szBuff[300];
GetWindowText(hWnd,szWindowText,200);
if(szWindowText[0]==0) return TRUE;
sprintf(szBuff, "%s - %08x",szWindowText,GetWindowLong(hWnd,GWL_HINSTANCE));
SendMessage((HWND)lParam,LB_ADDSTRING,0,(long)szBuff);
return TRUE;
}
LRESULT CALLBACK TestWindowProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam){
static HWND hList;
switch(uMsg){
case WM_CREATE:
hList = CreateWindow(TEXT("LISTBOX"),NULL,WS_CHILD|WS_VISIBLE|LBS_STANDARD,0,0,0,0,hWnd,NULL,(HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE),NULL);
EnumWindows(EnumWindowsProc , (LPARAM)hList);
return 0;
0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1017072275
00211
NGNG>>10
>>11
>>14
>>17
皆さん、Windowsプログラムは仕事でしてるんでしょうか?
自分の場合は仕事でする場合は1人か、複数人でも幸運にも
MFCを使わない場合が多いのです。
あとは、趣味でプログラムをする時ですが、
この時はもちろん、MFC無しです。
仕様とかで「MFCを使う事」とかになってるんでしょうか?
それとも、もともとMFCを使って組んであって、それを引き継いだとか??
0022デフォルトの名無しさん
NGNG「C/C++で Windows programming をサポートするフレームワーク/ライブラリって知りませんか?
有名なやつはいいです」
という質問なら理解できる。あるかどうか知らんけど。GTKがあるか。
> Windowsプログラムを作るにあたって、API以外の疑問や質問を
> ぶつける為に作りました。
> 自分もMSの摩訶不思議な規則や仕様(バグ)等に悩まされてます。
摩訶不思議な挙動はAPIの実装あるいは仕様が引き起こすものだ。
にもかかわらずAPI以外という限定は理解できん。
それから >>2 は明らかに WIN32API 逝きだ。
>>21
MFC使いに苛められたのか?
002312
NGNG>>21
わしは、仕事の関係でMFCを使用している。既存のコードがMFCなんでね。
その改修をやると仕方なしにMFCを使用せざるえない。
個人では、自作のライブラリーを利用している。
>>22
>摩訶不思議な挙動はAPIの実装あるいは仕様が引き起こすものだ。
>もかかわらずAPI以外という限定は理解できん
一部同意、確かにほとんどは、APIの実行結果に互換性がなく発生することが
多いな。
ただ、ヘッダーファイルの構造体の定義の一部変更でおかしくなることもあるね。
わしが最近はまったのは、フリーの3Dライブラリーをわしのライブラリーで
使用としたらリンクが出来なかったことがあった。
リンクできないのは、3Dライブラリーで「#define STRICT」が定義していな
かったせいなのだが、最新のwindows.hでは「STRICT」を使用していない可
能性も考えられる。
そういうことを1は知りたいのではないか?と勝手に憶測するがね。
0024デフォルトの名無しさん
NGNG00251
NGNGそうですね。スレの趣旨とズレた方向に話を持っていってしまったみたいですね。
スレ立てた本人が、スレの趣旨と違う事を書いてたら駄目ですね…。申し訳ない。
ここのスレの趣旨はAPI以外のWindowsProgramに関する事、全てです。
言語はC/C++で非MFCという事で。別にMFC使いに苛められたい訳では無いです。
…が、書き方がソレっぽくなっちゃいましたね。
今、直ぐに「コレ」といった例が思いつかないのですが、プログラムを
していると、APIの純粋な疑問よりも、バージョンの違いから来る
動作の違いや、定義の違い等がありますよね?
あと、サンプル等ではAPIの動きを説明する為に、それに特化した不自然な
プログラムが載っている事が多々あります。しかし、Windowsプログラムには
独特のクセ等が多く、それを自然なプログラムだと自分で思っていて、後で
それが不自然なプログラムだった事に気付いたりする事は多いのではないでしょうか?
そういう疑問を質問して答える場が無いなー。と思ってスレ立ててみました。
>>2では、「HINSTANCEをどういう風に扱っていますか?」という疑問で
「HINSTANCEをどう取得すれば良いか?」という結果重視の質問ではありません。
その辺が「WIN32 APIスレ」と違う所だと自分で思っているのですが…。
0026デフォルトの名無しさん
NGNGMFC使ってるけど、GetWindowLong()使ってるYO!
それ以前にHWND hWnd = GetSafeHwnd();ってやって、Win32APIで処理してる。
単なるラッパならラッパ関数呼ばなくなった分だけ早くなんねーかな? とか思ってんだけど、実際はあまり変わんねー。
でもやる(藁
0028デフォルトの名無しさん
NGNG>摩訶不思議な挙動はAPIの実装あるいは仕様が引き起こすものだ。
>にもかかわらずAPI以外という限定は理解できん。
漏れが思うに「WIN32API質問箱」の方も定義がいまいちだと思うYO!
例えば、ウィンドウの最大化ボタンとクローズボックスを非表示にして
最小化ボタンだけ表示させたい時に、質問するのは「WIN32API質問箱」か?
質問しても、「WM_NCPAINTを捕まえて自前で処理しろ!」と言われるのが
オチだろう。確かに、そうだけど実際それを実行するのは難しいし
質問者は、むしろ、「どう自前で処理をすれば良いのか?」という疑問に
進む事は当然だろう。しかし、それを質問すると「質問厨」とか言われて
おしまいだろう。
もしかしたら、他の意外な方法(効率とかは抜きで)があるかもしれないし
そういうAPIやメッセージを駆使して実現する事は、APIの質問からズレて
いるような気がする。
ここは、そういう趣旨のスレなのでは?…と勝手に漏れは推測する。
…というか、願う。漏れも、この手の疑問はいっぱいあるから。
0029デフォルトの名無しさん
NGNG「C/C++で Windows programming を(略)」なスレなら(・∀・)イイ!。
マイナーな奴でこんなのはどう?
SOL++
http://home.att.ne.jp/green/atlan/sol2000/library.html
Motifにバイアスがかかってる感じのクラスライブラリ。
もう手に入らないけど、ソフトバンクから出てた
「Windows 95 SUPER CLASS LIBRARY」って本に
ついてたやつの最新版みたい。
0030デフォルトの名無しさん
NGNGGetModuleHandle(NULL);でいけない理由は?
たとえば、ウインドウを持たないdllのインスタンスハンドルを得るにはどうしてる?
00311
NGNG特にGetModuleHandleでは、いけない理由はありません。
…というか、今までグローバル変数を定義して、
渡された瞬間に値を代入してました。Windowsのサンプルプログラムでは
ほとんどが、この方法になってると思います。(Windows APIバイブル等)
しかし、そうじゃなくてGetWindowLongを使った方がグローバル変数なんか
定義しなくても良いんじゃないのか?と、最近思った訳です。
GetModuleHandleですか…。それは気付きませんでした。
確かに、こっちの方がスマートかもしれませんね。
もしかして、GetModuleHandleでHINSTANCEを取得している方って多いんでしょうか?
それとも常識??自分が今まで気付かなかっただけ???
0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNGhttp://www.fox-toolkit.org/
こういうのは?
0034デフォルトの名無しさん
NGNGだったりするが)を見直してる。
昔はグローバル変数等で管理している状態?と実際の状態がバグで
食い違ったり、APIで取れる情報を変数に抑えておくと、同じ情報を
二重に持っているみたいで嫌だったんで、APIで取得できる情報は
変数に押さえるのを極力やめていた...
が、しかし、パフォーマンスがでないんよ。結構頻繁に使用する
情報だったりすると、ちょっとした連想配列使った情報検索
なんかよりAPI呼び出しの方が高価みたい。
が、HINSTANCEは頻繁庭使わんか。
0035デフォルトの名無しさん
NGNG普通は頻繁に使う/ループ内で使う値は自動変数に一時的に保存するだろ。
0036デフォルトの名無しさん
NGNGグローバル變數になつて問題は無い、と思つてをります。
問題となる使ひ方は、処理の簡略化のため、データのやり取りに使ふ、
というやうな場合ではないですか?
003734
NGNG大体においてローカルで済ませられるならそのほうがいいでしょ。
でもwindowsのGUIはメッセージループに戻る必要があるでしょ。
でね、それをウィンドウ矩形毎回取得したり、GetWindowLong使ったり、
IsWindowVisible使ったり...つまりはそういうAPI叩きは遅いって事。
実際には独自HashMapでHWNDと関連づけたデータ構造から状態取得
したほうがえらく速かったという。
MFCとか使ってるならCWnd派生クラスのメンバ変数でも良いが、
MFCはメッセージループからしてとろいからなー。
0038デフォルトの名無しさん
NGNGまぁ、悪いとは言わないけどね。
外部アプリから勝手にウインドウスタイル変更されたりした場合に、
内部の状態と食い違いが生じてくるでしょ。
003934
NGNGそうなのよねー、そこらへんが悩みどころ。
性能とのトレードオフっちゅー事でしょーか。
かといって昔の俺の様に、何でもかんでもグローバル
データや情報の二重管理は良くないって思っている人結構
いないですか?
実際にはバグ以外では有り得ないって事は言えないですが、
子ウィンドウが外部アプリで勝手にクローズされたり等
対話アプリとして作っている以上きりがないので
(そんな事コーディングで毎回チェックしてられねーっ
ちゅうねん)俺は使用頻度が高い情報はオフラインキャッシュ
とゆーか、プログラムのメモリに置くのもOKだと思う。
#DBのファイルを稼動中に書き換えて、DBのメモリ内のキャッシュ
とファイル内の情報が食い違うようなものだと思うが。
MSのアプリや市販ソフトも自作アプリからスタイル変更したり
SW_HIDE等しても無視されちゃってるしね-。
#逆に不正操作(チート)防止の為にわざとやってるとしか思えない
様な挙動をしたりして。
00401
NGNG了解です。スレの趣旨がわかった方が少数でもいるみたいなので、
>>1は、ここで消えます。(何か自分に対する質問があれば別ですが)
次回からの自分の書き込みは「デフォルトの名無しさん」という事で…。
0041デフォルトの名無しさん
NGNGスタイルもきっちり規定のものに戻すコードを書いているんだが、くどいのかな、やっぱり。
0042デフォルトの名無しさん
NGNGするものは考えなくて良いと思うのだが、
最近、思ったのは「ウィンドウの境界の幅」。
結構、かなりのアプリが対応してない。
今まではデフォルトの幅が1だったけど、
XPのデフォルトの幅が5位(詳細忘れた)になってるので
気付いて慌てて直したアプリも多い筈…。
0043デフォルトの名無しさん
NGNG> するものは考えなくて良いと思うのだが、
考えろよ… 対した作業量じゃないだろ。
いくつかのメッセージに反応すればいいだけだし。
0044デフォルトの名無しさん
NGNG俺は、グローバル変数は極力使わない。
なんでもAPI等を使って取得するようにしてる。
確かにパフォーマンスは悪い。
どうしても遅さが気になる時はその部分だけ一時的に
グローバル変数を使用している。
後々、PCのパフォーマンスが上がり、その遅さが
気にならない程度になってきた時にバージョンUPの時等に
APIの取得に切り替える。
そういう切り替えが楽にできるような書き方をしている。
0045デフォルトの名無しさん
NGNGいくつかのメッセージと言われてもcase by caseだからなぁ…。
当然、システム標準で変えられるような属性(画面のプロパティ等で)は
対応しないとマズイと思うのだが、それ以外は無視している。
昔、自分の作ったアプリで、子ウィンドウにWM_DESTROYを投げると
落ちるというバグが報告されたが、無視した。
そんなの、システム標準のツールじゃできない事だし。
>>43の言う「いくつかのメッセージ」というのは例えばどんなんだ?
004643
NGNG> 昔、自分の作ったアプリで、子ウィンドウにWM_DESTROYを投げると
> 落ちるというバグが報告されたが、無視した。
すげーなぁ。そんなこと言ってくる奴がいるのか…
そりゃ無視だろ。
いや俺が言ってるのも、システム標準で変えられるような属性(画面のプロパティ等)
って奴だよ。 >>42の話の中でWindowの幅とか出てたから。
004741
NGNG43じゃないが。
システムでいろ設定を変えたりするとWM_SYSCOLORCHANGEが投げられてくるが、
3D ColorChanger 3000とかを使って色を変えると、
投げられるのはWM_NCPAINTとWM_PAINTだけだったり、
どんなときに変更されるか予測がつかないから、はっきり言って全部に対応するのは面倒だね。
俺の場合は、
WM_PAINT/WM_NCPAINT/WM_NCACTIVATE/WM_NCHITTEST/WM_SIZE/WM_MOVE/WM_STYLECHANGING
でシステムの設定やスタイルをチェックして、さらにタイマーを使って5秒ごとに監視してる。
0048デフォルトの名無しさん
NGNG随分手が込んでるな。デスクトップマスコット系アプリ?
0049デフォルトの名無しさん
NGNG仕事だったら「WM_SYSCOLORCHANGEを投げてこないアプリが悪い」と言って
無視するなぁ。それに対応する為に色々な事やって、パフォーマンスの低下や
新たなバグを生む原因にしたくないし…。
そもそも>>47は、グローバル変数にシステム情報等を格納している方向なのか?
それなら、その位の対応も納得なのだが…。
タイマーは、ちょっと手が込んでる気がするが…(^^;
0050デフォルトの名無しさん
NGNG42=45だが、システムで変えられる情報の中でもウィンドウの境界の幅は
今まで、誰も気付かなかったような項目だから…って話だったんだけど
説明がわかりにくくてスマソ。
0052デフォルトの名無しさん
NGNGGetClientRectとGetWindowRectの幅と高さの差(高さは結構あるか…)は
そんなに違いが無くて、ウィンドウのサイズ制限するプログラムとかで
GetWindowRectとか、WM_SIZEメッセージで返ってくるLPARAMの
値を使って制限してると問題が出るね。(後者の方は結構多いと思う)
0053デフォルトの名無しさん
NGNGそれに幅は、GetSystemMetricsで取得すればよいと思うが違うのか。
0054デフォルトの名無しさん
NGNGまさに>>50,52の言っていた例のレスだな。
つまり、WM_GETMINMAXINFOメッセージで処理するという事は
LPMINMAXINFO構造体でウィンドウサイズを制御するという事だよね?
その時にptMinTrackSizeに最小値を入れろ…と。
しかし、それではいかんのだよ。わかるかな?>>53よ。
>>50,52の言っている事を良く考えてみよう。
GetSystemMetricsで幅を取得するのも同じだ。
0055デフォルトの名無しさん
NGNGどっちも閑古鳥が鳴いてるし
0056デフォルトの名無しさん
NGNG0057デフォルトの名無しさん
NGNG素直にGetWindowRectとGetClientRectのサイズの差を求めて、最小サイズに
したい値に、その差とクライアントウィンドウのサイズを足したものにするのが
一番良いと思う。GetSystemMetricsでウィンドウの幅とかを取得しまくると
メニューなんかが2行になった時等に対応するのが辛いよ。
0058デフォルトの名無しさん
NGNG別に2つあっても良いんじゃない?
0059デフォルトの名無しさん
NGNGここが、part2かAPIスレがbuild3になったら、統合しよう。
いつになる事やら…。
0060戸尾理縋り
NGNG中身が
「小っちぇーよ!(三村調)」
枠幅変更をわざわざ考慮してたものはXP以前にゃ
あまりないだろうということだろう
006150
NGNGそういう事。
0062デフォルトの名無しさん
NGNGクライアントサイズとウインドウサイズの差というのは落とし穴があるよ。
たとえば、WS_EX_CLIENTEDGEスタイルを持った子ウインドウを
幅高さともに0で作ると、GetClientRect/GetWindowRectが同じサイズ{0, 0}を返すので、
差が求められない。
実際にこれでハマったことあるし。
#論理レイアウトマネージャにウインドウのサイズの管理を任せたりするときにこれにハマった
じゃぁ、最低いくつで作ればいいのかという話になるが、
それこそボーダーの太さに事実上上限が設定されていないので、
どのサイズで作っても保証が無くなる
それこそ、縦横ともにサイズにずれが生じるまでループするしかない。
もっともほぼ無いと言ってもいいようなレアケースだけどね。
0063デフォルトの名無しさん
NGNGきっちりGetSystemMetricsで取ってくるんじゃないか?
0064デフォルトの名無しさん
NGNGGetClientRectとGetWindowRectで求めてましたが…。
0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNGトレイのアイコン取得する方法教えてください。
0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNGAPIとC-runtimeは包括範囲が違うだろ
0071デフォルトの名無しさん
NGNGこんなの見つけたからage
http://www.fltk.org
かなりマルチプラットフォーム化されてるしGUIビルダもある
Qtはでか過ぎてイヤンという人にお勧めできるんじゃなかろうか
ちなみにC++
0072デフォルトの名無しさん
NGNG007369
NGNGいやー、結構重複してる部分あるじゃない。
CreateFile ≒ open
CreateProcess ≒ execXX
…
ぼくはAPI派なんだけど、害虫さんはCRT派でね、
ちなみにGUIアプリでWin以外への移植は無しなの。
どっちが多数派かなーって思って。
0074デフォルトの名無しさん
NGNG細かくアクセスコントロールを行う場合など、
特殊な状況じゃなければ標準ライブラリを利用する。
APIを使うと引数の数が平気で10個あったり、
いちいち構造体使ったり面倒だから。
0075デフォルトの名無しさん
NGNGそれ以外はAPIを使ってるなー。長年Windowsプログラムをしてると
ある程度のパターンができてくるから、APIの引数とかも気にならないし…。
ところで、HINSTANCEの話がでてきて思ったんだけど、グローバル変数を
使ってる場合は、他にはどんなグローバル変数を使ってる?
漏れは…ウィンドウクラス名とかかなぁ…。
0076デフォルトの名無しさん
NGNGシステムの情報は格納しないな。
アプリケーションの設定を専用クラスでグローバルに置くくらいかな。
文字関係は全部リソースに置いておくし。
0077デフォルトの名無しさん
NGNGなんでウインドウクラス名ってグローバル変数なの?
どの本見てもそうなってるけど。
まだ本格的にWin32やってないから、これがグローバルである意味が
よくわかんない。
知ってる人いたら教えて。
0078デフォルトの名無しさん
NGNGまぁ、defineでもいいんだけどね。
0079デフォルトの名無しさん
NGNG別にローカル変数でもいいよ?
つーかそれよりRegisterClass呼んでるのに
なんでUnregisterClassは呼ばないのか疑問。
別に
0080デフォルトの名無しさん
NGNG余分だった。
0081デフォルトの名無しさん
NGNG0082デフォルトの名無しさん
NGNG一度も出てこないんだ、ゴラァと言ってみるテスト
0083デフォルトの名無しさん
NGNG必要ないから。
プロセス終了時に解放されることが保証されている
0084デフォルトの名無しさん
NGNGLoadImageやCreateWindowはウィンドウズヘッダ内でマクロとして定義されてるんですよね。
だからメンバ関数にLoadImageなんて名前付けるとLoadImageAに変わってしまったり、
CreateWindowなんかコンパイルエラーになってしまいます。
何でインライン関数使わないんだよぉ!
何のための名前空間、何のためのクラスだと思ってんだ。
0085デフォルトの名無しさん
NGNG0086デフォルトの名無しさん
NGNG元々C互換APIだから。
C++でもっとも顕著なのは、STLのstd::min/maxかな。
それから、LoadImageなんてセンスのない名前付けるな
0087旧MS-Cユーザ
NGNG名前空間なんかつい最近できたばかりじゃないか。
0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNG0090ショシンs
NGNGメッセージプロシージャ関数内の
case WM_LBUTTONDOWN:
の下で現在のマウス位置を取得して
そのあと条件式で自分が指定した矩形領域内でボタンが押されたならば
という形でボタン機能を実現したいと思っているのですが
マウス位置を取得する関数がよくわかりません。
それともlParamかwParamを使えば同じことができるのでしょうか
0091デフォルトの名無しさん
NGNGGetCursorPosを調べてみる
0092ショシンs
NGNG最初
case WM_LBUTTONDOWN:
LPPOINT MSpoint;
long msx,msy;
GetCursorPos(MSpoint);
msx=MSpoint->x;
msy=MSpoint->y;
とやったらGetCursorPosの時点でエラーが出てシャットダウンしてしまいました。
その後いろいろと調べたところ
int x,y;
x=LOWORD(lParam);
y=HIWORD(lParam);
とやったらうまくいきました。
とりあえず解決できたのですがなんか複雑な気分です。
0093デフォルトの名無しさん
NGNG0094ショシンs
NGNGDirectXの勉強を始めたばかりのものでしていまだ使えこなせずにいます。やっぱひとつWINDOWSAPIの説明がいろいろと書いてある本を
買ったほうがいいのですかね。
0095デフォルトの名無しさん
NGNG>LPPOINT MSpoint;
>GetCursorPos(MSpoint);
は
POINT MSpoint;
GetCursorPos(&MSpoint);
じゃないとだめだYO
それと、GetCursorPosはそのときのカーソルの位置を
かえすけど、lParamはボタンの押された位置がかえるYO
若干ちがくなることがあるので気をつけてね。
あとクライアント座標とかスクリーン座標とかにも気をつけてね。
>WINDOWSAPIの説明がいろいろと書いてある本を
>買ったほうがいいのですかね。
あとDEEPなCの本もNE
0096デフォルトの名無しさん
NGNGいつから、ポインタの基礎・FAQが、DEEPなCの本の扱いに
なったのでしょうか。私は、日本のソフトウエア業界の
逝く末を心配したくなりました。
0097デフォルトの名無しさん
NGNGくだらないことで話し広げようとしないでくれる?
C厨が集まっちゃうとスレが死ぬから。
どうせ広げるなら、
「GetMessagePosとかもあるYO。とか」
「これを使えば、コントロールからの通知とかでもちゃんとした
座標が取れる?」とか技術的なコトにしてクンナイ?
0098t
NGNGまず、メモリ上に描写を行って、そのあと1度に画面に表示させる。
方法を教えて、
0099t=98
NGNG0100デフォルトの名無しさん
NGNGGetMessagePosなら、lParamの方がよっぽどいい。
0101デフォルトの名無しさん
NGNGんじゃ、GDIでやれ。
RECT ClientRect;
::GetClientRect(&ClientRect);
HDC WindowDC = ::GetDC(hwnd);
HDC MemDC = ::CreateCompatibleDC(hdc);
HBITMAP BackBuffer = ::CreateCompatibleBitmap(WindowDC, ClientRect.right, ClientRect.bottom);
HBITMAP OriginalBmp = static_cast<HBITMAP>(::SelectObject(MemDC, BackBuffer));
::DeleteObject(::SelectObject(MemDC, OriginalBmp));
::DeleteDC(MemDC);
::ReleaseDC(WindowDC);
0102t
NGNGそれ、面倒なのでもっと簡単な方法教えてください
0103t==98
NGNGthanks
0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNG一番簡単なのはDIB。メモリ上に任意の形式(32bppが扱いやすい)で
フレームバッファを作成して、あとはBITMAPINFO構造体とともにGDI
(SetDIBitsToDevice/StretchDIBits)に渡せば描画できる。
0108デフォルトの名無しさん
NGNG構造体のアラインメントの規則に関する情報ってどこかにないですか?
0109デフォルトの名無しさん
NGNGIntel のサイトに行って、プロセッサのデータシート見るべし。
0110デフォルトの名無しさん
NGNGアラインメントじゃなくてパディングって言うのかな?
構造体の中に入る詰め物の情報が知りたいのです。
全部、pack1を期待してもいいのかな、と思いまして。
0111デフォルトの名無しさん
NGNGその程度の知識で、言語を作る...。何でアライメントするか知ってるか ?
0112デフォルトの名無しさん
NGNG誤爆?
SSEとかで16byte alignを要求する命令があるてのは知ってますが。
どうしてとかそんなことはあんまり気にしたこと無かったです。
で、今回のはアラインメントとは違ったみたいだけど、
>>110に書いたような構造体の詰め物について知りたいんです。
構造体を引数に取るAPIがどんな並びを期待しているのか。
MSDNを眺めてみたけど、メモリ配置についての情報が、
関数呼び出しの引数などのスタックについてしか見つけられなかったので、
規則がどこかに書いてないのかな、と。
ユーザーdllでは(VCを使った方法しか知りませんが)
#pragma pack(1)
とかでパディングを0にしている物とか、デフォルトのまま利用している物とか、
いろいろあるので、少なくともWindowsのAPIについてはドキュメント化されてないのかな
って思ったわけです。
0113デフォルトの名無しさん
NGNGならはじめからそう書いてくれ。言語を作ろうとする奴が、アライメントの
必要性も知らないのはちょっと痛いぞ。まあ、スクリプト言語ぐらいなら
いいのかも知れんがな。
普通、構造体を引数にとる API は、パディングが入らないように構造体を
宣言している。
0114デフォルトの名無しさん
NGNGありがとうございます。
PlatformSDKのヘッダを機械翻訳するしかないのかなって思ってたのですが、
いろいろ問題がありそうだったので。
言語と言っても、cへのトランスレータなので、
PCのアーキテクチャについてはあんまり詳しくなくてもいいとか勝手に思ってるんです。
0115デフォルトの名無しさん
NGNGWin32 API 使おうと思うなら、それ(C のパーサー)は用意した方が良いと
思うぞ。
0116デフォルトの名無しさん
NGNG古い話題ですが。
API関数
ナニをアレする();
クラスのメンバ関数
class ナニ {
アレする();
};
ぶつかりようがない。ふつうは。
0117デフォルトの名無しさん
NGNGwindows.hがnamespace全然考えてないのは別問題だが、
歴史的経緯というやつでほがもげ
0118デフォルトの名無しさん
NGNG0119デフォルトの名無しさん
NGNG台無しにしてるな。
0120デフォルトの名無しさん
NGNG漏れ、興奮してきたYO!!!
0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNG0123デフォルトの名無しさん
NGNG十分ぶつかるよ。
Abstruct FactoryなんかじゃCreateWindowは当たり前に使うし。
0124デフォルトの名無しさん
NGNGコピペして main() から呼び出してみたんだが:
http://tokyo.cool.ne.jp/masapico/api_sample_pdh03_c.html
int main(void){
DispTime();
return;
}
今度はプログラムが終了しなくなってしまった。ブレークかけてみたら
exit(int) ⇒ dosexit(int,int,int) ⇒ KERNEL32 の中で止まってるみたい。
何か終了処理とか必要なのかな。それとも何かコンパイルオプションが必要?
環境は WinXP Pro, VC++ 6.0 で Win32 Console Application プロジェクトを
新規に作っています。原因分かる人居られますか?
0125デフォルトの名無しさん
NGNG0126116
NGNG>>119
別に117はおかしくないんじゃない?
元の話にはあってないと思うけど。
>>123
いや。俺はそうゆうので困ったことないってだけで、
ぶつかるってんなら文句ゆうつもりはないんだけど...
staitc Window* Window::Create();
なんて書き方じゃ出来ない事をおやりになってるんでしょうねえ。
0127デフォルトの名無しさん
NGNGなんでないの?(藁
0128デフォルトの名無しさん
NGNGよって::LoadImageでオケ。
0129デフォルトの名無しさん
NGNGWin2000ですが、全然問題なしですた。
0130デフォルトの名無しさん
NGNGstruct IEditor
{
virtual IWindow* CreateWindow() = 0;
virtual IDocument* CreateDocument() = 0;
// 以下略
};
でぶつかったよ。
0131デフォルトの名無しさん
NGNGmainもでつか?
0132デフォルトの名無しさん
NGNGsprintf() とか sqrt() とかも使わないのですか?
0133デフォルトの名無しさん
NGNG(LoadImageがマクロなことはおいといて)
0135デフォルトの名無しさん
NGNG文脈からわかれ。
自分で作る必要がないということだ。
よって少なくとも、自作ライブラリと衝突する可能性はない。
0136デフォルトの名無しさん
NGNGまあAPIとぶつかることはないだろうし。
loadImage
createWindow
0137デフォルトの名無しさん
NGNG0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNG0140デフォルトの名無しさん
NGNGおれもおれも(゚∀゚)
ハッタリッシュ大好きなので(笑
あそこ、もう更新ないのかなぁ…。
0141デフォルトの名無しさん
NGNG「おー、そんな物もあるんだー」と気になって
自分も試してみたが、
リンカがエラーを吐いてくれた。
#include <pdh.h>はしたんだけど
他にも何か必要なの?
えらーとは
test.obj : error LNK2001: 外部シンボル "_PdhCloseQuery@4" は未解決です
とかいう奴が5個ほどです。
0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNGなんでライブラリを知らない奴がこんなに多いんだ?
あっちこっちのスレで似たような質問があるが
0144デフォルトの名無しさん
NGNGやってるんだろうね。
0145141
NGNGすんまそん。それは自分がドキュソだからだと思います。
ちなみに、色々と検索しているときにこんな物見付けました。
>>124さんには役立つでしょうか?
http://support.microsoft.com/default.aspx?scid=http%3a%2f%2fwww.microsoft.com%2fJAPAN%2fsupport%2fkb%2farticles%2fjp312%2f1%2f13.ASP
0146124
NGNGサンクス。環境的に多分それが当たり。
Win2k でやってみたけど、今度は終了時の kernel32 で Access Violation だと… (鬱
0147デフォルトの名無しさん
NGNGmain()でエラーとか正常終了の戻り値を1とか0とか設定してますが
このmain()に戻った値を確認するためにはどうしたらよいでしょうか?
0148デフォルトの名無しさん
NGNGC:\hoge> echo %ERRORLEVEL%
0149デフォルトの名無しさん
NGNGうまく行きました。
どうもありがとうございました。
0150デフォルトの名無しさん
NGNGどっかにいい解説ない?
あれはソースが読めないやつは使うなということなのか...
0151デフォルトの名無しさん
NGNGでも僕のパソンコんてね、すごく遅いからね、
コンパイルンにイパイ時間がかかて、モウ使わないもアン
っておもったYO!
俺は WTL 使ってるけど。
> あれはソースが読めないやつは使うなということなのか...
そんな気がする。
CWindow, CWindowImpl とかは ATL の範疇なので、書籍「ATL インターナル」
とか MSDN Library に解説がある。あとは WTL のウィザードにソースを吐かせ
て、それを読みつつお勉強、でした。
0153デフォルトの名無しさん
NGNGreturn msg.wParam;
if(msg.message == WM_QUIT)
break;
どう違うんですか?
0154デフォルトの名無しさん
NGNGGetMessageするか、何もしないでMSG構造体を覗くか
0155デフォルトの名無しさん
NGNGどうでも良いが GetMessage() はエラー時に -1 を返すので
!GetMessage()
だと無限ループにハマる可能性があるぞ。
0156デフォルトの名無しさん
NGNGメッセージがきて、それに対応するメンバ関数が呼ばれて、メンバ関数で動作を決めて、
みたいなWindowsプログラムのロジックを教えてください。
よろしくお願いいたします。
0157デフォルトの名無しさん
NGNGこういうのって普通どうやって調べるんですか?レジストリ?
0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNGGetVersionEx()
0160157
NGNG0161デフォルトの名無しさん
NGNGとりあえず Petzold 本を熟読。
0162デフォルトの名無しさん
NGNGメンバ関数って言葉が出る当たり、少々誤解してるな。
コントロールはwindowだ。 CreateWindow( )で作ることが出来る。
作ったコントロールは SendMessage( ) 等で操作することが出来る。例えば
SendMessage(editbox_hwnd, WM_UNDO, 0, 0); // edit_box を Undo させる
という感じで。
メッセージは親Windowに届く。届いたメッセージを、if / switch で
分岐させて、処理を行う。例えば
LRESULT CALLBACK WindowFunc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message){
case WM_COMMAND:
switch(LOWORD(wParam)){
case BUTTON1:
// BUTTON1を押したときの処理
break;
case BUTTON2:
// 以下略
MFC等は、この CreateWindow, SendMessage, 巨大に成るswitch を
ラップしたものだ。
メンバ関数がどうとか言うのは、ラップした後のものについての考えで、
基本的にはもっとフラットな実装だぞ。
0163デフォルトの名無しさん
NGNG0164デフォルトの名無しさん
NGNG便利だとは思うがプログラミングスタイルを固定されるのが好きくない。
OWLの方が良いね。その点では。
0166デフォルトの名無しさん
NGNGドキュメントビューアーキテクチャとか。
最近は外せるけど。
後、初期化のタイミングが複数あってくはぁ・・・。
0167デフォルト名無しさん
NGNGいろいろやっていたらコマンドプロンプトの表示がすこし変になってしまいました。
\が/と表示されてたりアルファベットもどき(a等の上に変な印)が表示され、
日本語が表示できなくなったりしました・・・
戻すことはできますか?
0168デフォルト名無しさん
NGNG\が/と表示されてたりアルファベットもどき(a等の上に変な印)が表示され、
日本語が表示できなくなりました・・・
戻すことはできますか?
0169163
NGNGOWLなら関係ないようですが、MFCならこれは確かにそうですね。
初期化はInitInstance()とかですか。
まだまだ私は修行が足りません。
0170デフォルトの名無しさん
NGNGおもいっきり板違いだが、他の板やスレを汚されても困るので、答えてやろう。
jp[enter]
これで直る
0171デフォルトの名無しさん
NGNGMFCは、CStringを要求するので嫌い。
stlと親和性の高いライブラリがあれば使うかも。
0172デフォルト名無しさん
NGNG現在のコードページ:932
と出て一時は直るのですが、
一度プロンプト閉じてもう一度起動すると
元に戻ってます。永続的にはできないのでしょうか?
スレ違いすみません。
0173デフォルトの名無しさん
NGNGこれ使え
0174デフォルトの名無しさん
NGNGコマンドプロンプトのプロパティを開いて、
オプションタブの現在のコードページで932を選択。
0175デフォルト名無しさん
NGNGありがとうございます。直りました。
本当に感謝します。
0176デフォルトの名無しさん
NGNGよろしくお願いします。
0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNGそういうwindowを作るか、サイズが変更されたらすぐさま戻す。
自由な形のwindowってどうすればいいんでしょうか?
たとえば文字の形とか。
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNGリージョン切ってSetWindowRgn()
0182デフォルトの名無しさん
NGNG英語読むしかないですか?
0183182
NGNG0184デフォルトの名無しさん
NGNG恐らくC++言語で見られると思います。
0185デフォルトの名無しさん
NGNGVC++を使って標準C+;+を見ることはできません。
0186デフォルトの名無しさん
NGNGStandard C++ Library Reference
というリンクがあるのですが、そこの先が英語なのです。
日本語で書いてあるページはないのですか?
探してないからないのか...
0187デフォルトの名無しさん
NGNG−・
や
VC++では標準C++ライブラリは日本語で見れないのですか?
英語読むしかないですか?
| |
| |
MSDNの2002/4には
Standard C++ Library Reference
というリンクがあるのですが、そこの先が英語なのです。
日本語で書いてあるページはないのですか?
探してないからないのか...
0188デフォルトの名無しさん
NGNGなんでやすか
0189デフォルトの名無しさん
NGNG> そういうwindowを作るか、サイズが変更されたらすぐさま戻す。
WM_MINMAXINFO 捕まえて、ウィンドウサイズを上書きするのがスマート
だと思う。これだと描画されないし。
0190デフォルトの名無しさん
NGNG制限じゃなくてサイズ変更不可なんだから。
0191KK
NGNGみなさん、メモリリークとかの対策はどのようにやってますか?
Purify と BoundsChecker 以外のメモリリークを検出できるツールを
紹介してください。プロセス&スレッドの表示ツールならフリーであるん
ですが、メモリリークまで検出できません。
0192デフォルトの名無しさん
NGNG_CrtSetDbgFlag()
0193デフォルトの名無しさん
NGNG漏れはBCを激推奨するが。
0194デフォルトの名無しさん
NGNGもってないからでわ
0195KK
NGNGソフトウェアを使うのではなく、プログラムに関数を組み込んで
調べるのですね。どうもありがとうございます。
>>193-194
2〜3万円台の買い求めやすいシェアがあるのかと思いまして。
WWWで一応調べたんですが、適当なのがありませんでした。
今はBCの体験版をDLして使っていますが、個人で購入するとなると
やっぱり高くつきます。Purify:120,000円 BC:80,000円
会社とか研究室で買うならともかく。
0196デフォルトの名無しさん
NGNGこれらを長く使っていると、自然とリークするコードをあまり書かなくなってくるので、
出番も少なくなってくる。
まぁ、万が一のために持っておくのは良いことだが。
VS.NETとかBCB/DelのProを買うなら、バージョンを一つ飛ばしてでもBCを買っておくと良いと思うが、
そもそも.NETへの転換期なので有効活用できるかどうかは微妙かも。
0197KK
NGNG貴重な意見ありがとうございます。
> これらを長く使っていると、自然とリークするコードを
> あまり書かなくなってくるので出番も少なくなってくる。
ただ、最初のうちはどの箇所に問題があるのか見当もつきません。
慣れれば自ずとなくなるありきたりなミスがほとんどだと思うのですが。
作成したプログラムをBCの体験版でチェックしてみたところ、HBRUSHに関連する
コードに問題があり、リソースリークを起こしていました。
これもWWWを調べたらすぐに見つかりました。
> そもそも.NETへの転換期なので
VC++に固執しないで、色んな開発環境を試してみるのもいいですね。
0198デフォルトの名無しさん
NGNG書籍紹介、言語違い、OS違い、あるいはMFCなページは簡単に見つかるんですが。
0199>198
NGNGVC++スレの紹介書籍では?
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNGそれはそうなんですけど、貧乏臭くとりあえず聞いてみました。
まあ、Webにまとまった資料が無いようなら、とりあえず気合で情報集めて
気合でエラーメッセージ読んで、それでもダメなら書籍を買います。
0202デフォルトの名無しさん
NGNGWinSockはあれくらいしか見ないから、あれは本当に定番なんだと思う。
EmuTermの作者が書いたのだから損はないと思うけど?
0203198
NGNG下手に(V)C++の知識とネットワークの知識があると、その中間を埋める書籍の金が惜しくなって。
何とかなるさ、とサンプルを読みつつWinSock2でデタラメにプログラムを
組み始めたのはいいが、DirectPlayの存在に気づく。
どんなものか殆ど知らないけど、元プログラムがDirect3D使っているので
使ってもいいかなと思ったり……。徐々にスレ違い。
(ボヤキsage。でも何かアドバイスあったらありがたく頂きます)
0204デフォルトの名無しさん
NGNGこの人、デムパだね。
0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNG普通のsocketの使い方+初期化&終了(WSAStartup/WSACleanup)だけっしょ?
0207デフォルトの名無しさん
NGNGWinSockは、ブロッキングとかいうややこしぃ問題があるから
普通にはいかないと思うが。
0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNG質問です。
MFC, WTL の CString と、 std::basic_string<TCHAR>
は、どちらのほうが使い勝手がいいですか?
0210デフォルトの名無しさん
NGNGSTLのアルゴリズムと組み合わせ安い
0211デフォルトの名無しさん
NGNGありがとう。
0212デフォルトの名無しさん
NGNGPatBlt関数の値の限界ってどうなっているのですか?
値が大きすぎると塗りつぶしが出来なくなってしまいます。
何か解決方法はありませんか?
0213デフォルトの名無しさん
NGNGとりあえず95系ではGDIの座標系に16ビットだかの制限があったと記憶しておりまする。
0214デフォルトの名無しさん
NGNGなかなか楽しいことになる。
(この辺の振る舞いって VGAドライバによるのかな?)
0215212
NGNGPatBltのxとyの座標の値です。
値を大きくすると塗りつぶしてくれなくなってしまいました。
0216すみません
NGNGからコールしているのですが、プログラムが不正ななんとかで
アベンドしてしまいます。
DLL側のエクスポートした関数は、
int MyDLLfunc(FILE *fp)
{
fprintf(fp, "Call MyDLLfunc()\n");
}
というプログラムになっています。
メインでオープンしたファイルのファイルポインタを
DLLへ渡してDLL側でそのファイルに対して入出力を
行うことは出来ないのでしょうか?
それとも、Cで作ったメインプログラムと、C++で作ったDLL
との間では何らかの制限があるのでしょうか?
どなたか、教えてください。
0217自己レス
NGNGWindowsというか、MSの開発環境の制限っぽいです。
あきらめます。
0218デフォルトの名無しさん
NGNGアボートの友達?
0219デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNGアベンドって使わない?
アブノーマルエンドの略。
>>219
意味がわかりません。
それをすると回避できるんですか?
それとも、なんかのジョークでしょうか?
0221デフォルトの名無しさん
NGNGWINAPI int MyDLLfunc(FILE *fp)
って意味じゃないの?
0222221
NGNG0223やってみました
NGNG落ちちゃいました。
書き方がまずいんでしょうか?
DLL側
extern "C" MYDLL_API int WINAPI MyDLLfunc(FILE *fpp)
{
fprintf(fpp,"MyDLLfunc start\n");
return 0;
}
メイン側
#include <stdio.h>
#include <windows.h>
__declspec(dllimport) int WINAPI MyDLLfunc(FILE *fpp);
int main(int argc, char *arrgv[])
{
FILE *fp;
int nrc;
fp = fopen("c:\\tmp\\test.txt","w+");
fprintf(fp,"main start\n");
nrc = MyDLLfunc(fp);
fclose(fp);
}
こんな感じなんですけど。
とあるページには、(ttp://homepage2.nifty.com/DSS/VCPP/DLL/dllfilefp.htm)
駄目って書いてあったので、あきらめようかと思っていました。
Windowsって、それぞれの開発ツールが独自に実装してんの? > 標準入出力関数
まぁ、POSIXが定義してる機能なんかをWindowsで使うなってことなのかなぁ。
0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNGファイル名渡して、DLL側で開けばいいじゃん
0226ツ¬ツ?ツ?ツ?ツ?ツ?ツ?
NGNG私もそう思います。
でも、オリジナル(UNIX版)のソースがそうなちゃってるんです。
メインでエラーログ用のファイルを開けて、いろんなサブルーチンに
そのファイルポインタを渡してそこにエラー情報を吐くと。
それを、いまPCにコンバートしてるわけで。
0227デフォルトの名無しさん
NGNG(はじめて目にした時なにもしないアプリなのに、その長さに驚いたアレ)
それは、暗記していつでも書けるようにしたほうがいいんですかね?
それとも、ファイルに保存しといてコピペで流用するのが当たり前ですか?
プロの意見が聞ければなおいいです。
0228デフォルトの名無しさん
NGNGコピペかWizard系のジェネレータがあれば十分。
暗記だけで書かなくちゃいけない場面で、大したもの作れるはずもないし。
そんなもんに血道上げるくらいならもっと他にやることあるだろう。
まあ、理屈がわかってればそのうちなんも見ずに書ける・・・かもしんない。
0229227
NGNGアドバイスどもm(_ _)m
0230デフォルトの名無しさん
NGNGデバッガで見てみれば?
0231デフォルトの名無しさん
NGNG他のプロセスに値を渡すのはいいけど、アドレスを渡したら、渡されるのは
オフセット値だけであって、セレクタ値は渡されないから、正しくアクセス
できないんじゃない?
0232DLLネタで、
NGNGこのまえDLLの本体を作成するためC言語(VC++)でプログラム作ってました。
DLLファイルのなかで、下記のようなことしたらエラーになってしまったんです。exit()関数で問題発生^^;
int hoge()
{
//この付近に処理書いて
exit(0);
}
結局こいつでエラーになるので return つかったけど
DLL本体のプログラムに使える exit()関数のような関数ってないんですか?
DLL作成の初心者なもんですんません。
0233デフォルトの名無しさん
NGNGDLL とプロセスって概念が違うぞ。ついでに言っとくと、Win32 だとどうせ
メモリモデルはフラットでやってるからセレクタ値ってあんまり関係ないぞ。
プロセス間のメモリ空間の制御はセグメントじゃなくてページングでやってる
からな。
0234デフォルトの名無しさん
NGNG> アベンドって使わない?
汎用機系だと常套句だが、それ以外では聞かん。
0235デフォルトの名無しさん
NGNG構造化例外でも投げたら?
0236デフォルトの名無しさん
NGNGモーダルダイアログでDestroyWindow使っても問題な動くんだけど、
問題ないかな?
また、WM_DESTROY処理時にEndDialog使ったらおかしいかな?
今作ってるWinプロシージャがモーダルなのかモードレスなのか
いつも気にしながら組むのが馬鹿らしいんで、どんな時でも
DestroyWindow使い、戻り値返したい時だけWM_DESTROY処理時に
EndDialog使おうかと思ったんだけど。
間違ってたら叩いて。
0237デフォルトの名無しさん
NGNGexit_dialog()
{ if( modal ) EndDialog();
else DestroyWindow();}
みたいな仕掛けを作らないんだろう
)
0238デフォルトの名無しさん
NGNGmodalかどうかって、どうやって判定するのでしょう?
0239デフォルトの名無しさん
NGNG>modalかどうかって、どうやって判定するのでしょう?
modalってどうやって取得するのでしょう?
create時にフラグ立てる? 糞だろし。
0240デフォルトの名無しさん
NGNG> いつも気にしながら組むのが馬鹿らしいんで、どんな時でも
> DestroyWindow使い、戻り値返したい時だけWM_DESTROY処理時に
> EndDialog使おうかと思ったんだけど。
PostQuitMessageはどうしよう。
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNGEndDialogはいつ使うのだ?
0243デフォルトの名無しさん
NGNGWM_DESTROYの中でEndDialogって、そんなムチャな。
動いてるから問題ないって、プログラマの言うことじゃないよう……
そんなにモーダルとモードレスで分けるのがイヤだったら、
MFCみたいに全部モードレスの世界にしてしまえばいいナリよ。
見た目モーダルっぽくても実体はモードレス。これ。
0244デフォルトの名無しさん
NGNGしかし、Windows 2000やXPのモーダルダイアログを
開いている最中にオーナーウィンドウをクリックすると
ダイアログが点滅するというサービスが受けられなく
なるという諸刃の剣。
0245236
NGNGプログラマの言うことじゃないけど、実際動いてるんだもの・・・・。
全部モードレスですか、にゃる。
でも、if ( modal ) が出来ればよさげ。
本当に出来るんでしょうか?
0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNGで、Create で作成されたか、 DoModal で作成されたかチェックしておけばいいかと。
0250248
NGNGATL実装の例
class CMyDialog : public CDialogImpl<CMyDialog>
{
public:
enum{ IDD=IDD_DIALOG1 }; // ダイアログリソースのID
BEGIN_MSG_MAP( CMyDialog )
COMMAND_RANGE_HANDLER( ID_OK, ID_CLOSE, OnCloseCmd )
END_MSG_MAP()
private:
OnCloseCmd( WORD, WORD wID, HWND, BOOL& )
{
if( m_bModal )
return EndDialog( wID );
else
return DestroyWindow();
}
};
使うとき
CMyDialog myDlg;
myDlg.Create( hWnd ); // モードレス
myDlg.DoModal(); // モーダル
0251デフォルトの名無しさん
NGNG0252236
NGNGGetWindowLongとかで情報取得出来るのかなあと思ってたのでした。
基本的に自前でグローバルなフラグをセットね。了解。
250氏、エレガントです。
0253デフォルトの名無しさん
NGNG直接キーを追加して増やした環境変数を、一度ログオフしなくても
有効にすることってできますか?
システム→詳細→環境変数で追加した場合は、ログインしなおさなくても
有効になっているようなので、できそうなのですが・・
0254デフォルトの名無しさん
NGNGどういう物でしたっけ?
0255デフォルトの名無しさん
NGNG参考文献を売ってゲイツが設ける為。
0256デフォルトの名無しさん
NGNGMicrosoft Press の書籍はともかく、他社の書籍だと MS には金入らんぞ。
っつーか、べつに Win32 プログラミングが複雑ってわけでもなかろう。ウィンドウ
システム絡みだと覚えることは増える (X Window System や MacOS だって
参考文献積んだら結構な厚さだ)。
0257デフォルトの名無しさん
NGNGXやMacOSは情報があまり無いから良いけど、
Winは本によって言ってることが違ったりで読者が惑わされる
0258デフォルトの名無しさん
NGNG黙って Petzold 読んどけ
0259デフォルトの名無しさん
NGNGWM_SETTINGCHANGEを投げる
具体的なパラメータはWM_SETTINGCHANGEの説明に書いてある
でもWin2kSP2では聞かなくなっているという噂
0260デフォルトの名無しさん
NGNGwww.engrish.com に投稿したくなって来た
0261デフォルトの名無しさん
NGNGさらしageたくなって来た
0262デフォルトの名無しさん
NGNGダイアログテンプレートのエレガントな使用方法を示せ。【10点】
0263デフォルトの名無しさん
NGNGおまえむかつくから教えない。
0264デフォルトの名無しさん
NGNG教えないんじゃなくてワカランのだろ(w
小学生か。
0265デフォルトの名無しさん
NGNGsageでしかも「(w」かあ。なんかいっぱいいっぱいだね。
0266デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNG今日はじめて構造体のメンバにも関数を入れられることを知りますた
0268デフォルトの名無しさん
NGNG0269デフォルトの名無しさん
NGNGかなりの粘着君だな。
0270デフォルトの名無しさん
NGNGhttp://www.m-w.com/cgi-bin/dictionary?book=Dictionary&va=programing
http://www.dictionary.com/cgi-bin/dict.pl?db=*&term=programing+
0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNGか
「Windows Programming by C/C++(Not MFC)」
なんでないの?
0273デフォルトの名無しさん
NGNG0274デフォルトの名無しさん
NGNG0275デフォルトの名無しさん
NGNGもしかしてこれって積んでるメモリ量に依存?
あと、合計2Gぐらいまでしか確保出来ないんだけど、これはWin98だから?
0276デフォルトの名無しさん
NGNGそれはわからんが、
> あと、合計2Gぐらいまでしか確保出来ないんだけど、これはWin98だから?
これはそう。確かWin9xのアドレス空間ははカーネル2GBユーザ2GBだと思った。
0277デフォルトの名無しさん
NGNGAPI は何を使ってる? 確かデフォルトのヒープは 128MB ぐらいしかないが、
HeapCreate() でヒープを作っておけば 1.n GB まで行けるとか聞いた覚えが。
0278デフォルトの名無しさん
NGNGデフォルトのヒープは勝手に伸びるからそれは違う。
HeapAlloc自体の制限。
0279デフォルトの名無しさん
NGNGこれから勉強しようと思っているのですが仕事で使うわけではないので
生産性は一切気にせずに自由度の高い方を勉強したいのですが
0280デフォルトの名無しさん
NGNG両方使え。
0281デフォルトの名無しさん
NGNGMFCにできないことはない
0282mother fucker condemned
NGNG0283デフォルトの名無しさん
NGNG開発環境がWin2kで、Unicode専用でプログラム組んで半分くらい完成したので、
知り合いにテストしてもらったところWin9x系が全滅。。
Unicodeが使えないなんて知らなかった(汗 ←駄目グラマ
CreateWindowExWすら動かないなんて。。 首つるしかないぽ。。
0284デフォルトの名無しさん
NGNG手直ししなさい
0285デフォルトの名無しさん
NGNG0286デフォルトの名無しさん
NGNGMSLU入れろやゴルァというメッセージを出して終了するとか
Microsoft Layer for Unicode
http://www.microsoft.com/globaldev/articles/mslu_announce.asp
0287デフォルトの名無しさん
NGNGその前に、プログラム起動時に DLL のシンボル解決に失敗してダイアログが
出てしまいそうな予感。
0288283
NGNG最初unicows.libがどこにも見つからなくて戸惑いましたが、
最新SDKにunicows.libが入っててリンクしたらWin98でも動きました。
微妙に見た目が違うけど、動いたから十分満足です〜
>>284-287さんありがとうございました!
0289デフォルトの名無しさん
NGNGUnicode APIは(というかNT 3.5までにあったものは全部)9xでも
ERROR_CALL_NOT_IMPLEMENTEDを返すだけのスタブがあるから
大丈夫
0290デフォルトの名無しさん
NGNGリソースエディタはコントロールに 1001 以上、メニュー項目に 40001 以上
の ID を割り当てるようですが、安全な範囲って 0 〜 1000 だけなんでしょか?
メッセージの WM_USER や WM_APP のような標準的なルールってないものでしょうか?
0291デフォルトの名無しさん
NGNG因みにフレームとはウインドウを仕切るフレームのバーの事を指しています。
0292デフォルトの名無しさん
NGNG物を作ろうと思っているのですが、
HPなどのアドレスは事前に分かっているとして、(例えばLvは0065e43c)
どのようにすれば他アプリケーションの値を取得できるのでしょうか?
0293デフォルトの名無しさん
NGNG0294デフォルトの名無しさん
NGNGそこからどうやって特定のプロセスに絞り込むのでしょうか?
例えばメモ帳がいくつか開いていて、そのうちに一つだけ
という場合はどのようにすればよろしいですか
0295デフォルトの名無しさん
NGNG> そこからどうやって特定のプロセスに絞り込むのでしょうか?
絞り込むというからには何らかの基準があると思うが、それは何?
0296デフォルトの名無しさん
NGNGみなさんの所もそうですか?
0297デフォルトの名無しさん
NGNGしぬんじゃねーの?
0298デフォルトの名無しさん
NGNG自分でライブラリ久米
0299名無し@沢村
NGNGいろいろなボタンをクリックしたときに、そのボタンに応じたハンドルを取得できますか?
0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNG俺は ATL/WTL が好きだ。
0302デフォルトの名無しさん
NGNG0303デフォルトの名無しさん
NGNGWM_LBUTTONDOWNなどで得られる座標(LOWORD(lParam),HIWORD(lParam))は
ウィンドウ左上からの相対座標で型はWORD(符号なし16ビット整数)ですよね。
マウスポインタがウィンドウよりも左(あるいは上)に行った場合
得られる座標がとんでもない値(USHRT_MAX??)になるのですが
何か解決する流儀みたいなものはあるのでしょうか?
0304デフォルトの名無しさん
NGNG型はWORDと違うよ。
0305303
NGNG0306303
NGNG16ビット符号付き整数にキャストした上で
32ビット符号付き整数にキャストするただのマクロなんですね・・・。
0307デフォルトの名無しさん
NGNG↓の説明と完全逆じゃねぇ?(参照先MFCのでスマソ)
http://www.microsoft.com/japan/developer/library/vcmfc/_mfc_cricheditctrl.3a3a.setsel.htm
0308デフォルトの名無しさん
NGNG0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNG0311名無し@沢村
NGNG例えばタグで<BGSOUND SRC="aa.mld" LOOP="-1" >と指定したらホームページから携帯の着メロディが流れてくるようにしたいんですよ。でもプラグインなんてつくったことないし、Internet Explorerのプラグインをつるにはどうすればいいか教えてください。
あ、その前にwindouw板の普通のmldプレイヤーをつくるほうが簡単そうだから、先につくろうっと…。
0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNGstatic 変数やらグローバル変数やらがほぼ使えなくなりますが、うまく回避する
方法はありますか?
メモリを動的に確保して GetWindowLong(GWL_USERDATA) に放り込むしかない
ですか?
0314デフォルトの名無しさん
NGNGそれしかないでつ。
ただ、データの個数が少ないのなら、メモリ確保せずに
ウィンドウデータに直接放り込む方法もある。
WNDCLASSのcbWndExtraに 4*N の値を指定しておけば、
GetWindowLongで 0 〜 4*(N-1) までを好きに使えるようになるよ。
0315313
NGNG格納したいのはそれなりの長さのテキストとその他なので、cbWndExtra は諦めます。
0316デフォルトの名無しさん
NGNG文字列を返す、という事をやりたいのですが、どうもうまく行きません。
ウィンドウプロシージャでこれらのメッセージを捕まえようとしても、外部プロセス
からの SendMessage() では普通にテキスト設定/取得されてしまいます。
(ウィンドウプロシージャにメッセージが届いていないようです)
一方、プロセス内部からの SendMessage() では、きちんとウィンドウプロシージャ
にメッセージが届き、期待通りの動作をします。
何がいけないのでしょうか。
LRESULT CALLBACK StringGiverWindowProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
static LPCSTR GivingText = NULL;
switch(Message)
{
case WM_CREATE:
GivingText = (LPCSTR)((CREATESTRUCT *)lParam)->lpCreateParams);
break;
case WM_GETTEXT:
if(lParam && GivingText)
return (LRESULT)strncpy((LPSTR)lParam, GivingText, (size_t)wParam);
break;
case WM_SETTEXT:
break;
default:
return(DefWindowProc(hWnd, Message, wParam, lParam));
}
return 0;
}
0317デフォルトの名無しさん
NGNG回答が得られなかったので、こちらで質問させていただきます。
少しお聞きしたいのですが、
WindowsXPproでユーザーアカウントの画像を
ランダムに変更するプログラムを作りたいんですよ。
それでレジストリ書き換えて
(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Hints\(ユーザー名)\PictureSource)
C:\Documents and Settings\All Users\Application Data\Microsoft\User Account Pictures\ユーザー名.bmp
のフォルダに画像を生成させるとこまではできたのですが、
そのあと表示を更新させる方法がわかりません。
手動でなら、
コンパネ→タスクバーのプロパティ→スタートメニューのカスタマイズ
を開いて全てOKでとじれば更新されるのですが・・・。
どなたかご存じの方がいらっしゃれば宜しくお願いします。
0318デフォルトの名無しさん
NGNGファイル名と他アプリケーションのウィンドウハンドルがわかっているときに、
その他アプリケーションにファイルをドロップしたことにするような
メッセージを送りたいんだけど、可能でしょうか。どうやればいいんでしょうか。
0319デフォルトの名無しさん
NGNGメッセージを送ればいいだけだが、いったい何を聞きたいのかわからん
注意点はプロセスメモリーの排他制御で文字列ポインタの扱いに気を付けるくらい
0320デフォルトの名無しさん
NGNGWM_DROPFILES を送りたいって話だろ。
方法は漏れも知りたい。
0321デフォルトの名無しさん
NGNGhttp://www7.big.or.jp/~hina/zidney/programing/wm/wm_dropfiles/
0322318
NGNG>>319
書き方が悪くてすみませんでした。
ドロップを受けるときはメッセージとして受けるので、
ドロップさせるときもそのメッセージを送ればいいんだろうと思ったんですが、
その先どうしたらいいのかわからなくて。
>>320
そうなんです。ありがとうございました。
318を書いた後
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/Shell/reference/messages/wm_dropfiles.asp
まではたどり着いたんですが、結局HDROPの正体がわからなくて。
>>321
これです。ありがとうございます。
目的もここの方と一緒です。早速試してみます。
0323320
NGNGおお。
でも、将来 HDROP の実装が変わったりしてたらイヤだな・・・。
OS バージョンのチェックでも入れればいいのか。
0324316
NGNG0325デフォルトの名無しさん
NGNGVC++6.0を使ってプログラムを作成しているのですが、
最近は自前の関数群が色々なアプリに使いまわせるようになって良い気分です。
ですが使っていない関数までコンパイルしてしまっている(ひとつのcppファイルに色々な関数が書いてあるので)のが
気になります。
これはVC++が自動判断して除外してくれているものなのでしょうか。
0326デフォルトの名無しさん
NGNG.obj 単位でリンクされるみたい。
だから、関数単位に分割コンパイルして、.lib を作るといいんじゃない?
0327デフォルトの名無しさん
NGNG関数単位のリンクが出来る。
ビルドオプション見てみ。
あと使い回すならライブラリにしとけ。
0328325
NGNGlibですか。静的リンクとかいう奴ですね
あれなら使わない関数はリンクされずに済むのですか?
そうならすごい便利だと思います
0329デフォルトの名無しさん
NGNG0330327
NGNGライブラリにするかどうかとは関係ない。
使い回すならライブラリにしておくと便利なだけ。
オプション設定しておかないとobj(cpp)単位でリンクされる。
libはobjまとめてるだけだから。
0331デフォルトの名無しさん
NGNG>関数単位に分割コンパイルして、.lib を作るといいんじゃない
>関数単位に分割コンパイルして
>関数単位に分割
OK?
0332デフォルトの名無しさん
NGNGオプションでできるのに関数単位に分割して・・ってことが知ったかってことでは?
0333bloom
NGNGhttp://www.agemasukudasai.com/bloom/
0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNGリンクするときに参照されてないシンボルを検索するんだから、変数が参照されていれば削除はされないだろ。
大体、コンパイルされた段階でその関数と変数は別のところにある。
0336名無し@沢村
NGNGでもあともう一歩なんです…!
もう一歩というのは、トラック2つでもシングルトラックを鳴らすのに比べて、速度が半分に落ちるし、鳴り方もぎこちないんです…。
これがそのコードですが、あとどこを直せばいい…?
教えてくだされ〜♪
for(i=0;i<=i_Sum_Track[i_longest_Track];i+=2)
{_Time= timeGetTime();
for(l=0;l<16;l++)
{t[l]=0;
for(j_i=0;j_i<Onpu_Index[i_longest_Track];j_i++)
{k[l]=j[l]*8;
if(CodeCount[l]!=0)
{if(i==t[l])
{midiOutShortMsg(hMidiOut, 0xC0+l+ ((i_gattuki[l]) * 0x100));
midiOutShortMsg(hMidiOut, 0x0000B0+l+ ((7) * 0x100)+((possrider[l]) * 0x10000));
midiOutShortMsg(hMidiOut, 0x0000B0+l+ ((8) * 0x100)+((possrider_b[l]) * 0x10000));
midiOutShortMsg(hMidiOut, 0x0000B0+l+ ((10) * 0x100)+((possrider_s[l]) * 0x10000));
midiOutShortMsg(hMidiOut, (DataCode[l][k[l]]) + (DataCode[l][k[l]+1] * 0x100)+(DataCode[l][k[l]+2] * 0x10000)); // Note On
}
t[l]+=DataCode[l][k[l]+3];
if(i==t[l])
{while (Play_Tempo(DataCode[l][k[l]+3])>=timeGetTime()-_Time);
midiOutShortMsg(hMidiOut,(DataCode[l][k[l]+4])+ (DataCode[l][k[l]+5] * 0x100)+(DataCode[l][k[l]+6] * 0x10000)); // Note Off
j[l]++;
}}}}}
0337デフォルトの名無しさん
NGNGSetROP2関数で描画モードを変更するのはペンにたいして有効なのでしょうか?
ブラシはかんけいないのでしょうか?
0338デフォルトの名無しさん
NGNGこんなの見ようと思う香具師はいるのか?(w
0339デフォルトの名無しさん
NGNGソースの前に日本語の部分からして読む気になれない。
そもそもマルチだしな。
0340デフォルトの名無しさん
NGNGEDITクラスはGetDCして書き換えてみるみたいだけど、
皆さんはメモリDCに描画したのをBitBltしてんの?
でも、見えてない(スクロールアウトされた)領域や、
行右側のスペースまで持っとくのは無駄が多すぎると思うし・・・
行毎にCreateComatibileBitmapして、
SelectObject(hMemDC,hCompBMP)してもそれほどコスト掛からない?
それとも、描画する場所や方法を最適化してる?
0341デフォルトの名無しさん
NGNGまさか文字入力があったりするたびに全領域書き直してる?
0342デフォルトの名無しさん
NGNGExeを実行したときのパスってどうやって取得したらよいですか?
MFCを使っていたときはAfxGetApp()->m_pszHelpFilePathを使って
ちょこちょこいじって取得していたのですが…。
0343342
NGNGスマソ。
0344デフォルトの名無しさん
NGNG0345342
NGNG> ブブー
それは俺に言ってるの?
いや、確かにコンソールから実行したらおかしくなるし、
完璧じゃないんだけど…。
他にいい方法あるの?
0346デフォルトの名無しさん
NGNGAdvanced Windowsに詳しく書いてあります
0347デフォルトの名無しさん
NGNG0348342
NGNG> Advanced Windowsに詳しく書いてあります
本は持ってないんだけど、
2.2.6 プロセスのカレントドライブ、ディレクトリ
・プロセスのカレントディレクトリ
この部分に情報があるってことか?
取得って結構めんどくさいの?
ちょろっとサマリだけでも教えてくれると楽なんだが…。
0351デフォルトの名無しさん
NGNGcase WM_PAINT:
hdc=BeginPaint(・・・);
while(*lpText){
・・・
TextOut(hdc,・・・);
・・・
}
Endpaint(・・・);
break;
(;´Д`)重い重い・・・
0352デフォルトの名無しさん
NGNGchar *cp;
cp = strchr(szr, '\n');
このプログラムの szr を CString で表すには
どう工夫すべきでしょうか?
0353デフォルトの名無しさん
NGNG反転しますが。その反転部分の色を変更する方法を教えて
ください。
0354デフォルトの名無しさん
NGNGint pos = szr.Find('\n');
0355340
NGNG現在のプロセス(.exeモジュール)のパス?
だったらGetModuleFileNameで取得。
モジュールがあるディレクトリを取得するなら、
GetModuleFileName
GetFullPathName
_splitpath(path,drive,dir,NULL,NULL)
_makepath(dir,drive,dir,NULL,NULL)
で良いはず。
0356340
NGNGアイテムはGetSysColor(COLOR_HIGHLIGHT)、
文字はGetSysColor(COLOR_HIGHLIGHT)で取得できる。
ってこのぐらい自分で調べてね。はーと
0357340
NGNG>>351
まあ今の所はそうですが、
幾らなんでも100行もないのに10秒オーバーなんて・・・
>>341
いやそれが、色分けサポート予定なんで、
行毎にテキストバッファと、
VisualInfo* vi
int pos
int len
な構造体のリストを格納して、1文字ずつ描画処理してる。
もちろん、該当番号がきた時にSelectObjectなり、SetTextColorしてる。
重い原因として考えられるのは、1文字ずつ描画する為に、
文字の左が消えないように、SetBkModeでTRANSPARENTして、
文字描画にFillRectしてることぐらいかな。
0358デフォルトの名無しさん
NGNGchar *cp;
はそのまま使いたいのです。
これが問題点。
0359デフォルトの名無しさん
NGNG0360デフォルトの名無しさん
NGNGそういう事はすべきではない。
0361デフォルトの名無しさん
NGNG色分けしていると言っても、描画にかかる負荷は大した物ではない。
というか、10秒なんて何かが間違っているとしか言えないな
エディタで重いのは、
プロポーショナルならフォントから文字幅を取得するところと、
編集による文字列のコピーが多発する所。
あとは、ブロックコメントの範囲解析とかそんなところだけ
>重い原因として考えられるのは、1文字ずつ描画する為に、
同じ修飾情報を利用するときは、
1文字ずつでなくまとめて描画するのが普通では?
>文字の左が消えないように、SetBkModeでTRANSPARENTして、
意味不明だけど、1文字ずつの描画で位置あわせをしていると言うこと?
それならば、ExtTextOutで位置あわせをするべき
>文字描画にFillRectしてることぐらいかな。
背景の間違いか?
だとするとExtTextOutで一発。
それから、俺の場合は画面の描画にはメモリDCを使わずに
直接ウインドウDCに書き込むようにしている
>>356
取得と設定勘違いしてないか?
0362デフォルトの名無しさん
NGNGCString str = ...;
int pos = str.Find('\n');
char szr[512];
strncpy(szr, str, 511);
szr[511] = '\0';
char* cp = szr + pos;
または
CString str = ...;
char* cp = str + str.Find('\n');
後者の場合、cpはstrを変更するまでの間有効
0363340
NGNGFillRectは背景色のためです。可変幅の文字を出力すると、
GetTextExtentPoint32で取得したのより左に背景色が塗られるので、
左の文字やそのアンダーラインの右側が背景色で潰されてしまうんです。
TextOutExtを使えば解決できます?
0364340
NGNG> >>356
> 取得と設定勘違いしてないか?
ほんとだ、"変更する方法"になってる・・・欝死。
なら、SetSysColorsで変更できるけど、
この関数は現在のウィンドウズセッション中だけ有効(保存されない)ので、
直接wininiなりレジストリなりを書き換えるしか無かったと思う。
ちなみに、Windows 2000/XP(NT4も?)なら、
HKEY_CURRENT_USER\Control Panel\Colors
にある。
ところでひょっとして、自前ウィンドウ内のコントロールでの話?
だったらオーナードローにして描くしかないんじゃ・・・
0365デフォルトの名無しさん
NGNG0367デフォルトの名無しさん
NGNGchar* cp = str + str.Find('\n');
'+' のオーバーロード関数があいまいです。
0368デフォルトの名無しさん
NGNGだから、そういう事をするな。
>>362
そういう事を教えるな。
0369デフォルトの名無しさん
NGNGoperator LPSTRが定義されてるんで、キャストでも汁
0370デフォルトの名無しさん
NGNGってかここnotMFCじゃないの?
普通のWin32APIの質問もあるようだし・・・
0371デフォルトの名無しさん
NGNG0372353
NGNG>>361
レス&フォローさんくす。
なんか全ウインドウに関わる変更みたいなんで、FOCUS
で切り替える(元に戻す)ようにやってみるよ。
動的に色の変更すると重そうだけどそのときは別の方法を
考えるかな。
0373340
NGNG今起動してみたらちゃんと1秒前後で全行描画できる。
でもどの道描画重かったので、大変参考になりました。
とりあえず、ExtTextOut使う&出来るだけ連続して描画してみる。
0374デフォルトの名無しさん
NGNGさっぱりわからないところハケーン
CreateObjectを使ってObject型変数にOracleのオブジェクト突っ込んでたんだけど
C++にするのってどうすればいいの?
自前で調べてもVBのしか出なくてさっぱりわからんですYO!
CreateObjectのライブラリやヘッダ(があれば)教えて下さいな
実はスレ違いなら正スレ教えて下され。
0375デフォルトの名無しさん
NGNGVB スレに逝け。
0376375
NGNGでも、よくわからんが OLE の話じゃないか?
0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNG0379374
NGNGサンクスです!こっから先は気合でのりきる予定でがんがります
0380名無し@沢村
NGNG色が表示されずにグレーになったり、使ってるうちにだんだんイロがあせてきたりすることがあるんだが、
これはどうやったら直せるのですか?
ちなみに画面のプロパティの詳細は256色です。
皆々様方〜、教えてくださらんか〜!
皆々様方〜♪
0381デフォルトの名無しさん
NGNGモニタを買い換えろ。
0382デフォルトの名無しさん
NGNG0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNGエラーが出るプログラムがありますた。
>> //システムメニューの「サイズ変更」を削除
>> DeleteMenu (GetSystemMenu(hwnd, false), SC_SIZE, MF_BYCOMMAND);
の部分が、
>>エラー E2451 Sample10.c 165: 未定義のシンボル false(関数 WindowsProc )
と、コンパイル通りません。コンパイラはbcc5.5使っていまつ。
0385名無し@沢村
NGNG私はここでコールバックタイマーを使用しろとか、複数トラックのデータをマージしてひとつのデータにまとめろとか、いろいろなアドバイスをいただきました。
でもはっきりいってそんな面倒なことはしたくなかったんです…。
はっきりいって手抜きに近い楽なやりかたで複数トラックをちゃんと演奏する方法を見つけたかったんです。
でもついにその方法が見つかったんです!!
その完璧なルーチンをここに乗せますから、皆様方も楽にmidiシーケンサーをつくるときの参考にしてください、皆々様方〜!
for(i=0;i<=i_Sum_Track[i_longest_Track];i++)
{for(l=0;l<16;l++)
{t[l]=0;
if(CodeCount[l]!=0)
{for(jj[l]=0;jj[l]<Onpu_Index[l];jj[l]++)
{kk[l]=jj[l]*8;
if(i==t[l] )
{
_Multi_Time[l]= timeGetTime();
midiOutShortMsg(hMidiOut, 0xC0+l+ ((i_gattuki[l]) * 0x100));
midiOutShortMsg(hMidiOut, 0x0000B0+l+ ((7) * 0x100)+((possrider[l]) * 0x10000));
midiOutShortMsg(hMidiOut, 0x0000B0+l+ ((8) * 0x100)+((possrider_b[l]) * 0x10000));
midiOutShortMsg(hMidiOut, 0x0000B0+l+ ((10) * 0x100)+((possrider_s[l]) * 0x10000));
midiOutShortMsg(hMidiOut, (DataCode[l][kk[l]]) + (DataCode[l][kk[l]+1] * 0x100)+(DataCode[l][kk[l]+2] * 0x10000)); // Note On}
t[l]+=DataCode[l][kk[l]+3];
if(i==t[l] ) { while (Play_Tempo(DataCode[l][kk[l]+3])>=timeGetTime()-_Multi_Time[l]);
midiOutShortMsg(hMidiOut,(DataCode[l][kk[l]+4])+ (DataCode[l][kk[l]+5] * 0x100)+(DataCode[l][kk[l]+6] * 0x10000)); // Note Off } }} }}
0386デフォルトの名無しさん
NGNGfalse→FALSE
0387デフォルトの名無しさん
NGNG#define FALSE 0
だからC++でコンパイルすれば通るかもな(藁
0388デフォルトの名無しさん
NGNG途方に暮れていたので、本当に助かりました。
ありがとうございました。
0389デフォルトの名無しさん
NGNGありがとうございます。cppなら通りました。
0390387
NGNGFALSEに直しとけよ。
っていうか、悪い事言わないから、
http://www.microsoft.com/japan/developer/library/default.asp?URL=/japan/developer/library/jpuipf/_win32_deletemenu.htm
見とけ。
0391デフォルトの名無しさん
NGNG・・・未定義のシンボル false(・・
と出ているのに、falseで検索かけてみようとか思わないんだ?
それが不思議。
0392デフォルトの名無しさん
NGNGはじめてCに触れてコンパイルしてみたけれど、falseのところでエラーがでる。
んで、"false"で検索かけてみたらページがヒットしすぎてマズー
っていうところなんじゃないのかな?
がんばれ>>389
0393デフォルトの名無しさん
NGNGなぜ DeleteMenu ?
0394390
NGNG0395デフォルトの名無しさん
NGNG0396デフォルトの名無しさん
NGNGどうしてそんな呼び名になったんだ?
0397デフォルトの名無しさん
NGNG0398デフォルトの名無しさん
NGNG0399デフォルトの名無しさん
NGNG0400デフォルトの名無しさん
NGNGどうしてそんな呼び名になったんだ?
0401デフォルトの名無しさん
NGNG0402外部シンボル
NGNGWindowsでclass内のメンバ関数にHWNDやHINSTANCEを渡すと、
そこで外部シンボルエラーが出てしまいます。
試したOSは98SEです。
そして、同じVC6++の入っている2000マシンでソースを何も弄らずにコンパイルすると、
今度は何事も無く通りました。
出来あがったOBJファイルのみを98環境に持って来てリンクのみさせた場合も同じく動きました。
以上のことから察するには、98環境では何らかの処置をしないと正しいOBJファイルが作れないのでは?と思いました。
2000マシンが会社のマシンということで、何とか自宅の98マシンでコンパイル&リンクを通したいのですが、
暫くHELP等を見て悶々と考えていたのですが、未だ解決せず。
何か解決策がありましたらご教授下さい。
0403デフォルトの名無しさん
NGNGOSは関係ねーって。
どんなエラーが出るのか具体的に書けよ。
0404402
NGNGこのようなエラーが出ました。
リンク中...
main.obj : error LNK2001: 外部シンボル ""public: bool __thiscall InitDevice::InitD(struct HWND__ *)" (?InitD@InitDevice@@QAE_NPAUHWND__@@@Z)" は未解決です
Debug/My.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー
2つのマシンはOS以外はほぼ同じ環境です。
lib等は二つを並べて確認したわけではないので、それは早速明日確認してみます。
ありがとうございました。
0405402
NGNGクラスを解いてただの関数化した場合はちゃんとリンクまで通りました。
なので、libとか、その辺の張り忘れではないと思います。
クラス化して、メンバ関数にHWNDを渡したときのみ、上記のエラーが出ます。
(その他のint等の場合は出ない)
0406デフォルトの名無しさん
NGNG0407402
NGNG手動でDebug内のファイルを全部消してもやってみましたが、
やはり同じエラーで終了してしまいました。
クラス→普通の関数に直すとどうやってもリンクも通ります。
ただ、ソースの管理上クラス化してあったほうがありがたいです。
どうしても原因が解らなかった場合は、仕方ないので関数のまま使おうとは思っています。
0408デフォルトの名無しさん
NGNG0409402
NGNG//ClsInitDevice.h内
#include <windows.h>
…
class InitDevice{
…
public:
bool InitD(HWND hWnd);
};
//ClsInitDevice.cpp内
bool InitDevice::InitD(HWND hWnd)
{
…
return true;
}
//main内
#include "ClsInitDevice.h"
…
InitDeviceID,*pID;
pID= &ID;
…
if(!(pID->InitD(hWnd))) return 0;
…の部分は特に問題ないと思うので省かせていただきました。
他のメンバ関数は正常に呼び出せれるので、そこも省きました。
以上が問題が起きているるメンバ関数に関する部分です。
0410402
NGNGInitDevice ID, *pID;
は離れています。
TABのままコピーしたらくっついてしまった…。
0411デフォルトの名無しさん
NGNGRS232Cを使ってデータ転送をしたいのですがC言語でどのように書き込めば良いか分かりません
javaやVBだとライブラリ関数があるようなんですけど,Cだとないっぽいです.
ちなみにDOSで動かそうと思っております.
知ってる人お願いします…
0412デフォルトの名無しさん
NGNG0413デフォルトの名無しさん
NGNGプロジェクトの設定で
ClsInitDevice.cpp
の「このファイルをビルドしない」にチェックいれてないか?
0414402
NGNG//ClsInitDevice.cpp内
#include "ClsInitDevice.h"
他のクラス(そっちはHWNDとか全然渡さない)も全く同じ記述方法で作成しているのですが、
問題なく動いています。
一度、InitD(void)として、別の関数でHWNDだけ新しく作ったメンバに渡してやろうとしたら、
今度はそっちがエラーを出すようになり、結局元に戻しました。
ちなみにHWNDを渡さず、メンバ内で使用している所をコメント化するとリンクまで行きます。
そんなわけでHWND付近が怪しいと睨んでいるのですが…。
0415デフォルトの名無しさん
NGNG0416402
NGNGいえ、そんなことはありませんでした。
チェックは入っていません。
0417402
NGNG以前に購入済みなのですが、
インストールの際にどうしてもCD読みこみエラーが出てしまい、断念しました。
特にCDが汚れているわけでもなく(メディア・ドライブ同様)10数回試しましたが結局うまく行きませんでした。
98は普通にインストール出来るので、引き続き98を使用しています。
試しに友人から借りたXPもインストールしてみたのですが、やはりCD読みこみエラーが出てしまいました。
そんなわけで、今も本棚の片隅で眠りつづけています>2000
出来れば2000を使いたいんですけどね…。
0418デフォルトの名無しさん
NGNG0419デフォルトの名無しさん
NGNG別のクラスを定義して
HWNDを使うメンバを追加しても同じエラーが出る?
0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNG0422402
NGNGはい、製品のプレスミスなら交換してもらおうと思い、
検証を取るために会社の現在使用していないPCに試しにインストールしてみたところ、
正常にインストールできました。
また、会社の備品のWin2000をお借りして自宅PCにインストールしてみたところ、
やはりCD読みこみエラーが出てしまいました。
しかし、98のCDを始めとする他のCDで読み取り不可になったことはありません。
98がインストールできなければ、ドライブ不良となるのですが、
そんな状況で何が原因なのか検討がつかず、結局交換もしていないというわけです。
0423402
NGNGはい。
エラーの出る場所が変わるだけです。
HWNDを渡す部分にエラーが出てきます。
ちなみに、試しにHINSTANCEも渡してみたところ、同様のエラーが出ました。
>420さん、421さん
スミマセン、InitDeviceID,*pIDはコピーミスです。
InitDevice ID, *pID
の空白部分にTABを使用しているのですが、
そのままコピーして貼り付け、書き込みをしたら何故かくっついてしまいました。
なのでここでは関係ないですが、pID= &ID;もそれぞれ離れています。
折角のご指摘、申し訳ございません。
0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNG早急に結論付けるつもりは無いけど、
WinDef.hで定義されてる型は全てアウトかなぁ。
0426402
NGNGC:\data\c\win\2002120501\main.cpp(192) : error C2100: 間接指定演算子 (*) の使い方が不正です。
と出てしまいました。
0427デフォルトの名無しさん
NGNG0428デフォルトの名無しさん
NGNG0429402
NGNGそ、そんな。
期待し過ぎかもしれませんが、Cにそんなところでこけて欲しくないです。
>427さん
はい、そう言った物は共通のヘッダに書きこんで、それぞれ読ませていますので。
0430402
NGNGやってみました。
が、結果は同じでした。
0431デフォルトの名無しさん
NGNG0432デフォルトの名無しさん
NGNG0433402
NGNG元に戻しました。
が、結果は変わりませんでした。
どんどん弄りだすとHWNDがあちこちで必要になると思うのですが、
class内に飛び込ませるようなことは普通はないのでしょうか?
自分の作り方が例外的なのかなぁ…。
0434デフォルトの名無しさん
NGNG0435デフォルトの名無しさん
NGNG0436402
NGNG今のところ「これだー!」ってのが見つかりません…。
>434さん
hWndは、CreateWindowの返値です。
組んでいる途中で確認したのですが、正常に返しています。
0437デフォルトの名無しさん
NGNGHWND hWnd; はグローバル変数にしてる?
0438402
NGNGそれをincludeしろって事ですよね?
main.h、ClsInitDevice.h共に試してみましたが、結果は同じでした。
試すたびにリビルドしているので、実はobjが更新されていなかったなんてオチは無いと思います。
0439デフォルトの名無しさん
NGNG0440デフォルトの名無しさん
NGNGここまできたらソース全部どっかにうpした方が
速いと思われ
0441402
NGNG以前はグローバルでしたが、現状ではローカルです。
引数で持ち歩いています
0442402
NGNG通りました!!
正常動作しています!!
何故!!?
>440さん
その手間が省けそうです。
0443デフォルトの名無しさん
NGNGそれってちゃんと変数の範囲以内にあるの?
0444439
NGNGどういうエラーがでるか報告してください。
0445402
NGNGあります。
持ち歩くのは面倒くさいですが、その辺の抜かりはありません。
>439さん
HWND_ hWndってことですか?
2002120501\main.cpp(187) : error C2065: 'HWND_' : 定義されていない識別子です。
2002120501\main.cpp(187) : error C2146: 構文エラー : ';' が、識別子 'hWnd' の前に必要です。
2002120501\main.cpp(187) : error C2065: 'hWnd' : 定義されていない識別子です。
2002120501\main.cpp(191) : error C2440: '=' : 'struct HWND__ *' から 'int' に変換することはできません。(新しい動作 ; ヘルプを参照)
この変換には reinterpret_cast, C スタイル キャストまたは関数スタイルのキャストが必要です。
cl.exe の実行エラー
このようにでました。
0446デフォルトの名無しさん
NGNG0447402
NGNGすみません。
以下のようになりました。
2002120501\main.cpp(191) : error C2679: 二項演算子 '=' : 型 'struct HWND__ *' の右オペランドを扱う演算子は定義されていません。(または変換できません)(新しい動作; ヘルプを参照)
2002120501\main.cpp(192) : error C2440: 'type cast' : 'struct HWND__' から 'int' に変換することはできません。(新しい動作 ; ヘルプを参照)
この変換を実行可能なユーザー定義変換演算子がないか、または演算子を呼び出せません。
191行目がCreateWindowsからの返値を受け取るところ。
192行目がInitDを読み出すところです。
0448439じゃないけど
NGNG409のソースに対して、
全ての "HWND" を "HWND__ *"で置換してみてください
0449439
NGNG0450デフォルトの名無しさん
NGNGあのさー、関係あるのかないのかわかんないけど、
windef.hで
DECLARE_HANDLE (HWND);
って宣言されてるマクロ「DECLARE_HANDLE」ってWinnt.hで宣言されてるじゃん。
Win9xだとどうなってる?
0451デフォルトの名無しさん
NGNGThis module defines the 32-Bit Windows types and constants that are
defined by NT, but exposed through the Win32 API.
0452402
NGNGあれ?
また同じエラーが…。
焦ってんのかな…。
>450さん
WINNT.H(208): #define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
WINNT.H(211): #define DECLARE_HANDLE(name) typedef HANDLE name
と検索したら出てきました。
0453402
NGNG色々ご教授下さいましてありがとうございました。
お蔭様でclassを使用しつつ、目指すべき動作が出来そうです。
何故動いたのか、どうして動かなかったのかはまた個人的に検証してみたいと思います。
0454名無し@沢村
NGNGそれはmidiファイルの読み込みだが、自分で保存したmidiファイルは難なく読み込めるわけよ。
だが、他のmidiシーケンサーで作ったmidiファイルは、ちゃんと読み込めるものと、読み込んで鳴らすとチンドン屋みたいな音になってしまうものとが出てくるわけよ。
ま、ほとんどのmidiファイルはチンドン屋みたいになってしまって、ちゃんと読み込めるものはほんの少しだわな…。
皆々様方〜、私はこの原因を分析した結果原因らしきものを突き止めたわけよ。
それはノートノンやオフのステータスバイトってあるだろ?90や80よ。
それを省略して本来90407F7Fみたいにするところを407F7Fと省略するだろ?
で続けて書くと90407F7F407F7Fになるわな…。
それでデルタタイムというのもあるだろ?
デルタタイムは1バイトから4バイトまでの可変長になっていて、1バイトだったら、例えば90407F7Fになるが、もし4バイト
だったら、例えば90407F7F407F7Fになるだろ?
そうすると90407F7Fに続く407F7Fがステータスバイトが省略されてのノートオンのメッセージなのか、デルタタイムなのか区別がつかんわけよ。
どちらも7F以下で同じだしな…。
皆々様方〜、90407F7Fに続く407F7Fがステータスバイトが省略されてのノートオンのメッセージなのか、デルタタイムなのか区別する方法を教えてくださらんか〜皆々様方〜♪
ぜひお願いします♪
私はいま最後の壁にぶち当たっているのですよ!!!
0455デフォルトの名無しさん
NGNG死ねよ糞マルチポスト野郎
0456デフォルトの名無しさん
NGNG0457帳票
NGNGしかし、印刷する情報量によっては一つの帳票が2ページ以上のサイズに
なることもあります。
連続帳票に印刷するような単純な形態であれば、単にキリのいいところで
改頁かますだけなので別に悩むこともないのですが、集計表や円グラフ等を
同時に印刷(つまり、グラフィカルで見栄えがいいものを)するので、
見栄えが良いように改頁する工夫が必要です。
また、印刷する帳票の種類が多くあり、帳票毎に改頁位置を調整する手間
をかけるのは時間が無駄・もったいない気がします。
そこで皆さんに質問ですが、汎用的な帳票印刷処理を作るのになにか良い
プログラミングテクニックは無いでしょうか?
実コードを示さずとも考え方で結構です。よろしくお願いします。
ちなみに、自身で調べてみましたがどうやら難しい部類のようで、
解説サイトは見つけられず、開発ツール等はいくつか見つかりました。
ツール(ライブラリ)類に頼る方が早いでしょうが、スキルアップのために
も理解したいと思います。
0458デフォルトの名無しさん
NGNGたしか、綺麗さを評価関数にして、動的計画法で
ページの切れ目とか、文字幅とかを調整してた
0459デフォルトの名無しさん
NGNG0460デフォルトの名無しさん
NGNGそこで。。。
あるプログラムを組んだんですよ、計算させるプログラムを。
そこで計算時間が気になってきて、測定したくなったんです。
ところがclockとか何とか関数はあるんですが使い方が全然わかりまへん。
おせーてくださいまし。
0461デフォルトの名無しさん
NGNG計算開始前に clock() の返す値を保存しといて、
それを計算終了後に clock() の返す値から引いて
CLOCKS_PER_SEC で割れば秒単位で時間が出る。
0462デフォルトの名無しさん
NGNGtimeGetTime() ならより正確に。
0463デフォルトの名無しさん
NGNGRichEditに少し手を出してるけど、部分編集のやり方が分からない。
0464デフォルトの名無しさん
NGNGフォントをBOLDに変更するか、
数ドットずらして二重に描画すればいい。
あ、RichEditは知らない。
0465デフォルトの名無しさん
NGNGAPI なら CreateFont() の引数 fnWeight に FW_BOLD とか指定するけど
RichEditは使ったことないからしらん
CreateFontIndirect() でもいいけどな、て書いて思ったけど
文字の強調表示って選択での反転表示じゃないよな、モウネルケド
0466465
NGNGモーネル
0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNG範囲選択→フォント変更(boldとか)→範囲選択解除
LockWindowUpdateしないと選択範囲が見えちゃうYO-
0469デフォルトの名無しさん
NGNG呼び出される側のDLL、単独で呼び出すと問題なく
呼び出せるのですが、呼び出す側のDLLから呼ぼうとすると
エントリーポイントが見つからないといってきます。
dependency walkerでのぞいてみると、呼びだされる側の
DLLをみた範囲では普通にエントリポイントが見えるのですが
呼び出した側のほうを開くと、呼び出しDLLは、大丈夫ですが
依存関係にある呼び出される側のDLLのエントリポイントが
見えなくなっています。
リンクは、libファイルを使った静的リンク。
いろいろと調べてみましたがよくわからないのでなにか
とっかかりになりそうなことがありましたらコメントいただきたいと
思います。
0470帳票
NGNG>>458
TeX、初めて調べて知りましたが、難しいですね。
まあ、概念は何となく分かりました。
>たしか、綺麗さを評価関数にして、動的計画法で
>ページの切れ目とか、文字幅とかを調整してた
なんとか実践出来るように考えてみます。
>>459
>そもそも帳票のレイアウトを、Word みたいにページを意識したものにするとか。
一応、そのつもりでいます。問題は、キレイに印刷出来るようかつ、
帳票の種類に依存しない汎用的なロジックを如何に組むかということですね。
0471デフォルトの名無しさん
NGNG0472463
NGNG選択範囲の取得って、どうやればいいんですか?
>467
ワードパッドのソースって、何処にあるんですか?
0473デフォルトの名無しさん
NGNGgoogleで検索もせずに何を言うか
0474デフォルトの名無しさん
NGNG471 のと、あと WINAPI
0475デフォルトの名無しさん
NGNGLoadLibrary() + GetProcAddress() + GetLastError() + FormatMessage() も試してみれ。
0476デフォルトの名無しさん
NGNGソフトシンセを作ろうと思ってるんですけども、肝心のシンセ部分は出切るんですが、
MIDIドライバにして、Windows自体から汎用的に(言い方がおかしい)使えるようにしたいんです。
つまり、RolandのVSCやYAMAHAのS-YXGやWinGrooveみたいな感じですね。
で、DDKを使おうと思ってるんですが、まず98DDKしかありません。最新版は落とせないし。
MSDN見てサンプルに「FMSYNTH」やら「DDKSYNTH」やらあるんですが、
言われたフォルダにはそれがないです。多分98DDKだからでしょうが。
MIDIドライバのサンプルなんか無いでしょうか?
Googleでの検索では見つかりませんでした。
0477デフォルトの名無しさん
NGNG0478名無し@沢村
NGNGそれは画面のちらつきについてだが、私は最初WM_PAINTメッセージの中でペイントしてInvalidateRectで再描画するという方式だったのよ。
でもこれだとどうしても画面がちらついてしまうので、WEBで検索してダブルバッファ方式を採用したのよ。
この検索したページのダブルバッファ方式というのは裏画面にCreateCompatibleBitmapでビットマップをつくっておいて、
描画はすべて裏画面におこない再描画するときは裏画面のビットマップを表画面に転送するというものなのよ。
これでとりあえずは全然ちらつかなくなったのよ。
でもこれだと多分モニターかグラフィックボードの性能が悪いためだと思うけど、10秒くらい放っとくと突然画面にちゃんと色が出なくなってしまうのよ。
でも他のソフトなんかモニターやグラフィックボードの性能は悪くても画面はちらつかないし、何時間やっても画面の色が出なくなることはないので、もっとうまいちらつき防止策をやっているはずなのよ。
まあ、WM_PAINTメッセージの中でペイントしてInvalidateRectで再描画しても10秒とまではいかないが、5分ほどで画面の色が出なくなってはいたわな…。
おそらくBITBLTを多用したためだという節が臭いわな…。
皆々様方〜、性能がボロっちいモニターやグラフィックカードでも他のソフトみたいに画面の色が出なくなったりしないいい方法を教えてくださらんか〜、皆々様方〜、お願いします〜♪
0479デフォルトの名無しさん
NGNGまあ、多分お前のプログラムのバグだろう。
冷静になって、きちんとデバッグすれば良いと思う。
0480デフォルトの名無しさん
NGNGマルチにマジレスごくろうさん
0481デフォルトの名無しさん
NGNGハイハイ、発言できてよかったね。
0482名無し@沢村
NGNG皆々様方〜、その原因というのはブラシとペンを多用しすぎていたためじゃ〜!
試しにブラシとペンをうんと減らしてみたら突然色が出なくなることはなくなった…。
ただ、あまり減らしすぎたんで、今度は画面のみてくれがしょぼくなってしまった…。
なんとかしょぼさを最低限に食い止めるためには、どうしてもあとひとつペンヲ増やす必要があるのだが、増やして大丈夫だろうか?
また突然色が出なくなったりしないだろうか?
皆々様方〜、ブラシとペンはいつくまでつくっても画面がおかしくならないか、教えてくだされ〜、皆々様方〜♪
0483デフォルトの名無しさん
NGNG取りあえず、何個使ったらおかしくなって、何個まで減らせば良くなったのかを書いてくれ。
0484デフォルトの名無しさん
NGNGマルチポストやめろ
0485デフォルトの名無しさん
NGNGマジでウザい
0486名無し@沢村
NGNGブラシ2、ペン4に増やしてみたところ、長持ちはするが、やはり5分くらい再描画を繰り返すと、
突然画面に色が出なくなってしまうのよ。
どうもブラシ2、ペン3というのが、画面の色が出なくならないリミットらしいが、これだとあまりにしょぼすぎて完成作品がイヤになるわけよ。
どうしてもブラシ2、ペン4に増やしたいんだがなあ…。何かいい方法ない?
ところでリソースメータって何?フリーでありますか?それはどこからダウンロードできるのですか?
0487デフォルトの名無しさん
NGNGインクカートリッジ交換してみろ
0488デフォルトの名無しさん
NGNGちらつきの問題なのかい?
0489名無し@沢村
NGNGというのもリソースメータがアクセサリーの中に入っていたのを偶然発見しさっそく起動させて監視してみたところ、システムリソースとGDIリソースというのが見る見る少なくなっていくのがわかったからよ。
というのも私はファイルのデータの数だけforループさせてその分だけBITBLTで描画しているため何千回、何万回とBITBLTを使って広大な領域に描画していることになるわけよ。
何か常識で考えても何千回、何万回とBITBLTを使ったら画面がおかしくなりそうな気がしてきたわけだが、何千回、何万回もBITBLTを使って広大な領域に描画したら画面がおかしくなりますか?
教えてくだされ〜、皆々様方〜♪
0490デフォルトの名無しさん
NGNG何だ?広大な領域って?
0491デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1036654893/l50
こっちに統一してくれ
0492デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNG0494デフォルトの名無しさん
NGNGリソースの問題もなければ速度も速い
0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNG0497デフォルトの名無しさん
NGNGおい沢村!
現象が再現する最短コードアップしろ!
お兄さん達が可愛がってやるぜ。
0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNG0500名無し@沢村
NGNGまずWinmain関数のメッセージループの前のところに、次ぎの関数を入れてる。
void Init_Draw()
{
HDC hDC;
hDC=GetDC(hWnd);
hMemDC=CreateCompatibleDC(hDC);
hBIT=CreateCompatibleBitmap(hDC,800,600);
SelectObject(hMemDC,hBIT);
PatBlt(hMemDC,0,0,800,600,PATCOPY);
ReleaseDC(hWnd,hDC);
}
0501名無し@沢村
NGNGvoid Init_Draw2(HWND hwnd)
{
CreateRect();//Rectの作成
hDC2=BeginPaint(hwnd,&paintstruct);
//ペンとブラシを作成
CreatePen_Brush();
FillRect(hMemDC,&zen_rect,hBrush2);
//テキストの色を指定
SetTextColor(hMemDC,RGB(20,20,20));
//テキストの背景色を指定
SetBkColor(hMemDC,RGB(190,190,190)) ;
SelectObject(hMemDC,hFont);
for(onkaipos=0;onkaipos<28;onkaipos++)
{
TextOut(hMemDC,onkaipos*21+20,515, onkais[onkaipos].name,strlen(onkais[onkaipos].name));
}
ct_Textout(hMemDC);
//リージョン外にビットマップを描画
hMemDC2=CreateCompatibleDC(hMemDC);
SelectObject(hMemDC2,hBMP);
(中略)
//ペンとブラシを削除
DeletePen_Brush();
DeleteDC(hMemDC2);
EndPaint(hwnd,&paintstruct);
}
0502名無し@沢村
NGNGDeleteDC(hMemDC);
DeleteObject(hBMP);
DeleteObject(hBMP2);
DeleteObject(hBIT);
0503名無し@沢村
NGNG「ReleaseしてもDCの関連づけを外してなければ解放されない」というのは何?
それは初耳です。それはどうするのですか?
0504デフォルトの名無しさん
NGNGどっちかに統一しろ
0505デフォルトの名無しさん
NGNGどっかで相手してもらえると思ってるからマルチしてる。
0506デフォルトの名無しさん
NGNGプログラマー向きの性格じゃないから
ソース全部削除して自分探しの旅にでも出てこい
0507デフォルトの名無しさん
NGNGマルチポストうざい
首吊って氏ね とまでは言わないからもう来んな
0508デフォルトの名無しさん
NGNG開放されるわけが無い
0509デフォルトの名無しさん
NGNG0510デフォルトの名無しさん
NGNG新しいオブジェクトは、 同じ種類の以前のオブジェクトと置き換わります。
アプリケーションは、 新しいオブジェクトを使って描画を終了したら、 必ずそのオブジェクトを
元のデフォルトのオブジェクトに置き換えなければなりません。
坊や、分かるかい?
0511デフォルトの名無しさん
NGNG0512デフォルトの名無しさん
NGNGそれを直そうともしない。
何のために質問しているのか。
0513デフォルトの名無しさん
NGNG頼むから沢村を相手にしないでくれ。
0514名無し@沢村
NGNG俺は普段は(Not MFC)だが、ActiveXをつくるときだけは(MFC)してるよ。
VC++の場合、(Not MFC)でActiveXをつくろうと思ったら、内部構造を完全に把握していなければならず、死ぬほど難しいぞ!!
0515デフォルトの名無しさん
NGNG0516デフォルトの名無しさん
NGNG0517デフォルトの名無しさん
NGNG0518名無し@沢村
NGNG俺って本当に馬鹿だからATLをさっぱり理解できないんだよね。
0519名無し@沢村
NGNG俺の名を語るな!!
0520名無し@沢村
NGNG0521名無し@沢村
NGNG0522名無し@沢村
NGNGせめてバーチャファイターのチェンリーなみのがサクサク動かないと…!
PCの3Dはダサいから今のところ手を出していない…。
0523デフォルトの名無しさん
NGNG普通はNetMsg.dllを読み込んで処理すると思うのですが、
独自のメッセージを追加したときにでうまく処理できると聞いたのですが
具体的にどうすればいいのでしょうか?
0524デフォルトの名無しさん
NGNGメッセージリソースだか文字列リソースだかを追加する
0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNG普通は、FORMAT_MESSAGE_FROM_SYSTEMでメッセージ入力元にはNULLを指定。
文字列リソース使うかメッセージファイルからDLLつくって、
source = LoadLibraryEx((LPCTSTR)source, NULL, LOAD_LIBRARY_AS_DATAFILE);
とでもやって、
FORMAT_MESSAGE_FROM_HMODULE
を使う。
0527デフォルトの名無しさん
NGNG> 471 のと、あと WINAPI
なぜにWINAPI?
0528デフォルトの名無しさん
NGNG> 色々ご教授下さいましてありがとうございました。
> お蔭様でclassを使用しつつ、目指すべき動作が出来そうです。
> 何故動いたのか、どうして動かなかったのかはまた個人的に検証してみたいと思います。
きわめて亀レスだが、
間違いなくSTRICTのdefineされる/されないによる違いだぞ。
昔はSTRICT未定義がデフォだったんだが、最近はNO_STRICTしないとSTRICTがデフォに
なってるからな。
dumpbin /symbols hoge.obj
とかしてみろ、呼び出し元/先で食い違ってるはずだ。
0529デフォルトの名無しさん
NGNG0530名無し@沢村
NGNGVCでプログラムを組むにしてもアセンブル言語を知らないとまずいぞ。
というのはVC付属のデバッガを起動するとアセンブル言語一覧の問題の個所にやじるしが出てくるからだ。
これが何を意味するかわからないとバグを直せないだろ?
だからVC使いにとってもアセンブル言語は必須というわけよ。
0531名無し@沢村
NGNGで、ベタでひとつのCソースファイルに展開するとこまでは成功したのですが、これだと読みにくすぎるので、せめてインクルードしているwindows.hなどは#include"windows.h"で済ませるようにしたいのですが、どうしたらいい?
また.hファイルと.cppファイルを切り分けて、それぞれ別のファイルとして展開するにはどうしたらいいですか?
0532デフォルトの名無しさん
NGNGプ
沢村を叩くのは OK だが相手するのは禁止。
0533デフォルトの名無しさん
NGNGIntel系のアセンブラの知識がまるで役に立たんよ
0534デフォルトの名無しさん
NGNGタブ部分のテキストのフォントが知りたいんですが、
なんか方法ありますでしょうか?
あるいは、そもそも変更できないので
取得せずに決めうちでいいって言うことならそれでもいいんですが
0535デフォルトの名無しさん
NGNGGETFONTでとれないですか?
0536デフォルトの名無しさん
NGNG0537デフォルトの名無しさん
NGNGfxt(ttp://www.jjj.de/fxt/)というGNUライセンスのライブラリをダウソしたのですが、
拡張子がccなんですが、なんなんでしょう。
C++でもないし。
0538デフォルトの名無しさん
NGNG0539C++厨
NGNG0540デフォルトの名無しさん
NGNG0541537
NGNGでも、クラスメソッドでなく、関数ばかりですね。
不思議だ。昔のC++はそういうものだったのかなぁ。
0542IP記録実験
NGNGhttp://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0543デフォルトの名無しさん
NGNGというふうにする方がいいと思うのだが
0544デフォルトの名無しさん
NGNG誤爆ですか?
0545デフォルトの名無しさん
NGNG0546デフォルトの名無しさん
NGNG0547デフォルトの名無しさん
NGNG0548デフォルトの名無しさん
NGNG0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNGそれはED
0551デフォルトの名無しさん
NGNG笑
0552デフォルトの名無しさん
NGNG0553IP記録実験
NGNGhttp://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0554デフォルトの名無しさん
NGNG0555デフォルトの名無しさん
NGNG0556デフォルトの名無しさん
NGNG0557デフォルトの名無しさん
NGNGと20もの多弾プロ串を経由しているので追跡は不可能です。
0558デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0559デフォルトの名無しさん
NGNG匿名性が失われ自分に反対する者が誰かは
わかるのに小数派には反論さえ許されない
最悪のシステム!!
もしも常に特定の人物と
意見が対立し 常に片方だけが意思を
抹殺されたら…
それが続けば必ず集団は決裂する!!
0560デフォルトの名無しさん
NGNGcell computingとは、ブロードバンドに接続された家庭内や
企業内のPCの余剰CPUパワーを統合し、
仮想的なスーパーコンピュータとしての利用を実現する
技術を用いたSI、ネットワークサービスです。
バイオ、物理計算、設計、金融工学、CGレンダリングなどの
分野のお客様へ、安価に仮想スーパーコンピュータパワーを
提供することを目的としております。
なお、将来的には収益にあわせてCPUパワーを提供してくださる
参加者へポイントシステムやデジタルコンテンツによる
利益還元を考えております。
http://www2.cellcomputing.jp/
2ちゃんねるのチーム作ってみました。
http://members.cellcomputing.jp/services/teams/team.htm?id=ABBE425B-CE11-4DA4-8591-C68DF67DA41A
0561デフォルトの名無しさん
NGNG>本件1ないし3のスレッドにおいて原告らの名誉を毀損する
>本件各名誉毀損発言が書き込まれたことを知っていたのであり,
>これにより原告らの名誉権が侵害されていることを認識し,
>又は,認識し得たのであるから
この最初の通知書っていうのが内容証明かと思ったんですが、、、
0562デフォルトの名無しさん
NGNG俺は両方とも同じだからわかんない
0563デフォルトの名無しさん
NGNG>>228-230>>246-247
>>255>>261-262>>264-265>>271>>274-275
>>295-296>>306-307>>309>>318-321>>323>>328-329>>331
>>333-335>>339>>342>>344-345
0564デフォルトの名無しさん
NGNG0565デフォルトの名無しさん
NGNGhttp://dailynews.yahoo.co.jp/fc/computer/2channel/
0566デフォルトの名無しさん
NGNG0567デフォルトの名無しさん
NGNG0568デフォルトの名無しさん
NGNG0569デフォルトの名無しさん
NGNG0570デフォルトの名無しさん
NGNG0571デフォルトの名無しさん
NGNGトップに貼ってたらイイと思う。
0572デフォルトの名無しさん
NGNG0573デフォルトの名無しさん
NGNG0574デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNG0577デフォルトの名無しさん
NGNG0578デフォルトの名無しさん
NGNG0579デフォルトの名無しさん
NGNGもっと踏み込んだ手段をとればなおいいが。
0580名無し@沢村
NGNGおいヌヒ等よ、大変だぞ!!
俺はふと思って2ちゃんねるのあっちこちの板を見て回ったのよ。
格闘技板とかアナウンサー板とかプログラマー板とかをな。
そうしたらな、どこのスレ開いても最近ひろゆきの話題が出てる板はプログラム技術板だけだったぞ!!
ヌヒ等よ、ここは2ちゃんねるいっちゃん恥ずかしい板だぞ!!
0581デフォルトの名無しさん
NGNG閲覧したり、ウインドプロシージャをフックしたりということは可能なのでしょうか?
0582デフォルトの名無しさん
NGNG当て字を使えばOK?セクハラだったら施苦腹とか
0583デフォルトの名無しさん
NGNG0584デフォルトの名無しさん
NGNG0585デフォルトの名無しさん
NGNG"システムフック" or "グローバルフック"で検索
0586デフォルトの名無しさん
NGNGどうもありがとうございます。
またまた質問で申し訳ないです。
MSDNオンラインでGetComboBoxInfo()なるAPIを見つけたんですが
Winuser.hをincludeしろと書いてあるのにそうしてもシンボルを認識してくれません
インテリセンスはちゃんと見つけてくれるのに。。
#ifディレクティブとかで定義部をはじかれてるのでしょうか?
どなたかご存知ですか?
0587デフォルトの名無しさん
NGNG定義の問題じゃないか。
0588デフォルトの名無しさん
NGNG#endif /* NOWINABLE */
#endif /* WINVER >= 0x0500 */
弾いてそうなのはこの2つ
0589デフォルトの名無しさん
NGNGありがとうございました
単にWINVERが0x0500未満だったようです
m(_ _)m
0590デフォルトの名無しさん
NGNG大好きだったけど〜、IP取るなんて〜♪
0591デフォルトの名無しさん
NGNG0592デフォルトの名無しさん
NGNGここを見ると、
_MAX_PATH は 絶対パスの最大長
と書いてあるのですが、
単位はバイトで良いのでしょうか?
0593デフォルトの名無しさん
NGNGパス名をintに入れたりするか?
char FileName[_MAX_PATH];
0594デフォルトの名無しさん
NGNGunsigned shortに入れることはあったりするだろう。
0595デフォルトの名無しさん
NGNGそれをどう使う?
0596デフォルトの名無しさん
NGNGUNICODE 系の API に渡すんだろ。
0597デフォルトの名無しさん
NGNG0598デフォルトの名無しさん
NGNG0599デフォルトの名無しさん
NGNG| |。‘从 <新スレおめでとうございまーす♪
|_と )
|桃| ノ
| ̄|
0600デフォルトの名無しさん
NGNG4nd
0601デフォルトの名無しさん
NGNGフォンドボー?
0602デフォルトの名無しさん
NGNGちょっと興味があるから聞くんだけど、
UNICODEで_MAX_PATHにおさまるパス名をMBCSに変換したら
_MAX_PATHを越えたっていう場合、やっぱりそれを...A系関数に
渡しちゃいけないんだよね?
0603デフォルトの名無しさん
NGNGCHAR a[_MAX_PATH];
も
WCHAR b[_MAX_PATH];
も文字数が_MAX_PATH。それだけ。
0604デフォルトの名無しさん
NGNGそれ以前に _MAX_PATH の値は、あまり信用しない方が。確か 256 程度に
定義されてたと思うけど、NTFS とかネットワークパス (//server/share_name/xxx)
使うと、あっさり越えられるでしょ。
0605名無し@沢村
NGNGそれはたくさんあるラジオボタンから値を取得したときチェックを切り替えるときのソースだ。
ただしラジオボタンのハンドルは配列にしておかなくちゃいかん。また取得する値は配列のインデックスと同じにしなくちゃいかんがな…。便利だぞ、ヌヒ等よ♪
void CheckRadio(int max,int atai)//ラジオボタンのチェックを切り替える
{
int i;
for(i=0;i<max;i++)
{
if(i==atai)SendMessage(hRadio[i],BM_SETCHECK,1,0);
else SendMessage(hRadio[i],BM_SETCHECK,0,0);
}
}
0606名無し@沢村
NGNGヌヒよ、そのコードはコンパイルエラーが発生するぞ。
0607デフォルトの名無しさん
NGNGプログラムしてみた。
Borland C++Compilerでただで
プログラム可能なので、正直
気軽に使えた。便利。
でも肝心の使い方がイマイチ「?」
なので、小林健一郎という人の書いた
C++の本を買うことにした。
初心者向けなので、「こんなに簡単で
いいの?」ってくらいスムーズに
プログラムが書けるようになった。
しかしまだまだ難しい作業だとか、覚える
必要のある作業はたくさんある。
最終目標はGUIアプリを作ることだ。
そこで人に相談したところ、GUIアプリを
作るなら、Visual C++で作った方がぜったい
楽だと聞いた。
そうなのか。。。
ところで、プログラマになろうと思ったら、
「絶対」Visual C++なしでC++が書けなきゃ
だめなの??
0608デフォルトの名無しさん
NGNGちょっとした雛型をコピぺすりゃ簡単に出来る。
0609607
NGNGそうなんですか。。。
初心者なので今いちわからない
こととか多かった。調べようにも
語句とかが「?」って感じで。。
ありがとうございました。
0610デフォルトの名無しさん
NGNGまあ、猫でもわかる・・とか見てみることだな
0611デフォルトの名無しさん
NGNG何故かIDOKが2回送られて困っています。原因は何処ら辺でしょうか?
0612デフォルトの名無しさん
NGNG0613デフォルトの名無しさん
NGNG釣りのつもりだろうけど・・
>ボランティアだから無責任でイイ?
ボランティア=無責任に見えるんだな、<619さんは。
回答を求めてもループになるという罠
0614デフォルトの名無しさん
NGNGがんばってください
0615デフォルトの名無しさん
NGNGVC++よりかはBorland C++ Builderの方が簡単だと思います。
0616デフォルトの名無しさん
NGNG3次元配列を使っています.
unsigned char A[100][100][100]; くらいまでは問題ないのですが,
配列の数がそれを越えると,メモリ不足からか,宣言をしただけでエラーが出て,
プログラムが異常終了してしまいます。
OSは,Windows98,コンパイラは,Borland C++Compiler,
積んでいるメモリは256MBです。
皆さんは,幾つくらいまで配列を使えますか?
0617デフォルトの名無しさん
NGNG手入力だったらそのエネルギーをほかの事に使うべし
0618デフォルトの名無しさん
NGNG自動変数にしてないか?
0619山崎渉
NGNG0620デフォルトの名無しさん
NGNG最高裁への上告は認められなくなったから、これで事実上判決確定だよ。
逆転も何もないって。
勢いで上告なんかしても一発で上告却下(門前払い)だよ。
二審も一審を支持。これに対して上告しようにも、
刑事訴訟と同様、自由に上告できるってもんでもないのです。
民事訴訟法312条 (上告の理由) 1項
「上告は、判決に憲法の解釈の誤りがあること
その他憲法の違反があることを理由とするときに、することができる。」
http://www.m-net.ne.jp/~doba/goto/hon.htm
ようするに上告しても今の制度では100%無駄。
これで完全終了ってことか。
0621名無し@沢村
NGNGヌヒよ、宣言をしただけでエラーが出るのはあたりまえだよ、ヌヒよ。
宣言をするということはメモリをあらかじめ確保するということだからね。
またヌヒよ、プログラムで扱うメモリはセグメントという単位にわけられるんだよ。
だからメモリが256MBあっても関係なくて、メモリを確保するときはそのセグメントをまたがないようにしなければいけないんだよ。
俺もくわしいことはわからないが、たいがいセグメントは16で割りきれる単位になっているはずだよ。
だからunsigned char A[100][100][100]; という宣言の仕方はいけない。
unsigned char A[128][128][128]; というようにすればセグメントをまたがないから、どんなに巨大なメモリを確保しても大丈夫のはずだよ。
ヌヒよ、頑張れ!!
0622デフォルトの名無しさん
NGNG(・∀・)カエレ!
0623デフォルトの名無しさん
NGNGこいつはなぜ人を下僕呼ばわりするのですか?
0624デフォルトの名無しさん
NGNG胡散臭い。
0625デフォルトの名無しさん
NGNGunsigned char A[128][128][128]; がまたがないのか説明してもらおうか。
0626616
NGNGしてました。
問題解決,ありがとうございました。
0627山崎渉
NGNG0628デフォルトの名無しさん
NGNG0629デフォルトの名無しさん
NGNG0630デフォルトの名無しさん
NGNGで、>605もかなりイタイな。
で、誰も的確な突っ込みを入れないのは、放置が徹底されてるからか。
で、なるほど。
0631デフォルトの名無しさん
NGNG0632デフォルトの名無しさん
NGNG0633デフォルトの名無しさん
NGNG0634キック沢村
NGNGあんだとゴルァ!
0635デフォルトの名無しさん
NGNG放置もいいが、沢村が懲りてくれないと害の方が多いのではないか?
0636デフォルトの名無しさん
NGNGスタックについては >>618 が言っているのも同然だろ
0637デフォルトの名無しさん
NGNG0638デフォルトの名無しさん
NGNGそれは>616が理解しているかどうかによるだろ。
理解していなければ言っていないのと同然。
ま、どっちでも良いが。
0639デフォルトの名無しさん
NGNG0640デフォルトの名無しさん
NGNG沢村
}
catch(沢村){
TRACE("逝ってよし");
}
0641デフォルトの名無しさん
NGNGつーかよ、沢村に限らず、電波ってるカキコは叩くべきだろうがよ。
おとなしい掲示板が好きなら他所いけや。
0642デフォルトの名無しさん
NGNG典型的な釣られ厨だな(w
0643デフォルトの名無しさん
NGNGクソスレも叩かず容認する訳だ・・・
0644デフォルトの名無しさん
NGNG今更叩いてもウザイだけなんだが。
0646デフォルトの名無しさん
NGNG何でもすぐ釣りだと思い込む人ってけっこういます。
厨に「釣れた!」とか後出しジャンケンされるだけのことが
そんなにこわいんですかねえ。謎です。
0647デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNG0649デフォルトの名無しさん
NGNG叩くか放置するかの話だろ?
こんな状況こそ沢村の思うつぼ。
叩くヤツは叩かせとけ。放置したきゃ、放置しとけ。そんだけの話。
0650デフォルトの名無しさん
NGNGマジレスすると「釣り厨」じゃなく「釣られ厨」なんだから
「電波ってるカキコは叩」いて回る奴は簡単に釣られるねって話だろ
0651デフォルトの名無しさん
NGNG0652デフォルトの名無しさん
NGNG0653山崎渉
NGNG0654デフォルトの名無しさん
NGNG0655デフォルトの名無しさん
NGNG0656デフォルトの名無しさん
NGNG0657デフォルトの名無しさん
NGNGどうすればよいのでしょうか?
やはりWinsockを使用するのでしょうか?
0658デフォルトの名無しさん
NGNGそんな使い方は日常「ちゃはんじ」
0659デフォルトの名無しさん
NGNGレジストリのどこかにあると思われ
0660デフォルトの名無しさん
NGNG0662デフォルトの名無しさん
NGNG4日越しのレスありがとう
0663デフォルトの名無しさん
NGNGつーわけで
Windows ProgrammingはMFC使いましょう
0664デフォルトの名無しさん
NGNG0665デフォルトの名無しさん
NGNG名前が悪い。
Windows でのプログラミングではなく、API そのものを扱っているように見える。
0666デフォルトの名無しさん
NGNG0667デフォルトの名無しさん
NGNG0668デフォルトの名無しさん
NGNGここは明らかに機能してなさげ。
0669デフォルトの名無しさん
NGNG0670デフォルトの名無しさん
NGNG0671デフォルトの名無しさん
NGNG┌
みたいに表示されるんだけどみんなの環境ではどうなのかな?
TextOutならまともにでるんだけどな。
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc;
LOGFONT lf;
HFONT hfont;
hdc = BeginPaint(hwnd, &ps);
ZeroMemory(&lf, sizeof(lf));
lf.lfHeight = 20;
lf.lfWidth = 0;
lf.lfEscapement = 2700;
lf.lfOrientation = 2700;
lf.lfCharSet = DEFAULT_CHARSET;
strcpy(lf.lfFaceName, "MS ゴシック");
hfont = CreateFontIndirect(&lf);
SelectObject(hdc, hfont);
SetTextColor(hdc, RGB(0xFF, 0xFF, 0xFF));
SetBkColor(hdc, RGB(0,0,0));
TabbedTextOut(hdc, 100, 100, "くろいろ", 8, 0, NULL, 0);
EndPaint(hwnd, &ps);
DeleteObject(hfont);
}
break;
0672デフォルトの名無しさん
NGNG結局誰も次スレを立てなかったようだが
Win32API 質問箱 Build8
http://pc2.2ch.net/test/read.cgi/tech/1040964626/
0673デフォルトの名無しさん
NGNGリアルタイムで他のパソコンで表示したいのですが、
どうすれば実現できるか教えていただけないでしょうか。
いちおう実験で、DirectShowを利用して、Webカメラの
動画を送信元のパソコンに表示させたり、保存させる
ところまではいけたのですが・・・・そこから先がいろんな
ページをみてもわからなくて・・
よろしくお願いしまつ。
0674デフォルトの名無しさん
NGNGWinsock 使って転送すれ。プロトコルは自分で適当に作れ。
または送信元を HTTP サーバーにして、表示する方では Web ブラウザ使え。
0675デフォルトの名無しさん
NGNG> 1 には
> Windowsプログラムを作るにあたって、API以外の疑問や質問を
とあるので↓の方が近いかと。
http://pc2.2ch.net/test/read.cgi/tech/1044267746/
0676デフォルトの名無しさん
NGNG立ってるぞ
http://pc2.2ch.net/test/read.cgi/tech/1044929160/
0678デフォルトの名無しさん
NGNG興味ないからやらないよ
0679デフォルトの名無しさん
NGNGなんか検索したらレジストリから取る方法を見つけたけど 2k/XP だと 100% としか
返ってこない。
0680デフォルトの名無しさん
NGNG0681デフォルトの名無しさん
NGNGXP SP1以降は
GetSystemTimes
Win2k〜XPは(NT4でも未公開ながら使えるという噂)
NtQuerySystemInformation(SystemProcessorPerformanceInformation
Win9xは
WINTOP.VXD(もしあれば)
それ以外はレジストリ
HKEY_DYN_DATA - PerfStats\StartStat - KERNEL\CPUUsage
0682デフォルトの名無しさん
NGNGNtQuerySystemInformation でぐぐったら↓のページ見つけて解決しました。
隠し API とは…
http://kobatac.hp.infoseek.co.jp/tips/GetCpuUsageOnNT1_h.html
>>680
98 で動いてたレジストリ使う関数は、NT/2k/XP では Win 起動後
時間がたつにつれ 100% しか返さないように動くらしいです。
0683デフォルトの名無しさん
NGNGhttp://msdn.microsoft.com/library/en-us/sysinfo/base/ntquerysysteminformation.asp
0684デフォルトの名無しさん
NGNGWM_CHARで認識できず、WM_KEYDOWNでは、
キーボードレイアウトに依存してしまいます。
Ctrl + Shift + 記号キー入力を、キーボードレイアウトに
依存せずに簡単に識別する方法はないでしょうか?
0685デフォルトの名無しさん
NGNGそうなんですか。手元の VC6 や MSDN にはその Winternl.h ファイルすら
入ってないようですが今の C++.NET にはあるのかな。
どうもありがとうございます。
0686デフォルトの名無しさん
NGNGスレッドを動かしたまま、ExitProccessするのってありですか?
プロセスが無くなるからメモリリークとかしないですよね。
それとも、作ったスレッド内でかプロセスの終了シグナルとかフックする方法とかあるんですか?
0687デフォルトの名無しさん
NGNG最新のPSDK落として来い
0688デフォルトの名無しさん
NGNG捕まえた後、MapVirtualKeyExで返還するというのは?
0689デフォルトの名無しさん
NGNG特に問題ない
プロセス終了時にOSが全てのリソースを解放してくれる
0690デフォルトの名無しさん
NGNG嘘をついちゃいけないねぇ
Windows(NT系も含む)では、mallocで割り当てたメモリはプロセス終了後もリークしつづける。
HeapAllocで割り当てたメモリは、プロセス時に解放される。
0691デフォルトの名無しさん
NGNG嘘をついちゃいけないね。少なくとも2000以降は確実に開放してくれるはず。
NTの初期は知らんが
0692デフォルトの名無しさん
NGNGソースは?
0693デフォルトの名無しさん
NGNGInsideWindows2000を読め
0694デフォルトの名無しさん
NGNG実際にリークするコードを書いてみろ、絶対に無理だから
DOSの頃ならMCBのチェインをぶっ壊せば
意図的にリークさせられたがWindowsでは無理
0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNGExitProcess()やTerminateProcess()を呼ぶと
使ってる環境のクリーンアップが出来なくなるから
Exit&Terminatは、どうしようもない場合以外
呼ぶなって、何処かで読んだ記憶が…
で、メモリリークは、それぞれの環境で正常に終了させれば
普通は発生しないとも、何処かで読んだ記憶が…
0697デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdllpro/html/_win32_exitprocess.asp
には、ExitProcessを使わないとプロセスにアタッチしている DLL へプロセスの終了を通知しないって書いてあるから
TerminateProcess、exit、_exitなどは使わないほうが良いのでは?
0698デフォルトの名無しさん
NGNG全てのスレッドが終了すればプロセスは正常に終了するのだから
明示的にExitProcess()は呼ぶなって書いてありました
呼んでは、いけない理由の分かりやすかった例では
C++でExitProcess()を呼ぶとスレッドで使用したコンストラクタに
対応したデストラクタが呼ばれずに終了するから
だったと思います
これが、実際に何処で影響するかは理解出来なかったのですが(特殊な同期とか?)
それを読んで以来、念の為ExitProcess()は使わないようにしてます
0699デフォルトの名無しさん
NGNG>これが、実際に何処で影響するかは理解出来なかったのですが(特殊な同期とか?)
アプリ側で書き込みをバッファリングしている場合フラッシュされない等々
0700デフォルトの名無しさん
NGNG0701デフォルトの名無しさん
NGNGexit, _exitは内部でExitProcessを呼ぶ。
むしろCランタイムのクリーンアップ(stdoutのフラッシュとか)
が行われない可能性があるからExitProcessを直接呼ぶべきではない。
TerminateProcessが最後の手段なのはそのとおり。
0702仕様書無しさん
NGNGmalloc() や exit() 等の C 標準関数が、Win32API を使う以外の方法で実装
されているなんて妄想を持っている香具師が居るのか?
0703デフォルトの名無しさん
NGNG0704デフォルトの名無しさん
NGNGマナーですよ?これは。
0705デフォルトの名無しさん
NGNGakita
0706デフォルトの名無しさん
NGNGマナーですよ?これわ。
0707デフォルトの名無しさん
NGNG0708デフォルトの名無しさん
NGNGということはWinMainのメインスレッドもExitスレッドで終わらせるべきなのか
知らんかった(.鬱
0709708
NGNG0710デフォルトの名無しさん
NGNGPostQuitMessage()でメッセージループ終わらせてWinMainから抜けるのが正道。
0712デフォルトの名無しさん
NGNG今はもう無理ぽ?
0713デフォルトの名無しさん
NGNGでも注文すれば送料だけで送ってくれるよ
0714デフォルトの名無しさん
NGNG以前DL出来たDDKのページはもう消されてるな。
でも、ググったりすれば何とか手に入るぞ。
という訳でガン(・∀・)ガレ!!
0715712
NGNGググっても見つからなかったので大人しくCD注文しまつ
0716デフォルトの名無しさん
NGNG0717デフォルトの名無しさん
NGNG0718デフォルトの名無しさん
NGNG0719デフォルトの名無しさん
NGNG0720デフォルトの名無しさん
NGNGネタだよな・・・
0721デフォルトの名無しさん
NGNGネタじゃないよ
0722デフォルトの名無しさん
NGNG(線だけの枠に)指定して
ウインドウを作成することは
できますか?
0723デフォルトの名無しさん
NGNGどうすれば良いのでしょうか。例えばAlt+Mなどを送りたいのですが…。
単一のキーボードイベントは送れています。
Altだけkeybd_eventなどを使ってみたのですが、どうも上手く行かなくて…。
0724デフォルトの名無しさん
NGNGWS_POPUP なら出来るような気もする。とりあえず試せ
0725デフォルトの名無しさん
NGNG#pragma comment(linker, "/nodefaultlib")定義して
WinMainCRTStartup書いて
コンパイラオプションから/GXと/GZはずして
newとdelete書いて
とりあえず、うまく行くようになったと思ったら
try-catchを使おうとするとリンクで
error LNK2001: 外部シンボル "___CxxFrameHandler" は未解決です
error LNK2001: 外部シンボル "__except_list" は未解決です
と、怒られます.
これって、例外ハンドラも自分で実装しろって事?
でも実装の仕方がサパーリです.
DQNな俺にはここまでが限界.
誰か、わかる人いる?
0726デフォルトの名無しさん
NGNG0727デフォルトの名無しさん
NGNGMSDNにMSJのバックナンバーがあるからMatt Pietrekの記事を探せ
どうでもいいが奴が発見したWM_TIMERで他プロセスの
任意のアドレスでコールバックを起こせる技はとうとう
セキュリティ脆弱性に認定されてしまったな
0728デフォルトの名無しさん
NGNG0729デフォルトの名無しさん
NGNG0730722
NGNG> WS_POPUP なら出来るような気もする。とりあえず試せ
どうもタイトルばーがないウインドウならできるようでした…
が、タイトルバーがあるウインドウ(普通のウインドウ)では
できないようでした…
そういうものなのかな
0731デフォルトの名無しさん
NGNG他のコントロールの**N_CLICKEDと違って、マウスのボタンを押下したタイミングでメッセージが送られてくるようです。
できればBUTTONコントロールと同じようにマウスのボタンを放したタイミングでメッセージを送って欲しいのですが、
そのように都合の良いメッセージ等はあるのでしょうか。よろしくお願いします。
I.E.でHTMLを表示してURLをクリックした時の動作を真似たいだけなんですが……
0732デフォルトの名無しさん
NGNGサブクラス化してWM_LBUTTONUPで処理
0733デフォルトの名無しさん
NGNG0734デフォルトの名無しさん
NGNG禿しく的はずれ
0735デフォルトの名無しさん
NGNG右クリックでメニュー出すのが目的なら、
サブクラス化してWM_CONTEXTMENUで処理するのが良いと思う。
0736デフォルトの名無しさん
NGNGそういう仕様です。WM_NCPAINTを使えば・・・
0737デフォルトの名無しさん
NGNGなんでだ?
0738デフォルトの名無しさん
NGNGありがとうございます。
最終的にはサブクラス化をすることにしました。
おかげさまでボタン押下時にフォーカスがあることを示す矩形の描画や
マウスオーバーでリンクをハイライトさせる機能なども実装できました。
なにか難しそうなので敬遠していたサブクラス化でしたが
こんなに簡単なことならサッサとサブクラス化に踏み切るべきでした。
本当にありがとうございました。
0739デフォルトの名無しさん
NGNG教えてください。
0740デフォルトの名無しさん
NGNG0741デフォルトの名無しさん
NGNGあったらおしえてください
0743デフォルトの名無しさん
NGNGお、間違えた。
直すのもメンドクサイので、自分で作ってみましょう。
とにかく、デフォルトではないってことです
0744デフォルトの名無しさん
NGNGものを作ろうと思っているのですが…
_MyGetFreeSystemResources32@4は、0が返ってくる
ことや、100が返ってくることはありますか?
GDIリソースとUSERリソースの両方の場合で。
返ってくる範囲が[1,99]に限られているような
気がします。
あと、GlobalMemoryStatus関数で得られる
MEMORYSTATUS構造体のdwTotalPhysメンバは
Windows98の実行中で変化することは
ありますか?
物理メモリの容量は一定のような気がします
0745デフォルトの名無しさん
NGNGただ、2000とかで休止状態で終了してメモリ抜き差しすると変わるかも・・・
0746デフォルトの名無しさん
NGNG0747デフォルトの名無しさん
NGNG法的には問題なさそう
0748デフォルトの名無しさん
NGNG0749デフォルトの名無しさん
NGNGだれか試してくれ
0750デフォルトの名無しさん
NGNG0751デフォルトの名無しさん
NGNGメッセージを介さずに現在のマウス位置を取得できる関数はありませんか?
0752デフォルトの名無しさん
NGNG0753744
NGNGのほうはどうなんでしょうか
0754名無し@沢村
NGNGそれはボタンだが、ふつーのボタンではかっこわるいのでオーナードローボタンにしたんだが、
どうもファイルを読み込んでいろいろ処理すると不正な処理というかページ違反が出てエラーになるのよ。
それがその処理をふつーのボタンを使ってするとどうもそのエラーは出んようなのよ?
だが、ふつーのボタンだとかっこ悪いだろ?
そこでAPIをいろいろ調べてみるとオーナードローではなくふつーのボタンにもビットマップを使えるようになっているらしいのよ?
だがこれは猫でもを読んでも出てないしやりかたわからんのよ?
皆々様方〜オーナードローではなくふつーのボタンでビットマップ使う方法ご存知ないだろうか?
皆々様方〜教えてはくださらんか?皆々様方〜♪
まあこれはボタンでごまかすよりファイル処理の方法を見直すべきだろうが…。
それがさっぱり見当つかんからとりあえずボタンでごまかそうと思うのよ。
皆々様方〜教えてはくださらんか?皆々様方〜♪
0755名無し@沢村
NGNG皆々様方〜、これ↑はデバッグしたときのその矢印のついた場所だが、これは何かな?
皆々様方〜、やっぱりふつーのボタンにしてもその処理をしてる最中は不正な処理は出ないが、最後にウインドウを閉じるとき不正な処理が出ることがわかったよ。
やはりファイル処理の方法で悪いところを見付けないとダメみたい…。
皆々様方〜教えてはくださらんか?皆々様方〜♪
0756デフォルトの名無しさん
NGNG0757どなたか教えていただけませんか。
NGNG2つのスレッドにおいて、スレッド1のCreateMutexで取得したハンドルと、
スレッド2で取得したハンドル(スレッド1のCloseHandleを行う前の状態)とでは
違うハンドルが取得されました。
1つのプロセスよりスレッドを複数起動して排他制御を行う場合は
このような使い方をしてはいけないのでしょうか。
どなたか教えてください。
0758デフォルトの名無しさん
NGNG新しいICO形式の解説はどこにあるんでしょうか?
0759デフォルトの名無しさん
NGNG相手が低速のPCだと同期ズレがおこってるみたいなので
送信時に受信バッファーをクリアしたいのですが、
そういうAPIがあったら教えて下さい。
0760デフォルトの名無しさん
NGNGハンドルの値は違って当たり前だ
MSDNのハンドルとオブジェクトの概要を穴が開くまで読め
0761デフォルトの名無しさん
NGNG復帰後に再認識されるだけの話じゃなかったけ?
0762デフォルトの名無しさん
NGNGビットマップが32ビットになってるだけじゃないか?
0763デフォルトの名無しさん
NGNGプログラムサイズを小さくする方法がありますが、
あれって特定の環境で起動しなくなったり起動速度や動作速度が
低下したりする副作用は無いんでしょうか?
教えて下さい。
0764デフォルトの名無しさん
NGNGCALLBACKってつけますよね
これは予約語?型名?記憶クラス???
一体なんですか
0765デフォルトの名無しさん
NGNG0766デフォルトの名無しさん
NGNGプロセスからミューテック巣を生成すればいいじゃん。
そしたらいくつスレッドを作ってもみーてくすはひとつだ。
0767デフォルトの名無しさん
NGNGハハハ イキデキネーヨ
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ハライテ- ゲラゲラ
. ( ^∀^ ) < あほか ∧_∧ 〃´⌒ヽ モウ カンベン
. ( つ ⊂ ) \_______ (^∀^ ,,)、 ( _ ;) シテクダサイ >>766
.) ) ) ○ ∧_∧ ,, へ,, へ⊂), _(∨ ∨ )_ ∧_∧ ○,
(__)_) ⊂ ´⌒つ ^∀^)つ (_(__)_丿 し ̄ ̄し ⊂(^∀^ ⊂ ⌒ヽつ
タッテ ラレネーヨ
ワハハハ
0768デフォルトの名無しさん
NGNGもしかして、ハンドルが変われば別のミューテックスオブジェクトを挿すとか
思ってる?
0769デフォルトの名無しさん
NGNGWinDef.h
#define CALLBACK __stdcall
0770デフォルトの名無しさん
NGNGキャラクタ高とセル高の違いを教えてください
0771デフォルトの名無しさん
NGNG0772デフォルトの名無しさん
NGNGCreateWindowにどういうオプションをつけてやればいいんですか?
0773デフォルトの名無しさん
NGNGWS_THICKFRAMEをはずせ。
最大化もしたくなかったらWS_MAXIMIZEBOXもはずせ。
ていうかMSDN嫁。
0774デフォルトの名無しさん
NGNG子ウインドウは作れますか?
0775デフォルトの名無しさん
NGNG所有されたウィンドウならWS_CHILDを外してhwndParentを
指定すれば作れます。
0776デフォルトの名無しさん
NGNG常に1が入っていて機能してないように見えるんですが、、、
どうなっているのでしょうか?
0777デフォルトの名無しさん
NGNG0778デフォルトの名無しさん
NGNGそれくらい自分で考えろや
0779デフォルトの名無しさん
NGNGif(!(二重起動になるか ?)){
起動する。
}
二重起動を検出する仕組みは自分で考えろ。
0780デフォルトの名無しさん
NGNG0781デフォルトの名無しさん
NGNG0782デフォルトの名無しさん
NGNG本質的には全く変わりない罠
0784デフォルトの名無しさん
NGNGイベント追加の際は、ダイアログのヘッダファイルにごりごりコードを書くことになりますよね。
ですがヘッダに書くのが嫌だとか、あるいはsatic関数を使いたいとかで、
実装部分はcppの方に書きたいことが良くあります。
しかし、WTLが吐き出した、WinMainのあるcpp以外に、
ダイアログの実装部分を書くと、どうやっても何かしらエラーが出てしまって…。
これを回避できている方はいらっしゃいますでしょうか?
たぶんレスは、いただけないだろうなと思いつつ(笑
0785デフォルトの名無しさん
NGNGウィザードのgenerate .cpp Files ONにして、普通にcppに実装書いてるけど。
0786デフォルトの名無しさん
NGNGむはー感動。この板でWTLの質問が通ったのは初めてです!
ちょ、ちょっとお待ち下さい、generate .cpp…むーどこだ…。
ちくしょう、折角のチャンスにオレってやつぁ…。ちょっと探してきます。
というか環境書いて無かった。当方VC6でwtl70です。
.NETだけとかじゃありませんように(;゚人゚)
0787784=786
NGNGttp://homepage1.nifty.com/Roy_/Program/StartWTL.htm
逆にいえばVC6じゃ難しいのかな…。
それが分かっただけでも良かったです。ありがとうございました。
しっかしダイアログひとつのアプリなんて殆どないだろうに…。
もちっとこう使いやすくしてくれれば良かったのになぁ…グチグチ
0788デフォルトの名無しさん
NGNGVC6にもあるって
0789デフォルトの名無しさん
NGNGややや、本当なら冗談抜きで凄い嬉しいのですが(゚∀゚)
ただ、うちのWizardだと…ええと、ちょうどいい絵があるサイトが
ttp://hp.vector.co.jp/authors/VA016589/wtl/appwiz/appwiz.html
ここはたぶんWTL3.0のものですが、うちのWTL7.0でも
この2つ以上のWizardダイアログは、表示されないんです。
長々すいません。できればもう少し詳細など、教えていただけないでしょうか。
0790デフォルトの名無しさん
NGNGウィザードだけWTL3のままだったとかいうオチじゃないの?
0791デフォルトの名無しさん
NGNGめくらって呼んでいいですか?
http://sakots.pekori.jp/imgboard/imgs/img20030310011058.png
0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNGご指摘感謝。
しかし…いやぁ、さすがにそれはないです。
>>791
何を言われようが、これは本当にありがたいです。
むー、しかし、何故うちのではこれが出ないんだ…。
最新のWindows SDKを入れなければなのかな…。
0794デフォルトの名無しさん
NGNG実際ウィンドウ関連の実装はほとんどないし。
0795デフォルトの名無しさん
NGNG0796デフォルトの名無しさん
NGNGバグがあるって聞いたが・・・
0797793
NGNG空いてるPCにVCつっこんで(規約違反ですが)
SP5まで当て、ついでに>795氏の命を受けスクリプト連打しても出ません…。
まさに目の前ににんじん吊られた馬状態_| ̄|○
>>794
確かにコモンコントロール周りさえ使えれば十分ですよね。諦めるかぁ(´Д`)
>>796
あ…言われてみれば!
とにかく今日は良いこと知れて幸せでした。
レス下さった皆さんに感謝、ありがとうございました。
0798デフォルトの名無しさん
NGNG二つ表示される一つ目で設定するんだぞ?
0799デフォルトの名無しさん
NGNG0800デフォルトの名無しさん
NGNG0801デフォルトの名無しさん
NGNG過去のAtlApp60.awxがReadOnlyである
可能性2
793が盲
0802デフォルトの名無しさん
NGNGWTLのクラスにprivate変数を定義しても、
そのクラスの外から直接読み書きできてしまうのは仕様ですか?
ちなみにうちのVC6はGenerate .cpp Filesあります。
0803デフォルトの名無しさん
NGNG0804793
NGNGもしかしたらオレが、全てのコンポーネントをインストールしなかったせいかも…。
元々から何せMFCすら入れてないので…明日試してみます。
>>798 >>801
いやいや、粗忽者の私ですが、さすがにその辺は大丈夫です。
>>799 >>800
それならそれで、やり方気になりますよね。
0805デフォルトの名無しさん
NGNGそれぞれにリストビューを貼り付けているのですが、
この左右のリストビューそれぞれの上部にステータスバーを貼り付けるには
どうすれば良いのでしょうか。
リストビューのメンバにCStatusBarを加えてリストビューのOnCreateで
ParentWindowとしてスプリッタのm_hWndPaneを指定してCreateしてみても
表示されずうまくいきません。
0806デフォルトの名無しさん
NGNG0807デフォルトの名無しさん
NGNGそこにステータスバーとリストビューを乗っける
0808デフォルトの名無しさん
NGNGできました。ありがとうございました。
Viewアーキテクチャって簡単そうに見えてなんか複雑なんですね。
今までBCB使ってたのでいまいち分かりません。
0809808
NGNG下部に作成する事は出来たのですが、
ステータスバー属性にCCS_TOPを追加して上部に作成しようとすると
リストビューのカラムの名前を表示する部分と重なってしまいます。
上部に追加するのは無理でしょうか…
CreateSimpleStatusBar("", WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN |
WS_CLIPSIBLINGS | CCS_TOP);
0810デフォルトの名無しさん
NGNGCToolBarCtrlをインプリメントして、
ChildFrame.m_hWndToolBar = Toolbar;
とすると出来ると思う
0811デフォルトの名無しさん
NGNGChildFrame.m_hWndToolBar = StatusBar;
ね、スマソ。
0813デフォルトの名無しさん
NGNG使っている方がいらっしゃれば訊きたいことがあるのですが。
0814デフォルトの名無しさん
NGNG凄いコードだな・・・
いいのかそんなんで・・・
0815デフォルトの名無しさん
NGNG独自のフレームクラスを定義するしかないな。
0816デフォルトの名無しさん
NGNG0817デフォルトの名無しさん
NGNG作成するには、なんという引数の命令を使えばよいのでしょうか?
0818デフォルトの名無しさん
NGNG貴方はbuttonのradioボックスの事を言ってるの?
それともstaticのグループ(枠)の事を言ってるの?
どちらにしてもネタとしか思えんが・・・
button styles:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/buttons/buttonreference/buttonstyles.asp
static control styles:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/staticcontrols/staticcontrolreference/staticcontrolstyles.asp
window styles:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/WindowStyles.asp
0819デフォルトの名無しさん
NGNG基礎から勉強しましょう。
最初からやりたいことをやろうとガっついても、結局何もできません。
ていうか、どう考えてもネタだよな…。
0820デフォルトの名無しさん
NGNG基礎から勉強しましょう。 ↓
最初からやりたいことをやろうとガっついても、結局何もできません。
ていうか、どう考えてもネタだよな…。
0821デフォルトの名無しさん
NGNGそういうAPIってあるんでしょうか?
0822デフォルトの名無しさん
NGNG0823デフォルトの名無しさん
NGNGMSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _fclose はすでに LIBCD.lib(fclose.obj) で定義されています
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _fopen はすでに LIBCD.lib(fopen.obj) で定義されています
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _free はすでに LIBCD.lib(dbgheap.obj) で定義されています
LINK : warning LNK4098: defaultlib "MSVCRTD" は他のライブラリの使用と競合しています; /NODEFAULTLIB:library を使用してください
LINK : warning LNK4098: defaultlib "LIBC" は他のライブラリの使用と競合しています; /NODEFAULTLIB:library を使用してください
Debug/AD.exe : fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました
こんなのがでました。
ライブラリとそのヘッダをインクルードしているのですが、
そちらの関数を呼び出すと、このエラーがでるようです。
どうすれば解決するでしょうか?
0824デフォルトの名無しさん
NGNG再定義しなければいい。
0825デフォルトの名無しさん
NGNG0826824
NGNG0827823
NGNG0829デフォルトの名無しさん
NGNG0830823
NGNG0831デフォルトの名無しさん
NGNGどこって・・・オプションにそれを加えるんだよ・・・
0832名無し@沢村
NGNGMFCの使用オプションをいろいろ変更してみる
0833デブおた山崎渉
NGNG( ´;^;ё;^;)<これからも僕を殺して下さいね( ´;^;ё;^;)。
=〔~∪ ̄ ̄〕
= ◎――◎ デブおた山崎渉
0834823
NGNG0835デフォルトの名無しさん
NGNG一回だけだよ?いいね?
cl ... /link /NODEFAULTLIB:LIBCD.LIB
0836デフォルトの名無しさん
NGNGライブラリのコンパイルオプションに/Zl
0837デフォルトの名無しさん
NGNGVC++6だったら
プロジェクト(D)→設定(S)...→リンクタブ
の"デフォルトライブラリを全て無視"にチェックを入れる
0838デフォルトの名無しさん
NGNGVC++6にて、Debugモードでは問題なく動いているソースが
Releaseになるとダメになってしまいます。
こういう場合はどういう問題があることが多いのでしょうか。
一応警告レベルは最高にし、直せる所は全て潰しました。、
最適化も一通り変えてみたところ、「実行速度」の時だけかろうじて動き、
後のものは(最適化なしも含めて)全く動かない始末です・・・。
0839デフォルトの名無しさん
NGNG0841823
NGNG(涙
無視にすると、とってもエラーが増えます…。
どうすればいいのでしょう?
ぱにっくです。
0842デフォルトの名無しさん
NGNG詳しくはヘルプにk
0843823
NGNGありがとうございます。
これを設定ではなくソースファイルに書くことはできますか?
#pragma みたいな。
0844デフォルトの名無しさん
NGNG0845823
NGNG0846デフォルトの名無しさん
NGNG同じような経験あるのだが、結論をいうとプログラムにバグがある。
浮動小数点の精度のあたり調べてみたら?
0847デフォルトの名無しさん
NGNG0848デフォルトの名無しさん
NGNGこれでしょうよ。
0849デフォルトの名無しさん
NGNGヘルプの #pragma 見れ
0850デフォルトの名無しさん
NGNGfileOut.Open(trgtname + strConFilePath,
CFile::modeCreate | CFile::modeWrite | CFile::shareExclusive,
NULL);
fileOut.Write(buf, sizeRead);
fileOut.Flush();
fileOut.Close();
というソースがあるのですが、sizeReadはバッファの長さとして、(本当はwhileがあるのですが)
れを、open, wrhite, close で書き換えたいのですが、
if((fp = open(fname, _O_BINARY)) == NULL){
return false;
}
write(fp, buf, sizeRead);
close(fp);
とまでは、かけたのですが何かうまくいきません。
どう書くべきですか?
教えてください。
0851デフォルトの名無しさん
NGNG#pragma comment( linker, "/NODEFAULTLIB:libc.lib" )
0852デフォルトの名無しさん
NGNGWindows Programing for C/C++(Not MFC)
http://pc2.2ch.net/test/read.cgi/tech/1018239290/
■ VisualC++(MFC限定)相談室 MFC7.dll■
http://pc2.2ch.net/test/read.cgi/tech/1047949606/
0853デフォルトの名無しさん
NGNGコンストラクタでこういう初期化していいんですか?
CFoo::CFoo() {
::ZeroMemory(this, sizeof(CFoo));
}
0854デフォルトの名無しさん
NGNGネタですか?
>open(fname, _O_BINARY)
これで書き込みできたら困ります。
0855デフォルトの名無しさん
NGNGで、実際にやってみた
エラーとか出ないなら大丈夫では?
しかし私はそういう風にやったことないな
初期化は
CFoo::CFoo()
: xxx(1)
, yyy("abc")
{ ... }
みたいにしてるから
0856デフォルトの名無しさん
NGNG○で、実際にやってみた?
0857デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1046742687/199-209
0858デフォルトの名無しさん
NGNGWinsockじゃ出来ないみたいなんですが...。
どうすればよいかヒントください。
0859デフォルトの名無しさん
NGNGWinsockで、できますちゃんとグーぐるしましょう
キーワードは”RAW”
0861デフォルトの名無しさん
NGNG0862850
NGNG教えてもらえませんか?
0863デフォルトの名無しさん
NGNG0864850
NGNG0865デフォルトの名無しさん
NGNGありがとさ〜ん。調べてみます。
0866デフォルトの名無しさん
NGNGようするに、既に共有ロックされている状態で排他ロックをすると、排他ロック
とそれに続く共有ロックがブロックされ、共有ロックが解除された時点で排他
ロックのブロックが解除されるような動作です。
NT系だとLockFileExがまさにそのような動作をしてくれますが、9x系で実現する
にはどうしたらよいのでしょうか?
ロックの対象はファイルでなくても構いません。
(イベントとセマフォの組み合わせで出来る??)
0867デフォルトの名無しさん
NGNG0868デフォルトの名無しさん
NGNGそのファイルをロックすることが重要でないのならミューテックスを使った方がいいよ。
0869デフォルトの名無しさん
NGNGそういう意味ではMutexのほうがより忠実なシミュレートになりそう
0870866
NGNG共有ロックはMutexを取得するとして、排他ロックをどうするか…
Eventを使おうと思ったけれども、ResetEventとWaitForSingleObject
を同時に行うことが出来ないので、タイミングによっては問題が発生
しますし。
Semaphoreを使えばWaitとResetが同時に出来ますが、Waitだけを行って
カウンタを減らさずにWaitができないから、共有ロック側をブロック
することが出来ません。
0871デフォルトの名無しさん
NGNGInitializeCriticalSectionはどう?
詳しくは
http://www.kumei.ne.jp/c_lang/
87章あたりから参考になるかもぽ
0872866
NGNG0873デフォルトの名無しさん
NGNGSDKでプログラミングをしていて、実行ファイル自身のパスを取得するにはどうすればよいでしょうか?
0874デフォルトの名無しさん
NGNGGetModuleFileName
0875デフォルトの名無しさん
NGNG共有ロックは普通のファイルロック、排他ロックはミューテックスというのはどうだ?
0876デフォルトの名無しさん
NGNGGetModuleFileNameEx
0877デフォルトの名無しさん
NGNGつーか複数プロセスが同時にアクセスするようなモデル?
面倒だからファイルのリネーミングを使っちまえば?
ファイルがリネームできないときは誰かがロックを取ってるってやつで。
もしくはファイル名でハッシュ値を出して、そのハッシュ値でロックディレクトリを作成。
作成に失敗したらロック獲得失敗。
まあどれも古典的な方法だけど、Mutexとかを使わないんだったらこれぐらいしかないんじゃない?
いってしまえば、別にきちんと規約を決めればMutexでも排他ロックはできるけど。
0878デフォルトの名無しさん
NGNG/** 練習プログラム **/
/************************************************/
/* このプログラムは、1以外の文字に対して、全て「はずれ」
/* と表示するプログラムです。
#include<stdio.h>
int main()
{
char keroman[723] ; /*入力文字を保存するための変数*/
printf("1,2,3から、好きな数字を入力してEnterを押してください\n") ;
printf("1\n 2\n 3\n") ;
gets(keroman) ;
if(keroman[0]=="1"){
printf("%sは正解\n",keroman) ;
}
else{
printf("はずれ!\n") ;
}
}
コンパイルができません。
11行目で「warning: illegal pointer combination(==)」という
バグがでてしまいます。。
大変申し訳ありませんが、
10分考えても解決できないので誰か教えていただけないでしょうか?
0879デフォルトの名無しさん
NGNG5行目のコメントの終了位置を間違えてました。
「/* と表示するプログラムです。」ではなくて
「 と表示するプログラムです。*/」でした。
ごめんなさい。
0880デフォルトの名無しさん
NGNGif(keroman[0]=="1")が
char型とcharのポインタ型の比較だからじゃないの?
'1'でやれば?
0881デフォルトの名無しさん
NGNG0882デフォルトの名無しさん
NGNGっていうか3時間ぐらい考えろ。馬鹿。
0883デフォルトの名無しさん
NGNG分かった。3時間ぐらい考えます。
すぐ聞くなんて、バカだなぁ。俺。あははは。
0884デフォルトの名無しさん
NGNGありがとうございます。
おかげでちゃんと動きました。
0885デフォルトの名無しさん
NGNGこれはしごく基本的な内容だから
きちんと参考書読みましょう
たしか初心者向けのCかC++スレあるから
今後はそちらで聞くのを薦める
0886870
NGNGWin9x環境下でのflockの完全な実装がとりあえずの目標です。
そのためのロックメカニズムを考えているところです。
Mutex等は使わないわけではなくて、どんな状況でも確実に動作するものを
考えていて、なおかつパフォーマンスも重視しています。
結論から言うと、ミューテックスとイベントとセマフォを使って完璧と思わ
れるロック機構はできました。(まだ動作テストはしていませんが)
しかし、共有ロックと排他ロックでアンロックの手順が変わってしまうので
flockの実装が少し面倒です。
0887デフォルトの名無しさん
NGNG0888デフォルトの名無しさん
NGNG0889870
NGNG0890デフォルトの名無しさん
NGNGShellExecuteExとWaitForSingleObjectで、起動した別プロセスの監視を行おうとしています。
起動するファイルを"C:\test.html"などとした場合は正常に動作するのですが、
"http://XXX.com/test.html"などネットワーク上のファイルにした場合
IEが起動した直後に処理が返ってきて上手くいきません。
理由と、解決策があれば教えてください。
ちなみに、WaitForSingleObjectの返り値は WAIT_FAILED で
GetLastErrorとFormatMessageの結果は「この操作を正しく終了しました」でした。
参考)
ttp://yokohama.cool.ne.jp/chokuto/urawaza/api/ShellExecuteEx.html
ttp://yokohama.cool.ne.jp/chokuto/urawaza/api/WaitForSingleObject.html
0891デフォルトの名無しさん
NGNG想像で答えるが、たぶんShellExecuteEx等にURLを渡すと、cmd.exeか何かが
実行されてそこからIEが起動されるんだと思う。
IEを起動した時点でcmd.exeは終了してしまうから、そこでWaitForSingleObject
から帰ってくるのではないかと。
0892890
NGNG(どう確認しよう…
そしてその場合、プロセスハンドルを取る方法って
プロセスの名前から調べる位しかなかったような…)
0893デフォルトの名無しさん
NGNGDDEですでに起動しているプロセスにに文字列をを
渡すだけの場合もある。
0894デフォルトの名無しさん
NGNG0895デフォルトの名無しさん
NGNGウィンドウハンドルから、すでにウィンドウが破棄されているかどうかを調べたいのですが、
どのようにしたら良いでしょうか?
API 等があるのでしょうか?
0896デフォルトの名無しさん
NGNGお願いします。
0897デフォルトの名無しさん
NGNG0898デフォルトの名無しさん
NGNGhttp://www.microsoft.com/JAPAN/developer/library/jpuipf/_win32_iswindow.htm
0899デフォルトの名無しさん
NGNG0900デフォルトの名無しさん
NGNG猫プロ
0901デフォルトの名無しさん
NGNGおそらく>>896はそれが !簡単 な方法だと思ってるんじゃないかな
0903デフォルトの名無しさん
NGNG0904デフォルトの名無しさん
NGNGいや、902は905の間違いだと思われ
0905デフォルトの名無しさん
NGNG0906デフォルトの名無しさん
NGNG0907896 -> 895
NGNG混乱させてすんまそ。
0908デフォルトの名無しさん
NGNGIsWindowかな。
0909デフォルトの名無しさん
NGNGドライバなどの更新で使用中のファイルを置き換えることがあると思いますが
あれはどのように実現しているのでしょうか?
Windowsに「再起動時にこのファイルを置き換えといて」バッチみたいな機能
があるのでしょうか。
それとも元ファイルを使用中のままRenameし、新ファイルを元の名前で新たに
作成して、次に読むときに入れ替わるのでしょうか。しかし、この方法だと
Renameした古いファイルを誰かが消す必要がありそうです。
それともドライバやサービスは実行中でもファイルを置き換えられるの
でしょうか。
0910909
NGNG>>877を参考にすると、実行中に自分自身をロックすればいいのですかね。
0911890
NGNG結局、CreateProcessとWaitForSingleObjectで監視することにしました。
この場合、実行するプログラムの場所を指定する必要があるので
レジストリに新しく値を作ることになりましたが…
0912デフォルトの名無しさん
NGNG> Windowsに「再起動時にこのファイルを置き換えといて」バッチみたいな機能
> があるのでしょうか。
NT系だとMoveFileExがあるな
> それとも元ファイルを使用中のままRenameし、新ファイルを元の名前で新たに
使用中のファイルってリネーム出来たっけ?
0913デフォルトの名無しさん
NGNGんじゃなかったか?
0914デフォルトの名無しさん
NGNG関連付け情報からパス引っ張ってくれば?
>>912
> 使用中のファイルってリネーム出来たっけ?
NT系だとできるっぽい。
0915デフォルトの名無しさん
NGNGどうやって作るんですか? IEの機能かな
0916デフォルトの名無しさん
NGNGツールチップ?
0917915
NGNGいえ、デスクトップの右下に、下から伸び上がるように出てくるウィンドウです。
名前が分からなくて検索とかで調べられないんです。
たとえば、
MSN MessengerのHotmail到着通知
Norton AntiVirusのDATファイル更新完了通知
McAfee Personal Firewallの攻撃検知通知
のときのウィンドウのことなんです。
0918デフォルトの名無しさん
NGNGだからツールチップ。
0919デフォルトの名無しさん
NGNGhttp://codeguru.earthweb.com/statusbar/StatusBarMsgWnd.html
http://codeguru.earthweb.com/statusbar/trayballoon.html
http://codeguru.earthweb.com/dialog/TaskbarNotifier.html
0920915
NGNG>>916,918
ああああ、すみません。
ツールチップときいて他のものだと決め付けてしまっていました。
>>919
ソース付でスキンも使用可能とは!
さっそく使わせていただきます。
0921デフォルトの名無しさん
NGNGメニューが(時として)2段になってしまうような場合に、クライアントのサイズから
ウィンドウのサイズを計算するにはどうすればよいのでしょうか。
0922デフォルトの名無しさん
NGNG0923デフォルトの名無しさん
NGNG要求クライアントサイズに合わない分、ウインドウサイズを調整しる。
足りないなら増やせば良いし、多ければ減らせば良い。
GetClientSizeとGetWindowSizeとSetWindowPos使えば簡単に
出来るよん。
0924デフォルトの名無しさん
NGNG早速のレスありがとうございます。 おかげで多段メニューにも対応できました。
そりゃそうだ、実際にウィンドウを作成してみれば誤差が計算できるんですよね。
何もかも作成前に準備しようとしていたので考えもつきませんでした。
嗚呼、悔しい恥ずかしい。
それにしても AdjustWindowRectEx() が存在する意味っていったい……
0925デフォルトの名無しさん
NGNG閉じる(CloseHandle)必要がありますか?
0926925
NGNGどうしてHRGNへのポインタではないのでしょう?
GetWindowRgn(hwnd, &hrgn)ではなくて、
GetWindowRgn(hwnd, hrgn)とすることで
リージョン(のハンドル)が得られるのでしょうか?
0927デフォルトの名無しさん
NGNGGetWindowRgnはリージョン自体を得るわけではなくリージョンの内容のコピーを取得する
次からは自分で検索ぐらいはしような
http://www.microsoft.com/JAPAN/developer/library/jpgdipf/_win32_getwindowrgn.htm
0928sage
NGNGを統一的に扱いたくて作ったセレクタ
template< typename CharType > struct function_selector;
template<> struct function_selector< char >
{
template< typename FuncA, typename FuncW >
static inline FuncA select( FuncA fn, FuncW ){ return fn; }
};
template<> struct function_selector< wchar_t >
{
template< typename FuncA, typename FuncW >
static inline FuncW select( FuncA, FuncW fn ) { return fn; }
};
使うときは、
template< typename CharType >
inline void alert( const CharType* msg, const CharType* cap )
{
function_selector<CharType>::select( MessageBoxA, MessageBoxW )
( GetActiveWindow(), msg, cap, MB_OK|MB_ICONWARNING );
}
とやると。Generic programming のお供にどう?
0929デフォルトの名無しさん
NGNG0930デフォルトの名無しさん
NGNG0932デフォルトの名無しさん
NGNGたとえば、自作ライブラリで、ワイド文字メインだけど、
charしかサポートしていないライブラリを併用したいときとか。
双方をサポートするようにしないといけない関数がたくさんあって、
いちいちオーバーロードするのが面倒なときとか。
try{ ... }
catch( wchar_error& e ){ alert( e.what(), L"WideError!" ); }
catch( tchar_error& e ){ alert( e.what(), _T("TchError!") ); }
catch( std::exception& e ){ alert( e.what(), typeid(e).name() ); }
例としてはよくないけど…
0933デフォルトの名無しさん
NGNG0934デフォルトの名無しさん
NGNG0935デフォルトの名無しさん
NGNGFltkとかのGUIライブラリの話題って
最近めっきり減ったな
0936デフォルトの名無しさん
NGNG0937テンプレ
NGNGWindowsプログラムを作るにあたって、
API以外の疑問や質問をぶつける為に作りました。
自分もMSの摩訶不思議な規則や仕様(バグ)等に悩まされてます。
質問や疑問以外にも、プログラミングしていて気付いた事や発見等も
書き込んでくれると有難いです。
関連スレ
http://pc2.2ch.net/test/read.cgi/tech/1047819779/ Win32API 質問箱 Build10
過去スレ
http://pc2.2ch.net/test/read.cgi/tech/1018239290/ Windows Programing for C/C++(Not MFC)
0938デフォルトの名無しさん
NGNG0939デフォルトの名無しさん
NGNGIMFのウィンドウが最前表示でじゃまです。
どうすれば後ろに隠せますか?
0940デフォルトの名無しさん
NGNG0941939
NGNG間違えました。
IMEです。
0942デフォルトの名無しさん
NGNG0943939
NGNGプロセスってなに? そこは勉強しときます。
そしたらそのプロセスの場所がわかれば
隠すことも可能なのですか?
0944デフォルトの名無しさん
NGNGttp://www.pointing.com/
で、Wintab の SDK (WTKIT126.zip) を落としてきて、それを使え。
使い方とかは、Wintab でググれば、なにかしらの情報は手に入る
0945デフォルトの名無しさん
NGNG文字が流れてくやつ。
もちろん嘘っぱちの
0946デフォルトの名無しさん
NGNGあのダイアログを出したいのか、あのアニメgifファイルがほしいのか、どっちだ!?
0947デフォルトの名無しさん
NGNGDialogWindowを表示したいのですが
いい方法しりませんか?
1000になる前になんとかならないでしょうか?
0948デフォルトの名無しさん
NGNGDirectX
Dialog box
でした。
0949デフォルトの名無しさん
NGNGDX8以外ならできる。
DX9ならSetDialogBoxModeを使う。
0950デフォルトの名無しさん
NGNGWin32API 質問箱 Build10
http://pc2.2ch.net/test/read.cgi/tech/1047819779/l50
0951947
NGNGDirectx5使ってました。
SDK新しいのいれます。
散々さわいどいてすみません。
明日までにまとまらないと
チームリーダーに殺されるので、
0952デフォルトの名無しさん
NGNGでも、マルチだから教えない。
0953デフォルトの名無しさん
NGNG殺されりゃいいのに
0954デフォルトの名無しさん
NGNG探せばもっと出てくる?
0955デフォルトの名無しさん
NGNG0956デフォルトの名無しさん
NGNGしかし、MSDNライブラリを見てもMFCやVBしか検索できませんでした。
Win32SDKで作成できる関数などは用意されているのでしょうか?
もしありましたら名前を教えてください。
あとは自分でやります。よろしくおねがいします。
0957デフォルトの名無しさん
NGNGBOOL EmptyClipboard(VOID);
など
0958デフォルトの名無しさん
NGNGビンゴ!ありがとうございました。
それにしてもMSDNの検索は使いにくい・・・
VBはもういらないんですけどね・・・
0959デフォルトの名無しさん
NGNG俺の記憶ではできない気がするのだが、、
0960デフォルトの名無しさん
NGNG実際に試したことはないが可能だったと思う
Dialog表示中はフリッピングできないようだが
0961デフォルトの名無しさん
NGNGあぁそれでならできるか。
0962デフォルトの名無しさん
NGNGここの正しいタイトルは C/C++ for Windows Programming ではないのか?
とりあえず統合するしかないだろう。
Win32API 質問箱 Build10
http://pc2.2ch.net/test/read.cgi/tech/1047819779/
0964デフォルトの名無しさん
NGNGそうだね。>>1-2見れば単発質問重複スレだと言っても過言じゃない。
0965デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNGATLスレでやってる
0967デフォルトの名無しさん
NGNGこのスレに恨みでもあんの?
sage進行なのによくチェックしてるよね(w
0968デフォルトの名無しさん
NGNG自作自演だろ?
0969デフォルトの名無しさん
NGNG似たスレチェックするのめんどうだから統合して欲しいわけだが。
0970デフォルトの名無しさん
NGNG0971デフォルトの名無しさん
NGNG0972デフォルトの名無しさん
NGNG0973>>972 マジ!
NGNG,,、,、,,, / \〇ノゝ∩ < ネェー、1000取り合戦してくださ〜い ,,、,、,,,
/三√ToT) / \____________ ,,、,、,,,
/三/| ゚U゚|\ ,,、,、,,, ,,、,、,,,
,,、,、,,, U (:::::::::::) ,,、,、,,, タリー タリー
//三/|三|\ (\_/) めんどくせー タリー
∪ ∪ ( ´Д) タリー 勝手にやれよ
,,、,、,,, ,,、,、,,, / つ(\_/) (\_/)ノ⌒ヽ、
,,、,、,,, (_(__つ⊂(´Д`⊂⌒`つ(´Д` )_人__)
09741
NGNG英語が間違ってたとか単発質問スレだとか重複スレだとか
言われてますが、自分の言いたかった事がうまく伝わら
なかったようで、申し訳ないです。
>>40で言っているように1のコテハンはそこで止めているので
単発の質問では無かったのですが(その後にも色々、質問&
解答してるし)
やっぱり、不要ですかね。このスレ。単純にみんなWindows
Programでウィンドウ管理やビットマップ・サウンド処理等
どういう感じで扱ってるのかノウハウを共有しようと思ったの
ですが、失敗でしたかね。
APIの質問とかでは無く、「使いこなし方」みたいなのを語ろう
としていたのですが…。最近ではHBITMAP構造体は、Windows
のDDB管理だけじゃなくて、自前のオリジナルBitmap構造体
としても使えるなー。とか・・・まぁ、どうでも良い事ですけど(^^;
まぁ、そんな感じで、そろそろ1000が近づいてきましたね。
長々と付き合ってもらって、ありがとうでした。
0975デフォルトの名無しさん
NGNGでも>>956-957みたいな質疑応答が平然とされてるからねえ
事実として使い分けができてないと思うわけよ
応用的な話題でもAPIスレでやっていいと思うし
0976デフォルトの名無しさん
NGNG漏れは、結構このスレ気に入ってたんだけどね。
WIN32API質問箱の方は、なんか親切じゃないってゆうか・・・
言葉のあげあし取りみたいなのが嫌だったんだけど
もしかしたら、このスレを否定してる人って、WIN32APIスレの
人達なのかもね。
別に、まったり進行でWIN32APIとかぶらない程度にPart2に
行っても良いと思うんだけどなぁ。
0977デフォルトの名無しさん
NGNGそらかぶらないならけっこう。完全に別スレとしてチェックする。
でも今のところかぶった話題満載で同じスレをまたがってチェックしてる感覚。
つーかスレの雰囲気が嫌だからって理由で別スレ立てるのは反対。
Windowsプログラミングについてのノウハウ・使いこなし方等を共有するのはいいけど、
言語やフレームワークに依存する以上、各スレでやった方が参加者も多いし
言語・技術を元にした具体的な話ができるので、結果的にはその方が共有財産に
なると思うのだけど。
0978デフォルトの名無しさん
NGNG>言語やフレームワークに依存する以上、各スレでやった方が参加者も多いし
このスレ
言語=C/C++
フレームワーク=WindowsでC/C++扱えるフレームワーク(MFCは除く)
議題=C/C++でのWindowsProgramに関するノウハウ
WIN32API
言語=C/C++/VB/Delphi等WIN32APIが扱える言語
フレームワーク=WIN32APIが扱えるフレームワーク
議題=Win32APIについての質問
だから、別スレにするんじゃないの?
そもそも、>>1でそういう定義してるのに、それを無視して書き込むやつらを
例にして、「…だから、このスレいらない」は違うのでは?
0979デフォルトの名無しさん
NGNG>各スレでやった方が参加者も多いし〜
MFCスレを除くWindows系C/C++スレで十分だろという話
0980デフォルトの名無しさん
NGNGとりあえず、このスレの1~900あたりまでで、
「APIスレで扱うのに不適当で、このスレでよかった」
ってレスをいくらか挙げてもらえんか。
0981デフォルトの名無しさん
NGNG(たしかに〜なAPIありませんか?という質問もあるが)、APIを使ったWindowsプログラミング
に関するスレという認識だ。
>>1自身が書いた>>2なんかはAPIを使ったWindowsプログラミングの話そのまんまだと思うんだがどうか。
そもそも言語・開発環境スレは、もちろん言語・開発環境自体についての質問もあるが
それらの言語・開発環境を使ったプログラミングに関する話題も扱っている。
このスレにはC++でCOMなレスもあるが、それならCOMスレがあるし、WTLならATLスレがあるし、
VC以外のC/C++ならC++Builderスレもその他コンパイラスレもあるし、
MFC以外のクラスライブラリならそれ用のスレもあるし。
0982デフォルトの名無しさん
NGNGいっそ「Windowsプログラミング雑談スレ」とかだったらわかりやすかった。
まぁ雑談はマ板逝けってことになるんだが。
0983デフォルトの名無しさん
NGNG>1がノウハウ共有の為にスレッドを立てたのであれば、
疑問・質問はスレ違いとなるべきであった。
しかし>1は疑問・質問のスレッドであると明言している。
これは明らかに>1の不備であり、
推測するに、>1は自分が質問したい事があったが、単発質問スレではないように装っただけ。
質問・疑問を受け入れる事をやめ、適宜誘導をしてこなければならなかったのだ。
そしてノウハウを提供したり、議論したりするためのスレッドへ変化せねばならなかったはずだ。
さらに、その場合は>1が率先して話題を提供する事が望ましい。
我々このスレッドの多くの住人達は、スレ違いの質問に親切に答えた。
だがしかし、それらの行為は否定された。
>1の不備とはいえ、質問・疑問を受け入れるスレッドであるにもかかわらず。
はたして>978はこのスレッドの為に一体何をしてきたの言うのだろうか。
さて、このスレッドに次スレが立つとすれば、
・ MFC ATL WTL などを使わずに C/C++ で Windows アプリケーションを作るためのノウハウとその議論
・ Windows API の不可解な仕様・動作・規則・不具合の報告とその議論
・ C/C++ による Windows Programming のパターン、イディオム等
などといった題材を持ち出すしかない。
なお、スレタイは Windows Programing for C/C++(Not MFC) では恥ずかしすぎるので変えた方が良い。
0984983
NGNG質問スレと議論スレに分けろと言う事だ。
0985デフォルトの名無しさん
NGNG質問箱だからって質問しか受け付けないわけじゃなかろうに。
0986デフォルトの名無しさん
NGNGココ、初めて見たけど、他のスレと「かぶってる」・「かぶってない」は
人それぞれで意見が違うみたいだね。
ある人は「XXXについて語り合おうや」と言えば、ある人は「それは
ZZZスレでどうぞ」みたいな…。
でも、当然ほとんどの人は、ム板のスレ一覧は見てる訳だから、
なんらかしらの理由で、他のスレじゃ趣旨が違うと思ったんだろう。
とりあえず、そういう人が少しでもいる以上、このようなスレがある事は
意義があるのでは?
とりあえず、「このスレいらない派」は消えてもらって、「次スレの
趣旨と方向性」について語らんか?「いる」「いらない」は、それこそ
無意味な話題だと思うので。
0987983
NGNGこれで
0988デフォルトの名無しさん
NGNGここみたいにスレ違いなレスで埋まってるのに
「1000レス埋まったのでこのスレはやっぱり需要があった!」
みたいな勘違いしちゃうから。
0989983
NGNGさて、俺の書き込みを呼んだかどうかが怪しいところだ。
0990デフォルトの名無しさん
NGNG「Windowsプログラミングに関する議論スレ(質問お断り)」
0991デフォルトの名無しさん
NGNG0992983
NGNG0993デフォルトの名無しさん
NGNG「C/C++でのWindowsProgramに関するノウハウ」で良いんじゃない?
テンプレ-----------------------------------------------------------------
C/C++でのWindowsProgramに関するノウハウ
Windowsプログラムを作るにあたってのノウハウや
API の不可解な仕様・動作・規則・不具合の報告や議論、
回避方法等を語りあいましょう。
MFC ATL WTL 等は、それ専用スレがあるので、そちらでお願いします。
あと、APIに関する質問は「Win32API 質問箱」へどうぞ。
関連スレ
http://pc2.2ch.net/test/read.cgi/tech/1047819779/ Win32API 質問箱 Build10
過去スレ
http://pc2.2ch.net/test/read.cgi/tech/1018239290/ Windows Programing for C/C++(Not MFC)
0994デフォルトの名無しさん
NGNGそのスレタイは危ない。API質問が来る予感。
正直、スレを立てるときは>>1は読まれないと思ったほうがいい。
0995デフォルトの名無しさん
NGNGで>>993のテンプレでどうだ。
0996テンプレ
NGNGWindowsプログラムを作るにあたってのノウハウや
API の不可解な仕様・動作・規則・不具合の報告や議論、
回避方法等を語りあいましょう。
MFC ATL WTL 等は、それ専用スレがあるので、そちらでお願いします。
あと、APIに関する質問は「Win32API 質問箱」へどうぞ。
関連スレ
http://pc2.2ch.net/test/read.cgi/tech/1047819779/ Win32API 質問箱 Build10
過去スレ
http://pc2.2ch.net/test/read.cgi/tech/1018239290/ Windows Programing for C/C++(Not MFC)
------------------------------
とりあえず、VBとかDelphiは、それ用があるし、このスレもC/C++だったから
「C/C++」を付けてみた。(Ruby厨対策(w)
0997デフォルトの名無しさん
NGNGそれで良いんじゃない?1000取った奴がスレ立ててね。
0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG10001
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。